Installed files
Where the rules go, what the AGENTS.md block contains and how the manifest tracks files.
File tree
.claude/rules/virastack/*.md # --agent claude
.cursor/rules/virastack/*.mdc # --agent cursor
.agents/rules/virastack/*.md # --agent none
.virastack/ai.json # manifest
AGENTS.md # virastack-ai block
CLAUDE.md # @AGENTS.md (--agent claude)Rule files are only written for the tools you select. AGENTS.md and .virastack/ai.json are always written.
AGENTS.md block
ViraStack AI owns only the part between the BEGIN:virastack-ai and END:virastack-ai markers:
<!-- BEGIN:virastack-ai -->
# ViraStack AI
## Persona
## Commands
## Operational Guardrails
## Rules
<!-- END:virastack-ai -->- Commands use the package manager found from your lockfile (
pnpm lint && pnpm typecheck,npm test, …). - Rules lists where each tool reads the rules and a table of every rule with when to use it.
- Your own text above or below the block, and the Next.js block (
BEGIN:nextjs-agent-rules), stay byte for byte.
CLAUDE.md
With --agent claude, CLAUDE.md gets an @AGENTS.md import line so Claude Code reads the block. The file is created if it does not exist; otherwise the line is added at the top and the rest stays. remove undoes exactly what was done.
Manifest
.virastack/ai.json records what was installed. Commit it and do not edit it by hand.
| Field | Meaning |
|---|---|
$schema | JSON schema for editor validation. |
version | Manifest format version (1). |
cliVersion | The @virastack/ai version that wrote the file. |
framework | nextjs or tanstack. |
agents | The selected tools: claude, cursor or none. |
claudeImport | created or inserted: how the @AGENTS.md line got into CLAUDE.md. |
files | Each managed file with the sha256 hash of what was written. A different hash means you changed the file. |
What is managed
ViraStack AI creates, updates and removes only these:
- Rule files inside the
virastack/folders. Each starts with a “Managed by @virastack/ai” comment. - The
virastack-aiblock inAGENTS.mdand the manifest. - The
@AGENTS.mdline inCLAUDE.md.
Anything else, including your own rule files next to the virastack/ folders, is never touched.
