Skip to content

Project Initialization

The /init slash command bootstraps a new project for BMO. It asks the agent to analyze your codebase and create or refresh the configured project context file. By default that file is AGENTS.md, but options.initialize_as can point BMO at another supported context filename.

/init

BMO will:

  1. Scan the project structure
  2. Identify build tools, test commands, and language
  3. Find key entry points and conventions
  4. Create or refresh the configured project context file when the run succeeds
  • 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)

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

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.go

See Agent Skills for full documentation.

Run /init again after major structural changes. BMO will reuse the existing context file as part of the refresh prompt and ask the agent to update it based on the current repository.

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-files for a config-only projection
  • /rule-files inside 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.