بنقرة واحدة
funpack
يحتوي funpack على 10 من skills المجمعة من mjmorales، مع تغطية مهنية على مستوى المستودع وصفحات skill داخل الموقع.
Skills في هذا المستودع
Prune comments to near-zero and rewrite the code to be hyperdescriptive instead — names, types, and tests carry the intent so comments stop poisoning agents. Use to strip comments from a file or directory, drive a tree under the `eir comments` budget, run the comment-removal sweep, or make over-commented host/engine code self-documenting. Triggers on "prune comments", "strip comments", "remove the comments", "make this hyperdescriptive", "comment sweep", "near-zero comments", "decomment", "reduce comments", "sweep this dir for comments".
The funpack runtime model — things, behaviors, signals, commands, and pipelines. Use when designing or reasoning about how a funpack game is structured and scheduled — what a behavior's parameters/return mean, how things communicate via signals, effect closure, the pipeline schedule and tick fold, the slot contracts (Update/Render/Ui/Audio/Startup), and why behaviors are unit-testable. Triggers on "behavior", "signal", "pipeline", "thing", "tick", "spawn/despawn", "effect closure", "render/audio/ui stage", "how does a funpack game work". Also matches gameplay goals phrased without funpack nouns — "how do I make the player move", "the enemy should chase the player", "make the score go up when the player scores", "how do my objects react to each other", "what runs each frame and in what order".
How to lay out and configure a funpack game project — the enforced directory tree, the `.fcfg` config layer (project/entrypoints/builds/tags), directory-derived modules, the schema/seam/behavior module split, derived capabilities, and packages/dependencies. Use when scaffolding a new project, fixing a project-structure error, wiring an entrypoint, registering a @gtag, or adding a dependency. Triggers on "funpack project", "funpack_configs", ".fcfg", "entrypoints", "tags.fcfg", "builds.fcfg", "project layout/structure", "funpack module", "funpack package/dependency", "scaffold a funpack game". Also matches setup goals phrased without funpack terms — "how do I start a new game", "where does this file go", "how do I add a sprite or level or asset", "my game won't build because of its structure", "how do I add a dependency".
Operate the funpack binary on a machine — install, update, roll back, pin, scan, and report status of the funpack toolchain on disk. Use when the user wants to install funpack, update/upgrade to the latest release, check which funpack version is installed or on PATH, pin or switch to a specific version, roll back a bad upgrade, or audit every funpack binary on the machine. Triggers on "install funpack", "update funpack", "upgrade funpack", "what funpack version", "funpack binary status", "scan funpack installs", "pin funpack to <version>", "roll back funpack", "funpack on PATH", "manage the funpack binary". Not for authoring funpack programs, engine/runtime code, or project scaffolding — those are funpack-project / funpack-engine-api / funpack-language.
The funpack determinism contract, fixed-point numerics, the compiler's structural quality gates, @stub/@todo typed holes, and which funpack-mcp tool drives each compile/test/index-query op. Use to understand why a build fails (a gate), how to stay deterministic, how Fixed-point math behaves, how to develop incrementally with typed holes, and which MCP tool to call to compile, test, or query the index. Triggers on "fixed-point", "Fixed/Q32.32", "determinism", "why won't it compile", "quality gate", "effect closure", "exhaustive match", "@stub", "@todo", "--release", "build the project", "run the tests", "compile to check", "query the index".
The funpack `engine.*` standard library — the API surface a game calls. Use when you need a function or type signature — vectors & fixed-point math, the world (View/Spawn/Ref), device-agnostic input, 2D/3D draw commands, audio, UI widgets, navigation, list/map/grid/string/rand, and the model/anim/render3 trio. Triggers on "engine.math", "engine.world", "engine.input", "engine.render", "what function does/returns", "how do I clamp/fold/draw/spawn", "Vec2", "View[T]", "Draw::", "Bindings", "Input.value/axis", "funpack stdlib/API". Also matches capability goals phrased without an API name — "how do I draw a sprite", "how do I read the keyboard or gamepad", "how do I play a sound", "distance between two points", "pick a random number", "clamp a value".
Write and understand funpack `.fun` source — the language's syntax and semantics. Use when authoring, reading, editing, or explaining funpack code — declarations (thing/behavior/signal/pipeline/fn/enum/data/let/test), types, match, the `with` update, lambdas, string interpolation, the @doc/@gtag/@stub/@todo directives, and modules/imports. Triggers on ".fun", "funpack syntax", "write a funpack ...", "how do I declare", "funpack behavior/thing/signal/pipeline", "funpack match/enum/data". Also matches intent-phrased asks that name no funpack term — "how do I write this in funpack", "why won't this compile", "how do I loop over a list", "how do I update one field", "translate this code to funpack".
Triage and resolve the funpack friction log. Use to process ./friction — the dogfood findings (bugs, crashes, missing features, DX-friction) captured while building games. Reconciles each report into the scrum store (find-or-create a tracked task, route it to the owning team) and then drives the durable root-cause fix to done. Triggers on "process the friction", "triage friction", "work the friction log", "fix the friction reports", "reconcile friction with scrum", "bubble up the friction", "friction skill", "go through ./friction".
Add content to a funpack game through the bake pipelines — sprites & atlases, levels (.flvl), tilemaps (.tiles + ASCII grids), rigged 3D models (.fpm), UI screens (.fui), and audio. Use when adding art, a level, a tile map, a character model, a menu/HUD, or sound to a game. Covers the authoring source formats, the generated gen/*.gen.fun seams, the typed handles/Refs, and the bake gates. Triggers on "add a sprite/atlas", "Draw::Sprite", ".flvl/level", ".tiles/tilemap", ".fpm/model/rig", ".fui/UI/HUD/menu", "funpack audio/sound/music", "asset manifest", "gen seam".
Trunk-based development discipline for funpack. Use before any branch create/merge, commit to main, or release tag; for risky/multi-day work (refactor, subsystem swap, Index Contract reshape); and whenever GitFlow, develop/release/hotfix branches, code freezes, unmerges, cherry-picks, or long-lived branches arise. Hybrid TBD, release-from-trunk fix-forward, stop-and-confirm tripwires.