Skip to content

Project Initialization

When you initialize a project, Crush analyzes your codebase and creates a context file that helps it work more effectively in future sessions.

AGENTS.md

By default, the initialization file is named AGENTS.md. You can customize the name and location with the initialize_as option:

json
{
  "$schema": "https://charm.land/crush.json",
  "options": {
    "initialize_as": "AGENTS.md"
  }
}

This is useful if you prefer a different naming convention or want to place the file in a specific directory (e.g., CRUSH.md or docs/LLMs.md).

What Crush Discovers

During initialization, Crush analyzes your project and fills the context file with:

  • Build commands and scripts
  • Code patterns and conventions
  • Project structure and key files
  • Dependencies and frameworks

Context Files

Crush automatically reads context files from your working directory to get project-specific instructions. In addition to the initialization file, Crush reads:

  • AGENTS.md
  • CRUSH.md
  • CLAUDE.md
  • GEMINI.md

And their .local variants (e.g., AGENTS.md.local). Local variants are useful for machine-specific or personal settings that shouldn't be committed.

Custom Context Paths

You can specify additional context files via the context_paths option:

json
{
  "$schema": "https://charm.land/crush.json",
  "options": {
    "context_paths": [
      "docs/coding-guidelines.md",
      "CONTRIBUTING.md"
    ]
  }
}