Topo Project Bootstrap
SkillDev toolsConvert a repository into a Topo Project by adding or improving compose.yaml and x-topo metadata.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Topo Project Bootstrap skill
What this skill tells your AI
The instructions your AI receives, as published by arm/topo in skills/topo-project-bootstrap/SKILL.md and read by ahel’s review.
Use this skill when the user asks to create, convert, initialize, or bootstrap a repository as a Topo Project.
Before acting, read references/topo-project-context.md for shared Topo Project vocabulary, authoritative references, and validation expectations.
Workflow
- Identify the Project root. Prefer the repository directory that contains or should contain the root-level
compose.yaml. - Inspect the existing repository before editing. Read
compose.yaml, Dockerfiles, README files, and source files needed to understand service purpose and build arguments. - Refresh the current schema and authoring docs when the requested change depends on field names, allowed values, service platform rules, or project parameter behavior.
- Make the smallest safe change that turns the repository into a valid, useful Project while preserving plain
docker composebehavior. - Validate the result with the topo-project-lint workflow or equivalent schema validation.
Bootstrap Guidance
- Add a root-level
compose.yamlonly when one is missing. If one exists, preserve existing services, build contexts, images, volumes, networks, and runtime settings unless they conflict with the Project requirements. - Add or improve a root-level
x-topoblock. Do not placex-topounderservices. - Choose
x-topo.namefrom the repository or application purpose. Prefer short, stable, lowercase, hyphenated names. - Set
x-topo.descriptionfrom the actual application behavior, not generic marketing language. - Set
x-topo.typeonly when useful. Useapplicationfor runnable examples that compose services andlibraryfor reusable Projects intended to be extended by other projects. - Add
x-topo.featuresonly when the repository clearly requires or showcases target capabilities. Do not guess hardware requirements from weak evidence. - Set
platform: linux/arm64on services unless the service uses Remoteproc Runtime. - Expose configuration through
x-topo.parametersonly for project parameters that users should set. When parameters are passed as Docker build arguments, ensure parameter names match the keys used inservices.<service>.build.argsand DockerfileARGinstructions. - Keep default
build.argsvalues when they help the project run with plaindocker compose. Usex-topo.parametersfor prompt metadata and validation intent.
Reporting
Report what changed and why. Include the Project root, files edited, validation command used, validation result, and any spec-sensitive assumptions that came from current docs or schema.
Signals
- GitHub stars
- 50
- Forks
- 9
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
topo-project-bootstrap- Source
- github.com/arm/topo