Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/AcKeskin/contextureWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/ackeskin/contexture/godot)<a href="https://agentmods.dev/rules/ackeskin/contexture/godot"><img src="https://agentmods.dev/badge/rules/ackeskin/contexture/godot/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/ackeskin/contexture/godot"><img src="https://agentmods.dev/badge/rules/ackeskin/contexture/godot.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01770 |
| Opus 5.5 | $0.00000 | $0.00708 |
| Sonnet 5.5 | $0.00000 | $0.00354 |
| Haiku 4.5 | $0.00000 | $0.00177 |
Grade A, and why
godot scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generated from
architectural-rules/godot/— do not hand-edit.
C# in Godot
Expose inspector-editable fields with [Export] on a C# property/field, the binding equivalent of GDScript's @export. Plain C# fields are invisible to the editor. (Godot docs — C# basics)
Declare signals as [Signal] public delegate void NameEventHandler(...). The generated event is the typed, editor-visible signal; ad-hoc C# events are not Godot signals. (Godot docs — C# basics)
Every C#↔engine call crosses a marshalling boundary with real per-call cost. Do not make many small cross-language calls per frame — batch work and cache values on the C# side. (Godot docs — C# API differences)
A GodotObject (Node, Resource) has engine-owned native lifetime that is independent of the C# GC. Free engine objects explicitly (QueueFree/Free); never assume the GC reclaims them, and never touch a C# wrapper after the native object is freed. (Godot docs — C# API differences)
Connect signals in C# with a Callable (e.g. Connect(SignalName.X, Callable.From(handler))), not a raw string method name. Callable-based connection is type-checked and refactor-safe. (Godot docs — C# basics)
Cross-reference: the universal C# rules under csharp/ still apply — these add only the Godot-binding specifics on top of them.
Why: The C# binding sits over a native engine: the marshalling boundary and the GodotObject/GC lifetime split are the two seams where idiomatic C# assumptions break. Treating engine objects as GC-managed, or chattering across the boundary each frame, produces both correctness bugs (use-after-free) and frame-time regressions. Source: Godot docs — C# basics / C# API differences.
Editor plugins
A socket/server polled inside a Node's _process() runs on the editor MAIN thread (Thread.is_main_thread() is true). EditorInterface calls from there need NO call_deferred or cross-thread marshalling. Poll editor-facing work on _process to stay main-thread-safe by construction.
Do NOT await RenderingServer.frame_post_draw to force a frame before capturing an EDITOR viewport — that signal does not fire predictably for the editor's own viewports and the coroutine hangs. Read viewport.get_texture().get_image() directly; editor viewports render continuously, so the latest frame is already available.
Set WebSocketPeer.inbound_buffer_size and outbound_buffer_size large (e.g. 16 MB) BEFORE calling accept_stream(). The default (~64 KB) is too small for large payloads (e.g. base64 viewport PNGs); a big send fails with ERR_OUT_OF_MEMORY. Buffer sizing after accept_stream is too late.
Validate editor-plugin tools that render or push large payloads in a WINDOWED editor, not --headless. Headless has no render surface (cannot verify viewport capture) and masks WebSocket buffer limits (there is no large payload to send). Headless is fine ONLY for parse-checks, registry writes, and socket round-trips.
Keep any plugin backup/old copy OUTSIDE res://. An in-tree backup collides class_name with the live copy ("Class X hides a global script class") and breaks the entire plugin load; it also pollutes .godot/global_script_class_cache.cfg and uid_cache.bin, which survive restart. If already hit, move the backup out and clear those caches.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 58 lines · 1,770 tokens per session scan A f72e7a0f2351
godot is a cursor rule published in the GitHub repository AcKeskin/contexture (2 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,770 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-27.
Other cursor rules, from other repositories
csharp-coding-standards
Defines the C# coding standards, patterns, and conventions to be applied consistently across all C# projects. Rules cover naming, structure, async patterns, null handling, dependency injection, logging, result patterns, and formatting. Apply these rules uniformly in all production code.
unity-core
// ✅ DO: PascalCase public class PlayerController : MonoBehaviour { }.
csharp-unity-conventions
C# coding conventions for Unity development.
naming-conventions
Naming conventions for Unity C# code.
cfx-csharp-conventions
Coding conventions for C# scripts in FiveM and RedM resources.
unity-game-developer-intelligent
Expert Unity game developer specializing in C# scripting, 3D graphics, mobile optimization, and complete game development workflows. Apply this rule when working on Unity projects, implementing Unity C# scripts, designing component-based architecture, optimizing Unity performance, building Unity UI systems…