Initializes a new project following DOTAGENT (see VERSION file). Creates directory structure, agent configuration, architectural documentation, and an example module with TDD.
Skill for initializing projects optimized for development with AI agents.
Before generating, you need to know:
Technology stack:
Domain/purpose of the project
Project name
If the user does not provide this information, ask concisely:
To create the project I need:
- Stack: Language + framework + DB?
- Domain: What problem does it solve?
- Name: What is the project called?
<project>/
├── .agent/
│ ├── config.yaml
│ ├── commands/
│ │ ├── commit.md
│ │ └── test-module.md
│ ├── personas/
│ │ ├── code-reviewer.md
│ │ ├── security-auditor.md
│ │ └── tdd-enforcer.md
│ └── hooks/
│ ├── pre-commit.md
│ └── post-change-review.md
├── docs/
│ ├── architecture/
│ │ ├── INDEX.md
│ │ └── 0001-stack-selection.md
│ └── invariants/
│ └── INVARIANTS.md
├── src/
│ └── <example-module>/
│ ├── AGENTS.md
│ ├── handler.<ext>
│ └── handler.test.<ext>
├── tests/
│ ├── integration/
│ │ └── .gitkeep
│ ├── fixtures/
│ │ └── .gitkeep
│ └── helpers/
│ └── .gitkeep
├── AGENTS.md
├── README.md
├── .gitignore
└── <project-config-file>
All file templates are stored as individual files in the templates/ directory, mirroring the structure of the generated project:
templates/
├── .agent/
│ ├── config.yaml
│ ├── commands/
│ │ ├── commit.md
│ │ └── test-module.md
│ ├── personas/
│ │ ├── code-reviewer.md
│ │ ├── security-auditor.md
│ │ └── tdd-enforcer.md
│ └── hooks/
│ └── post-change-review.md
├── docs/
│ ├── architecture/
│ │ ├── INDEX.md
│ │ └── 0001-stack-selection.md
│ └── invariants/
│ └── INVARIANTS.md
├── src/
│ └── _module_/
│ └── AGENTS.md
├── AGENTS.md
└── README.md
Read each template file, replace {PLACEHOLDER} values with the project-specific information, and write the result to the corresponding path in the generated project.
IMPORTANT: The AGENTS.md template contains <!-- DOTAGENT:BEGIN --> and <!-- DOTAGENT:END --> markers. You MUST preserve these markers in the generated file. The content between them is managed by dotagent and will be updated automatically on future upgrades. Users can add custom content outside the markers.
Create a basic module that demonstrates the structure:
src/<module>/AGENTS.md:
# Module: {MODULE}
## Purpose
{MODULE_DESCRIPTION}
## Files
- `handler.{ext}`: Main logic
- `handler.test.{ext}`: Tests
## Specific Patterns
{MODULE_PATTERNS}
src/<module>/handler.{ext}:
// Minimal example implementation
// The agent should expand as needed
src/<module>/handler.test.{ext}:
// Example test following TDD
// Structure: describe > it > arrange/act/assert