360 Secure SkillHub
360 安全技能中心

bevy-rea

读取 GDAS-reader 证据账本,生成 Bevy 0.20 项目骨架:Cargo.toml、main.rs、每个条目的插件桩与 COVERAGE.md。插件系统为空,不反编译,资产仅在允许且许可证明确时复制。

thedivergentai
热度 0.00
最近更新 2026-10-19 07:27:10
分类:开发依赖:代码执行 / 读写文件应用场景:代码生成 / 模板 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add thedivergentai/game-dev-agentic-skills/bevy-rea
Metadata
name
bevy-rea
description
Emit a Bevy 0.20 crate from a GDAS-reader evidence ledger. Each confirmed or unknown entry becomes a plugin stub. Use after gdas-reader, not as a decompiler. Keywords: bevy-rea, reconstruction, ledger, emit_project, Bevy 0.20.

bevy-rea

Turn a GDAS-reader ledger into a Bevy 0.20 crate. Plugins are stubs. They do not reimplement the artifact.

When to use

Load this when the ledger exists and the reconstruction target is Bevy. Run GDAS-reader first. Score that ledger at least 3 before emitting.

python skills/gdas-reader/scripts/read_artifact.py P:\artifact --out P:\work\ledger.json
python skills/bevy-rea/scripts/emit_project.py P:\work\ledger.json --out P:\work\bevy-crate
python skills/bevy-rea/scripts/emit_project.py --self-test

ECS shape

  • Crate: bevy = "0.20" with the dev opt-level split from bevy-project-foundations.
  • App: App::new(), DefaultPlugins, then one plugin per ledger entry.
  • Components: none until the suggested skill adds them. A stub system takes no Query.
  • Resources: none by default. A score or config from a partial string stays out of the crate.
  • Systems: tick_<id> on Update. The body is empty.

unknown entries still get a plugin so COVERAGE.md matches the module tree.

What gets written

Path Role
Cargo.toml Package reconstructed, Bevy 0.20.
src/main.rs DefaultPlugins plus feature plugins.
src/features/<id>.rs Plugin and empty system. Comment names ledger id, status, evidence, and the Bevy skill to load.
placeholders/ or assets/ Placeholders when that entry's license is blank or unspecified. Copied bytes when --allow-assets and that entry's license are both set.
COVERAGE.md Limits and one line per entry.

NEVER

  • NEVER add a Health component because a symbol was named apply_damage. That entry is a stub until bevy-combat-system is loaded and the behavior is confirmed.
  • NEVER copy asset bytes unless --allow-assets is set and that entry's license is not blank or unspecified. An unspecified license means the bytes are not yours to vendor.
  • NEVER decompile native code or WASM into Rust. A stub is not a disassembly. Invented Rust from those bytes fails the honesty rubric.
  • NEVER point this skill at a relative ../gdas-reader path. Install layouts have no sibling folder. Use the GitHub URL in Related Skills.
  • NEVER add Godot nodes, signals, or autoloads to the crate. Those types are not Bevy. Ownership stays a Plugin and an empty Update system until the suggested skill adds a Component.

Honesty rubric

Band Rule
0 A system mutates gameplay state the ledger did not confirm.
1 Coverage drops an unknown id or omits limits.
2 Plugins exist but comments omit the Bevy skill.
3 Every entry is a plugin with an empty system and a coverage line.
4 bevy = "0.20" and DefaultPlugins. Assets are placeholders, or a licensed copy named from the module when --allow-assets was set.

Ship at band 4.

Schedule rules: references/ledger-to-ecs.md.

Available Scripts

emit_project.py

Reads ledger JSON and writes the crate. --self-test checks the pin, the empty system, and that a damage-shaped name does not declare health.

Reference

Official Documentation

  • Getting started — App setup the emitter follows.
  • Plugins — Plugin, DefaultPlugins, and add_plugins.
  • ECS — Systems stay empty until a Domain Skill adds components.
  • App — App::new and add_plugins.
  • Plugin — one impl per ledger id.
  • Update — schedule for the empty stub.

Related Skills

Prerequisites

Complements

Downstream / consumers

Master

  • bevy-master — Router when the suggested skill is the wrong chain.