Project Initialization
The /init slash command bootstraps a new project for BMO. It analyzes your
codebase and writes the configured project context file. By default that file is
AGENTS.md, but options.initialize_as can point BMO at another supported
context filename.
Running /init
Section titled “Running /init”/initBMO will:
- Scan the project structure
- Identify build tools, test commands, and language
- Find key entry points and conventions
- Write the configured project context file to the project root
What the context file contains
Section titled “What the context file contains”- Project overview and purpose
- Directory structure map
- Build, test, and lint commands
- Key files and their roles
- Conventions the agent should follow (e.g. error handling style, naming)
Customizing the context file
Section titled “Customizing the context file”Edit the generated file freely after /init. BMO reads it verbatim, so you can
add:
- Patterns to avoid
- Domain knowledge the model wouldn’t infer from code alone
- Contact info or ownership notes for modules
- Links to internal docs or wikis
SKILL.md files
Section titled “SKILL.md files”Place a SKILL.md anywhere in the tree to give context to a subtree. BMO reads SKILL.md files as it traverses into directories.
internal/ auth/ SKILL.md ← "This package handles JWT issuance and validation. Always validate expiry." jwt.go token.goSee Agent Skills for full documentation.
Re-running /init
Section titled “Re-running /init”Run /init again after major structural changes. BMO will diff its new
analysis against the existing context file and update it accordingly.
Inspecting active rule files
Section titled “Inspecting active rule files”Use the dedicated rule-files inspect surfaces when you want to confirm which rule-file sources are active without mutating anything:
bmo config show-rule-filesfor a config-only projection/rule-filesinside the TUI for the session-aware local projection
These surfaces stay metadata-only. They tell you which configured paths, directory rules, and agent overrides are active, but they do not print the full file contents.