@dedesfr/prompter 0.8.13 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/cli/index.js +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/skills/ai-context-generator/SKILL.md +54 -0
- package/skills/ai-context-generator/references/AGENTS.template.md +83 -0
- package/skills/ai-context-generator/references/CLAUDE.template.md +39 -0
- package/skills/ai-context-generator/references/behavioral-guidelines.md +71 -0
- package/skills/ai-context-generator/references/discovery-checklist.md +40 -0
- package/skills/ai-context-generator/references/examples/AGENTS.good.md +103 -0
- package/skills/ai-context-generator/references/extraction-checklist.md +23 -0
- package/skills/ai-context-generator/references/overlays/laravel.md +44 -0
- package/src/cli/index.ts +1 -1
- package/src/commands/init.ts +1 -1
- package/skills/agents-md-generator/SKILL.md +0 -238
- package/skills/agents-md-generator/assets/agents-md-template.md +0 -81
- package/skills/agents-md-generator/references/best-practices.md +0 -215
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [0.8.14] - 2026-04-29
|
|
4
|
+
|
|
5
|
+
### 🔄 Changed
|
|
6
|
+
- **ai-context-generator Skill**: Renamed from `agents-md-generator` for broader applicability
|
|
7
|
+
- Updated skill name in init command documentation category selection
|
|
8
|
+
- Reflects expanded scope beyond just AGENTS.md generation
|
|
9
|
+
|
|
10
|
+
### ✨ Added
|
|
11
|
+
- **ai-context-generator Skill References**: New reference materials for enhanced context extraction
|
|
12
|
+
- **Extraction Checklist**: Structured guide for pulling key facts from project discovery
|
|
13
|
+
- **Laravel Overlay**: Laravel-specific safety rules and destructive command confirmation requirements
|
|
14
|
+
- Both references help generate more accurate, project-specific AI context documentation
|
|
15
|
+
|
|
3
16
|
## [0.8.12] - 2026-04-22
|
|
4
17
|
|
|
5
18
|
### 🔄 Changed
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const program = new Command();
|
|
|
16
16
|
program
|
|
17
17
|
.name('prompter')
|
|
18
18
|
.description('Enhance prompts directly in your AI coding workflow')
|
|
19
|
-
.version('0.8.
|
|
19
|
+
.version('0.8.14');
|
|
20
20
|
program
|
|
21
21
|
.command('init')
|
|
22
22
|
.description('Initialize Prompter in your project')
|
package/dist/commands/init.js
CHANGED
|
@@ -72,7 +72,7 @@ export class InitCommand {
|
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
name: '📝 Documentation',
|
|
75
|
-
skills: ['doc-builder', 'document-translator', '
|
|
75
|
+
skills: ['doc-builder', 'document-translator', 'ai-context-generator', 'meeting-notes']
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
name: '✨ Content & Productivity',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-context-generator
|
|
3
|
+
description: Generate AGENTS.md and CLAUDE.md for a project in one pass. Produces a single canonical AGENTS.md (tool-agnostic, dense, command-heavy) plus a CLAUDE.md that imports it via `@AGENTS.md` and adds Claude Code-specific context (slash commands, skills, hooks, settings). Use whenever the user wants to set up AI agent context, generate AGENTS.md, generate CLAUDE.md, refresh outdated agent docs, or onboard AI tools to a codebase. Also trigger on phrases like "agent rules", "agent instructions", "claude rules", "ai context file", "set up cursor/copilot/claude for this repo".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI Context Generator
|
|
7
|
+
|
|
8
|
+
Generate AGENTS.md and CLAUDE.md in one pass. AGENTS.md is canonical; CLAUDE.md is a thin Claude Code-specific layer that imports it via `@AGENTS.md` so they never drift.
|
|
9
|
+
|
|
10
|
+
## Quality bar (read first, re-check at the end)
|
|
11
|
+
|
|
12
|
+
Output must be **dense, concrete, surprising, bounded, skimmable**. If a line restates what `package.json` or the file tree already shows, cut it. Hard caps:
|
|
13
|
+
|
|
14
|
+
- AGENTS.md total: **≤ 200 lines** (≤ 300 only for genuinely large monorepos)
|
|
15
|
+
- Conventions section: **≤ 8 bullets, ≤ 15 words each**
|
|
16
|
+
- Never section: **≤ 6 bullets**
|
|
17
|
+
- Every command: exact, with flags, copy-pasteable. No placeholders.
|
|
18
|
+
- No emoji unless existing project docs use them. No marketing tone.
|
|
19
|
+
|
|
20
|
+
Before declaring done, re-read the output and answer: would an experienced contributor skip any section as "obvious"? If yes, cut it.
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
### Step 1 — Confirm scope
|
|
25
|
+
|
|
26
|
+
Ask once, briefly: *"Generating AGENTS.md and CLAUDE.md for `<repo>`. Anything specific to emphasize (gotchas, 'never do X' rules), or just analyze?"* Capture user input as priority signal for Step 3.
|
|
27
|
+
|
|
28
|
+
### Step 2 — Parallel discovery
|
|
29
|
+
|
|
30
|
+
Read `references/discovery-checklist.md` and execute all reads in **one parallel batch**. Do not serialize.
|
|
31
|
+
|
|
32
|
+
### Step 3 — Extract high-signal facts
|
|
33
|
+
|
|
34
|
+
Read `references/extraction-checklist.md` and pull only facts that match the checklist. If a fact isn't on the list and wasn't in the user's Step 1 input, leave it out.
|
|
35
|
+
|
|
36
|
+
### Step 4 — Write AGENTS.md
|
|
37
|
+
|
|
38
|
+
Use `references/AGENTS.template.md`. Before writing, scan `references/examples/AGENTS.good.md` to calibrate density and tone — pattern-match on it.
|
|
39
|
+
|
|
40
|
+
**Always** append the contents of `references/behavioral-guidelines.md` verbatim as the final section of AGENTS.md. Do not paraphrase, shorten, or reorder. The line caps in the quality bar do **not** apply to this appended block — it is fixed content.
|
|
41
|
+
|
|
42
|
+
**Stack overlays.** After the behavioral guidelines, check `references/overlays/` for any overlay matching the detected stack and append it verbatim too. Detection rules:
|
|
43
|
+
|
|
44
|
+
- **Laravel** → append `references/overlays/laravel.md` if `composer.json` contains `laravel/framework` OR an `artisan` file exists at repo root.
|
|
45
|
+
|
|
46
|
+
Add more overlays here as the directory grows. Line caps do not apply to overlay content.
|
|
47
|
+
|
|
48
|
+
### Step 5 — Write CLAUDE.md
|
|
49
|
+
|
|
50
|
+
Use `references/CLAUDE.template.md`. Default body is `@AGENTS.md` + Claude Code-specific sections only (slash commands, skills, hooks, permissions, memory imports, workflow). Skip any section that has no content. **Do not duplicate** anything from AGENTS.md — if you're tempted to, move it into AGENTS.md instead.
|
|
51
|
+
|
|
52
|
+
### Step 6 — Diff and confirm
|
|
53
|
+
|
|
54
|
+
If AGENTS.md or CLAUDE.md already exists, show the user the diff before overwriting. For new files, write them and report paths + line counts. End with one sentence on what to verify (e.g. "verify the test command actually runs in your env").
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
> Context for AI coding agents working in this repo. Keep dense and current.
|
|
4
|
+
|
|
5
|
+
## What this is
|
|
6
|
+
|
|
7
|
+
<one sentence: what the project does, who uses it>
|
|
8
|
+
|
|
9
|
+
## Stack
|
|
10
|
+
|
|
11
|
+
- **Language:** <e.g. TypeScript 5.4, Node 20>
|
|
12
|
+
- **Framework:** <e.g. Next.js 15 (app router)>
|
|
13
|
+
- **Key libs:** <e.g. Prisma, tRPC, Tailwind v4, Vitest>
|
|
14
|
+
- **Package manager:** <pnpm 9 / npm / bun / uv / cargo>
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
<install command>
|
|
20
|
+
<bootstrap / migrate / seed command, if any>
|
|
21
|
+
<env file setup, e.g. cp .env.example .env>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Daily commands
|
|
25
|
+
|
|
26
|
+
| Task | Command |
|
|
27
|
+
|---|---|
|
|
28
|
+
| Dev server | `<exact cmd>` |
|
|
29
|
+
| Build | `<exact cmd>` |
|
|
30
|
+
| Test (all) | `<exact cmd>` |
|
|
31
|
+
| Test (single file) | `<exact cmd path/to/file>` |
|
|
32
|
+
| Lint | `<exact cmd>` |
|
|
33
|
+
| Format | `<exact cmd>` |
|
|
34
|
+
| Typecheck | `<exact cmd>` |
|
|
35
|
+
|
|
36
|
+
## Layout
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
<top-level tree, 1–2 deep, each with a one-line purpose>
|
|
40
|
+
src/
|
|
41
|
+
<dir>/ — <purpose>
|
|
42
|
+
<dir>/ — <purpose>
|
|
43
|
+
generated/ — DO NOT EDIT (auto-generated by <tool>)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Conventions
|
|
47
|
+
|
|
48
|
+
- <non-obvious rule 1, with example>
|
|
49
|
+
- <non-obvious rule 2>
|
|
50
|
+
- <where new files of type X go>
|
|
51
|
+
- <error handling / logging style>
|
|
52
|
+
|
|
53
|
+
## Testing
|
|
54
|
+
|
|
55
|
+
- Framework: <vitest / jest / pytest / go test / ...>
|
|
56
|
+
- Tests live in: <co-located `*.test.ts` / `tests/` / ...>
|
|
57
|
+
- Unit vs integration: <how to tell, where each lives>
|
|
58
|
+
- Mocking policy: <e.g. "no DB mocks — integration tests use a real Postgres via testcontainers">
|
|
59
|
+
- Fixtures: <where, how to add>
|
|
60
|
+
|
|
61
|
+
## Architecture notes
|
|
62
|
+
|
|
63
|
+
<only include if non-obvious. examples:>
|
|
64
|
+
- Data flows <from → to>; <module> owns <responsibility>.
|
|
65
|
+
- <Module A> must never import from <module B>; the boundary is enforced by <eslint rule / dependency-cruiser / convention>.
|
|
66
|
+
|
|
67
|
+
## Never
|
|
68
|
+
|
|
69
|
+
- <destructive or out-of-scope action 1>
|
|
70
|
+
- Do not edit `generated/`, `*.lock`, or migrations after they're merged.
|
|
71
|
+
- <patterns explicitly rejected in past reviews>
|
|
72
|
+
|
|
73
|
+
## Environment
|
|
74
|
+
|
|
75
|
+
| Var | Required | Purpose |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `<NAME>` | yes | <purpose> |
|
|
78
|
+
| `<NAME>` | no | <purpose, default> |
|
|
79
|
+
|
|
80
|
+
External services: <list, with where credentials are managed — 1Password / Doppler / Vercel env / ...>
|
|
81
|
+
|
|
82
|
+
<!-- Append `references/behavioral-guidelines.md` verbatim below this line. Always. -->
|
|
83
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Claude Code Instructions
|
|
2
|
+
|
|
3
|
+
@AGENTS.md
|
|
4
|
+
|
|
5
|
+
## Claude Code-specific
|
|
6
|
+
|
|
7
|
+
<!-- Include only the subsections below that actually apply. Delete the rest. -->
|
|
8
|
+
|
|
9
|
+
### Slash commands
|
|
10
|
+
|
|
11
|
+
<list `.claude/commands/*.md` — name + one-line purpose>
|
|
12
|
+
|
|
13
|
+
- `/<command>` — <purpose>
|
|
14
|
+
|
|
15
|
+
### Skills
|
|
16
|
+
|
|
17
|
+
<list project skills under `skills/` or `.claude/skills/` with trigger phrases>
|
|
18
|
+
|
|
19
|
+
- **<skill-name>** (`<path>`) — <what it does>. Trigger: <phrase>
|
|
20
|
+
|
|
21
|
+
### Hooks
|
|
22
|
+
|
|
23
|
+
<from `.claude/settings.json` — what runs on what event>
|
|
24
|
+
|
|
25
|
+
- `PostToolUse` on `Edit|Write` → `<command>` (<purpose>)
|
|
26
|
+
|
|
27
|
+
### Memory imports
|
|
28
|
+
|
|
29
|
+
<other files Claude should auto-load via `@path`>
|
|
30
|
+
|
|
31
|
+
- `@docs/architecture.md` — <why>
|
|
32
|
+
|
|
33
|
+
### Workflow
|
|
34
|
+
|
|
35
|
+
<Claude-specific behavior the user wants here. Examples:>
|
|
36
|
+
|
|
37
|
+
- Always run `<typecheck cmd>` before declaring a task done.
|
|
38
|
+
- Prefer the project's <skill-name> skill over ad-hoc <task>.
|
|
39
|
+
- When editing <area>, also update <related file>.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
ALWAYS append this block verbatim to every generated AGENTS.md.
|
|
3
|
+
Do not paraphrase, shorten, or reorder. Do not duplicate it in CLAUDE.md
|
|
4
|
+
(CLAUDE.md inherits it via @AGENTS.md).
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
## Behavioral guidelines
|
|
8
|
+
|
|
9
|
+
Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.
|
|
10
|
+
|
|
11
|
+
**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
|
|
12
|
+
|
|
13
|
+
### 1. Think Before Coding
|
|
14
|
+
|
|
15
|
+
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
16
|
+
|
|
17
|
+
Before implementing:
|
|
18
|
+
- State your assumptions explicitly. If uncertain, ask.
|
|
19
|
+
- If multiple interpretations exist, present them - don't pick silently.
|
|
20
|
+
- If a simpler approach exists, say so. Push back when warranted.
|
|
21
|
+
- If something is unclear, stop. Name what's confusing. Ask.
|
|
22
|
+
|
|
23
|
+
### 2. Simplicity First
|
|
24
|
+
|
|
25
|
+
**Minimum code that solves the problem. Nothing speculative.**
|
|
26
|
+
|
|
27
|
+
- No features beyond what was asked.
|
|
28
|
+
- No abstractions for single-use code.
|
|
29
|
+
- No "flexibility" or "configurability" that wasn't requested.
|
|
30
|
+
- No error handling for impossible scenarios.
|
|
31
|
+
- If you write 200 lines and it could be 50, rewrite it.
|
|
32
|
+
|
|
33
|
+
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
34
|
+
|
|
35
|
+
### 3. Surgical Changes
|
|
36
|
+
|
|
37
|
+
**Touch only what you must. Clean up only your own mess.**
|
|
38
|
+
|
|
39
|
+
When editing existing code:
|
|
40
|
+
- Don't "improve" adjacent code, comments, or formatting.
|
|
41
|
+
- Don't refactor things that aren't broken.
|
|
42
|
+
- Match existing style, even if you'd do it differently.
|
|
43
|
+
- If you notice unrelated dead code, mention it - don't delete it.
|
|
44
|
+
|
|
45
|
+
When your changes create orphans:
|
|
46
|
+
- Remove imports/variables/functions that YOUR changes made unused.
|
|
47
|
+
- Don't remove pre-existing dead code unless asked.
|
|
48
|
+
|
|
49
|
+
The test: Every changed line should trace directly to the user's request.
|
|
50
|
+
|
|
51
|
+
### 4. Goal-Driven Execution
|
|
52
|
+
|
|
53
|
+
**Define success criteria. Loop until verified.**
|
|
54
|
+
|
|
55
|
+
Transform tasks into verifiable goals:
|
|
56
|
+
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
57
|
+
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
58
|
+
- "Refactor X" → "Ensure tests pass before and after"
|
|
59
|
+
|
|
60
|
+
For multi-step tasks, state a brief plan:
|
|
61
|
+
```
|
|
62
|
+
1. [Step] → verify: [check]
|
|
63
|
+
2. [Step] → verify: [check]
|
|
64
|
+
3. [Step] → verify: [check]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
**These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Discovery checklist
|
|
2
|
+
|
|
3
|
+
Run all of these reads in **one parallel batch**. Skip files that don't exist (errors are fine).
|
|
4
|
+
|
|
5
|
+
## Manifests
|
|
6
|
+
`package.json`, `pnpm-workspace.yaml`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `composer.json`, `Gemfile`, `pom.xml`, `build.gradle`, `requirements.txt`, `uv.lock`
|
|
7
|
+
|
|
8
|
+
## Config
|
|
9
|
+
`tsconfig.json`, `.eslintrc*`, `biome.json`, `.prettierrc*`, `tailwind.config.*`, `vite.config.*`, `next.config.*`, `nuxt.config.*`, `astro.config.*`, `webpack.config.*`, `Makefile`, `justfile`, `turbo.json`, `nx.json`
|
|
10
|
+
|
|
11
|
+
## Infra
|
|
12
|
+
`Dockerfile`, `docker-compose.yml`, `.gitlab-ci.yml`
|
|
13
|
+
List dirs: `.github/workflows/`
|
|
14
|
+
|
|
15
|
+
## Existing docs
|
|
16
|
+
`README.md`, `CONTRIBUTING.md`, `ARCHITECTURE.md`
|
|
17
|
+
List dirs: `docs/`
|
|
18
|
+
|
|
19
|
+
## Existing AI config (read to preserve hard-won knowledge)
|
|
20
|
+
`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `.github/copilot-instructions.md`, `.windsurfrules`, `.aider.conf.yml`
|
|
21
|
+
List dirs: `.cursor/rules/`
|
|
22
|
+
|
|
23
|
+
## Claude Code specifics
|
|
24
|
+
`.claude/settings.json`, `.claude/settings.local.json`
|
|
25
|
+
List dirs: `.claude/commands/`, `.claude/skills/`, `.claude/hooks/`, `skills/`
|
|
26
|
+
|
|
27
|
+
## Layout signal
|
|
28
|
+
List root dir, then list `src/`, `app/`, `lib/`, `packages/`, `apps/` (one level deep) if present.
|
|
29
|
+
|
|
30
|
+
## Git signal
|
|
31
|
+
- `git log --oneline -20`
|
|
32
|
+
- `git ls-files | head -50`
|
|
33
|
+
|
|
34
|
+
## Extract from these
|
|
35
|
+
- Tech stack + versions (Node 20 vs 22, React 18 vs 19 changes advice)
|
|
36
|
+
- Build / test / lint / typecheck commands with exact flags
|
|
37
|
+
- Project structure (mark generated/vendored/deprecated dirs)
|
|
38
|
+
- Coding conventions (only non-obvious ones)
|
|
39
|
+
- Architecture decisions (only if not derivable from layout)
|
|
40
|
+
- Past gotchas (from existing AI config files — preserve them)
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
EXAMPLE — calibrate density and tone against this file.
|
|
3
|
+
This is a fictional but realistic AGENTS.md for a mid-sized TS/Next.js SaaS app.
|
|
4
|
+
Note: ~140 lines, every command exact, "Never" section is specific, no filler.
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# AGENTS.md
|
|
8
|
+
|
|
9
|
+
> Context for AI coding agents working in `acme-billing`. Keep dense and current.
|
|
10
|
+
|
|
11
|
+
## What this is
|
|
12
|
+
|
|
13
|
+
Self-serve billing portal for Acme customers — view invoices, update payment methods, manage subscriptions. Talks to Stripe and our internal `entitlements` service.
|
|
14
|
+
|
|
15
|
+
## Stack
|
|
16
|
+
|
|
17
|
+
- **Language:** TypeScript 5.5, Node 20.11
|
|
18
|
+
- **Framework:** Next.js 15 (app router), React 19
|
|
19
|
+
- **Key libs:** Prisma 5, tRPC 11, Tailwind v4, Zod, Vitest, Playwright
|
|
20
|
+
- **Package manager:** pnpm 9 (workspaces — see `pnpm-workspace.yaml`)
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm install
|
|
26
|
+
cp .env.example .env.local # ask #billing-eng for real values
|
|
27
|
+
pnpm db:migrate # runs prisma migrate dev
|
|
28
|
+
pnpm db:seed # seeds local Stripe test data
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Daily commands
|
|
32
|
+
|
|
33
|
+
| Task | Command |
|
|
34
|
+
|---|---|
|
|
35
|
+
| Dev server | `pnpm dev` (http://localhost:3000) |
|
|
36
|
+
| Build | `pnpm build` |
|
|
37
|
+
| Test (unit, all) | `pnpm test` |
|
|
38
|
+
| Test (single file) | `pnpm test -- --run src/server/billing/refund.test.ts` |
|
|
39
|
+
| Test (e2e) | `pnpm test:e2e` (requires `pnpm dev` running in another shell) |
|
|
40
|
+
| Lint | `pnpm lint` |
|
|
41
|
+
| Format | `pnpm format` |
|
|
42
|
+
| Typecheck | `pnpm typecheck` |
|
|
43
|
+
|
|
44
|
+
Always run `pnpm typecheck && pnpm lint` before opening a PR. CI runs both and rejects warnings.
|
|
45
|
+
|
|
46
|
+
## Layout
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
apps/
|
|
50
|
+
web/ — Next.js app (UI + tRPC routes)
|
|
51
|
+
worker/ — BullMQ workers (Stripe webhook handlers, retries)
|
|
52
|
+
packages/
|
|
53
|
+
db/ — Prisma schema + generated client (do not edit generated/)
|
|
54
|
+
shared/ — Zod schemas shared between web + worker
|
|
55
|
+
ui/ — shared React components (Tailwind v4)
|
|
56
|
+
infra/
|
|
57
|
+
terraform/ — prod infra; PRs require @platform review
|
|
58
|
+
prisma/
|
|
59
|
+
migrations/ — never edit a merged migration; add a new one
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Conventions
|
|
63
|
+
|
|
64
|
+
- New tRPC procedures go in `apps/web/src/server/routers/<feature>.ts`. Register in `_app.ts`.
|
|
65
|
+
- All input validation uses Zod schemas from `packages/shared` — do not redefine inline.
|
|
66
|
+
- Money is `bigint` cents, never `number`. Use `formatMoney` from `packages/shared/money`.
|
|
67
|
+
- Dates: store UTC, render in user TZ via `formatInTimeZone`. Never use `new Date(string)` for parsing — use `parseISO`.
|
|
68
|
+
- Server components by default; add `"use client"` only when you need state or events.
|
|
69
|
+
- One default export per file for components; named exports for everything else.
|
|
70
|
+
|
|
71
|
+
## Testing
|
|
72
|
+
|
|
73
|
+
- **Unit (Vitest):** co-located `*.test.ts`. Pure logic, no I/O.
|
|
74
|
+
- **Integration (Vitest):** in `tests/integration/`. **Hits real Postgres** via testcontainers — do not mock the DB.
|
|
75
|
+
- **E2E (Playwright):** in `tests/e2e/`. Hits Stripe test mode.
|
|
76
|
+
- Add a test for every new tRPC procedure. CI fails if `apps/web/src/server/routers/**/*.ts` lacks a sibling `.test.ts`.
|
|
77
|
+
|
|
78
|
+
## Architecture notes
|
|
79
|
+
|
|
80
|
+
- Webhook flow: Stripe → `apps/worker` → updates `entitlements` service → web app reads via tRPC. Web never calls Stripe directly except for hosted-checkout redirects.
|
|
81
|
+
- `packages/db` is the only place that imports `@prisma/client`. Other packages get types via `packages/shared`.
|
|
82
|
+
|
|
83
|
+
## Never
|
|
84
|
+
|
|
85
|
+
- Edit `packages/db/generated/` (regenerated by `pnpm db:generate`).
|
|
86
|
+
- Edit a merged migration in `prisma/migrations/` — add a new one.
|
|
87
|
+
- Mock the database in integration tests (Q3 incident: mocked tests passed, prod migration broke).
|
|
88
|
+
- Use `any` or `as` casts in `packages/shared` — schemas must be exact.
|
|
89
|
+
- Call Stripe APIs from `apps/web` directly. Route through `apps/worker`.
|
|
90
|
+
- Commit `.env.local` or anything in `secrets/`.
|
|
91
|
+
|
|
92
|
+
## Environment
|
|
93
|
+
|
|
94
|
+
| Var | Required | Purpose |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| `DATABASE_URL` | yes | Postgres connection |
|
|
97
|
+
| `STRIPE_SECRET_KEY` | yes | Stripe API (test or live) |
|
|
98
|
+
| `STRIPE_WEBHOOK_SECRET` | yes | Verify webhook signatures |
|
|
99
|
+
| `ENTITLEMENTS_URL` | yes | Internal entitlements service |
|
|
100
|
+
| `SENTRY_DSN` | no | Error reporting; no-op if unset |
|
|
101
|
+
|
|
102
|
+
Production secrets live in 1Password vault `acme-billing-prod`. Local dev secrets in `acme-billing-dev`.
|
|
103
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Extraction checklist
|
|
2
|
+
|
|
3
|
+
From discovery output, pull only facts that match the categories below. If a fact doesn't fit here and wasn't in the user's Step 1 input, **leave it out**.
|
|
4
|
+
|
|
5
|
+
1. **What this project is** — one sentence, plain English.
|
|
6
|
+
2. **Tech stack** — language + version, framework, key libs, package manager.
|
|
7
|
+
3. **Setup** — install + bootstrap commands in order.
|
|
8
|
+
4. **Daily commands** — dev, build, test (full + single file), lint, format, typecheck. Exact flags.
|
|
9
|
+
5. **Project layout** — 1–2 levels, one-line purpose per dir. Mark generated / vendored / deprecated.
|
|
10
|
+
6. **Code conventions** — only non-obvious ones (skip what the linter already enforces).
|
|
11
|
+
7. **Testing rules** — framework, location, unit vs integration boundary, mocking policy, fixtures.
|
|
12
|
+
8. **Architecture notes** — only if non-obvious (data flow, module boundaries, where state lives).
|
|
13
|
+
9. **Things to never do** — destructive ops, files not to touch, patterns rejected in past PRs.
|
|
14
|
+
10. **External services / env vars** — names only, never values; where credentials live.
|
|
15
|
+
## Priority rules
|
|
16
|
+
|
|
17
|
+
- User's Step 1 input takes precedence. If they named a gotcha, it goes in §9 with their wording preserved.
|
|
18
|
+
- Existing AGENTS.md / CLAUDE.md / .cursorrules content is **gold** — these contain hard-won knowledge. Preserve, don't paraphrase.
|
|
19
|
+
- When in doubt: omit. A short, dense file beats a long, hedged one.
|
|
20
|
+
|
|
21
|
+
## Density test
|
|
22
|
+
|
|
23
|
+
For each extracted fact, ask: *"Could a fresh contributor figure this out in 30 seconds by reading the repo?"* If yes, drop it. Keep only facts that save real time or prevent real mistakes.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
LARAVEL OVERLAY — append verbatim to AGENTS.md when the project is Laravel.
|
|
3
|
+
Detection: `composer.json` includes `laravel/framework`, OR `artisan` exists at repo root.
|
|
4
|
+
Place this block AFTER `## Behavioral guidelines` and BEFORE end of file.
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
## Laravel safety rules (mandatory)
|
|
8
|
+
|
|
9
|
+
These rules are non-negotiable and override speed/convenience. They exist because destructive DB commands have repeatedly destroyed local and shared data on this project.
|
|
10
|
+
|
|
11
|
+
### Confirmation required before any destructive command
|
|
12
|
+
|
|
13
|
+
Always ask for explicit yes/no confirmation before running any of:
|
|
14
|
+
|
|
15
|
+
- **Schema drops:** `Schema::drop`, `Schema::dropIfExists`, raw `DROP TABLE`, `DROP DATABASE`, `php artisan db:wipe`.
|
|
16
|
+
- **Bulk data deletion:** `Model::truncate()`, `DB::table(...)->truncate()`, `DB::table(...)->delete()` without a `where`, `Model::query()->delete()`, `forceDelete` on collections, mass cleanup jobs/commands.
|
|
17
|
+
- **Fresh rebuild:** `php artisan migrate:fresh`, `php artisan migrate:fresh --seed`, `php artisan migrate:refresh`, `php artisan schema:dump --prune`. (User may call this "migrateg --fresh" — same thing.)
|
|
18
|
+
- **Production-targeted destructive ops:** anything above with `--force`, or `--env=production`, or against a non-local `DB_CONNECTION`.
|
|
19
|
+
- **Seeders that truncate:** any `DatabaseSeeder` or seeder containing `truncate()` / `delete()` calls.
|
|
20
|
+
- **Tinker:** destructive operations via `php artisan tinker` (treat the same as direct execution).
|
|
21
|
+
|
|
22
|
+
### Required confirmation format
|
|
23
|
+
|
|
24
|
+
Before running, state:
|
|
25
|
+
|
|
26
|
+
1. **Command:** the exact invocation (with all flags, env, and target connection).
|
|
27
|
+
2. **Why destructive:** what it deletes/drops.
|
|
28
|
+
3. **Scope:** which DB connection, which env (`APP_ENV`, `DB_CONNECTION`, `DB_DATABASE`), how many rows/tables affected if knowable.
|
|
29
|
+
4. **Safer alternative:** name one (e.g. `php artisan migrate` instead of `migrate:fresh`; a targeted `where()->delete()` instead of `truncate()`).
|
|
30
|
+
|
|
31
|
+
Then ask: *"Run this? (yes/no)"* — wait for an explicit yes. Implicit consent does not count.
|
|
32
|
+
|
|
33
|
+
### Default safe behavior
|
|
34
|
+
|
|
35
|
+
- No confirmation → do not run. Do not retry with a different flag.
|
|
36
|
+
- Prefer non-destructive first: `migrate` over `migrate:fresh`; new migration over editing a merged one; targeted update over truncate-and-reseed.
|
|
37
|
+
- If approved, run **only** the confirmed scope. Do not chain extra commands ("while I'm here, also...").
|
|
38
|
+
- After running, report: command run, rows/tables affected, current migration status.
|
|
39
|
+
|
|
40
|
+
### Hard rules (never, even with confirmation, unless user explicitly names the command)
|
|
41
|
+
|
|
42
|
+
- Never run any destructive command against a connection that isn't `sqlite` in-memory or a database whose name contains `local`, `dev`, or `test` — without the user typing the actual command themselves.
|
|
43
|
+
- Never use `--force` in any environment without an explicit user instruction containing `--force`.
|
|
44
|
+
- Never `DROP DATABASE` or `db:wipe` without the user typing it.
|
package/src/cli/index.ts
CHANGED
package/src/commands/init.ts
CHANGED
|
@@ -86,7 +86,7 @@ export class InitCommand {
|
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
name: '📝 Documentation',
|
|
89
|
-
skills: ['doc-builder', 'document-translator', '
|
|
89
|
+
skills: ['doc-builder', 'document-translator', 'ai-context-generator', 'meeting-notes']
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
name: '✨ Content & Productivity',
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agents-md-generator
|
|
3
|
-
description: Generate or update an AGENTS.md file in any project's root directory. Creates a comprehensive, well-structured AGENTS.md following industry best practices from analysis of 2,500+ repositories. Works from existing project docs (README, package.json, config files), codebase analysis, or direct user input. Use this skill whenever the user wants to create an AGENTS.md, update an existing one, improve AI agent instructions for a project, or mentions setting up agent context for any codebase. Also trigger when users mention wanting better AI coding assistant results, agent configuration, or project onboarding for AI tools.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AGENTS.md Generator
|
|
7
|
-
|
|
8
|
-
Generate or update a project's AGENTS.md file — the standard open-format file that gives AI coding agents the context they need to work effectively in a codebase.
|
|
9
|
-
|
|
10
|
-
## Why AGENTS.md matters
|
|
11
|
-
|
|
12
|
-
AGENTS.md is the "README for AI agents." Unlike README files written for humans, AGENTS.md provides the specific, structured context that AI coding agents need: exact commands with flags, concrete code examples, clear boundaries on what to never touch, and project-specific conventions that aren't obvious from the code alone. A well-written AGENTS.md dramatically improves the quality of AI-generated code by reducing hallucinated endpoints, mismatched coding styles, and violations of project constraints.
|
|
13
|
-
|
|
14
|
-
## Step 0: Determine Mode
|
|
15
|
-
|
|
16
|
-
Present these options to the user:
|
|
17
|
-
|
|
18
|
-
**What would you like to do?**
|
|
19
|
-
|
|
20
|
-
1. **Generate new AGENTS.md** — Create from scratch by analyzing the project
|
|
21
|
-
2. **Update existing AGENTS.md** — Improve or add sections to an existing file
|
|
22
|
-
3. **Generate from docs** — Build AGENTS.md from existing documentation (README, wiki, docs/)
|
|
23
|
-
|
|
24
|
-
Wait for the user's selection before proceeding.
|
|
25
|
-
|
|
26
|
-
## Step 1: Gather Project Context
|
|
27
|
-
|
|
28
|
-
The quality of the AGENTS.md depends entirely on understanding the project. Collect context from these sources, in priority order:
|
|
29
|
-
|
|
30
|
-
### 1.1 Automatic Discovery (always do this)
|
|
31
|
-
|
|
32
|
-
Scan the project root for context signals:
|
|
33
|
-
|
|
34
|
-
- **Package manifest**: `package.json`, `Cargo.toml`, `pyproject.toml`, `go.mod`, `composer.json`, `Gemfile`, `pom.xml`, `build.gradle`
|
|
35
|
-
- **Config files**: `tsconfig.json`, `.eslintrc*`, `.prettierrc*`, `tailwind.config.*`, `vite.config.*`, `webpack.config.*`, `docker-compose.yml`
|
|
36
|
-
- **CI/CD**: `.github/workflows/`, `.gitlab-ci.yml`, `Jenkinsfile`
|
|
37
|
-
- **Existing docs**: `README.md`, `CONTRIBUTING.md`, `docs/`, `wiki/`
|
|
38
|
-
- **Existing AI config**: `CLAUDE.md`, `.cursorrules`, `.github/copilot-instructions.md`, `.windsurfrules`
|
|
39
|
-
- **Test setup**: test directories, test config files, test scripts in package manifest
|
|
40
|
-
- **Git history**: recent commit patterns, active contributors
|
|
41
|
-
|
|
42
|
-
Read these files to extract:
|
|
43
|
-
- Tech stack and versions
|
|
44
|
-
- Build/test/lint commands
|
|
45
|
-
- Project structure patterns
|
|
46
|
-
- Coding conventions
|
|
47
|
-
- Architecture decisions
|
|
48
|
-
|
|
49
|
-
### 1.2 User-Provided Docs (if mode is "Generate from docs")
|
|
50
|
-
|
|
51
|
-
Ask the user to point to their documentation:
|
|
52
|
-
- "Which docs should I use as source material? (paths, URLs, or paste content directly)"
|
|
53
|
-
|
|
54
|
-
Read and synthesize the provided documentation into AGENTS.md sections.
|
|
55
|
-
|
|
56
|
-
### 1.3 Interactive Interview (fill gaps)
|
|
57
|
-
|
|
58
|
-
After automatic discovery, identify what's still missing and ask the user targeted questions. Don't ask about things you already know from the codebase. Focus on:
|
|
59
|
-
|
|
60
|
-
- **Project purpose**: What does this project do? (if not clear from README)
|
|
61
|
-
- **Architecture decisions**: Any non-obvious patterns or constraints?
|
|
62
|
-
- **Boundaries**: What should AI agents never touch? (secrets, vendor dirs, generated files, production configs)
|
|
63
|
-
- **Domain vocabulary**: Any project-specific terms agents need to know?
|
|
64
|
-
- **Common pitfalls**: What mistakes do new contributors (or AI agents) commonly make?
|
|
65
|
-
- **Testing requirements**: Any specific testing patterns or requirements?
|
|
66
|
-
|
|
67
|
-
Keep the interview short — 3-5 questions max, focused on what you genuinely couldn't determine from the code.
|
|
68
|
-
|
|
69
|
-
## Step 2: Structure the AGENTS.md
|
|
70
|
-
|
|
71
|
-
Use the template at `assets/agents-md-template.md` as a starting point. The template has 18 sections — not all are required for every project. Include a section only if you have substantive content for it. An empty or placeholder section ("Not specified") is worse than omitting it entirely.
|
|
72
|
-
|
|
73
|
-
### Section Priority
|
|
74
|
-
|
|
75
|
-
**Always include** (these are the highest-value sections based on empirical analysis):
|
|
76
|
-
1. **Project Summary** — What this project does, in 2-3 sentences
|
|
77
|
-
2. **Tech Stack** — Languages, frameworks, runtime versions
|
|
78
|
-
3. **Commands** — Build, test, lint, deploy commands with exact flags
|
|
79
|
-
4. **Folder Structure** — Key directories and their purposes
|
|
80
|
-
5. **Coding Conventions** — Real code examples, not verbal descriptions
|
|
81
|
-
6. **Development Rules for AI Agents** — Boundaries and constraints
|
|
82
|
-
|
|
83
|
-
**Include when relevant:**
|
|
84
|
-
7. **Architecture Overview** — Module structure, data flow
|
|
85
|
-
8. **Core Business Logic** — Domain rules that aren't obvious from code
|
|
86
|
-
9. **Data Models** — Key entities and relationships
|
|
87
|
-
10. **Domain Vocabulary** — Project-specific terms
|
|
88
|
-
11. **Security/Privacy Rules** — Auth flows, sensitive data handling
|
|
89
|
-
12. **Testing Strategy** — Frameworks, patterns, coverage expectations
|
|
90
|
-
13. **Integration Map** — External services, APIs, third-party tools
|
|
91
|
-
|
|
92
|
-
**Include only if substantive:**
|
|
93
|
-
14. **Target Users** — Who uses this and how
|
|
94
|
-
15. **UI/UX Principles** — Design patterns and constraints
|
|
95
|
-
16. **Roadmap** — Active initiatives
|
|
96
|
-
17. **Known Issues** — Current limitations
|
|
97
|
-
18. **Troubleshooting** — Common problems and fixes
|
|
98
|
-
19. **Ownership Map** — Who owns what
|
|
99
|
-
|
|
100
|
-
### Writing Guidelines
|
|
101
|
-
|
|
102
|
-
Follow these principles — they come from analysis of what actually makes AGENTS.md effective:
|
|
103
|
-
|
|
104
|
-
**Be specific, not vague.**
|
|
105
|
-
```markdown
|
|
106
|
-
# Bad
|
|
107
|
-
- Use TypeScript
|
|
108
|
-
- Follow best practices
|
|
109
|
-
|
|
110
|
-
# Good
|
|
111
|
-
- TypeScript 5.4 with strict mode enabled
|
|
112
|
-
- ESM imports with explicit `.js` extensions in compiled output
|
|
113
|
-
- Prefer `interface` over `type` for object shapes
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**Lead with executable commands.**
|
|
117
|
-
```markdown
|
|
118
|
-
# Commands
|
|
119
|
-
npm run build # Compile TypeScript to dist/
|
|
120
|
-
npm test # Run vitest test suite
|
|
121
|
-
npm run lint # ESLint with --fix
|
|
122
|
-
npm run typecheck # tsc --noEmit
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Show code examples for conventions.**
|
|
126
|
-
```markdown
|
|
127
|
-
# Component pattern
|
|
128
|
-
export function UserCard({ user }: { user: User }) {
|
|
129
|
-
// Components use named exports, PascalCase
|
|
130
|
-
// Props defined inline for simple cases
|
|
131
|
-
}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
**Use three-tier boundaries.**
|
|
135
|
-
```markdown
|
|
136
|
-
## Development Rules for AI Agents
|
|
137
|
-
### Always do:
|
|
138
|
-
- Run `npm run typecheck` before committing
|
|
139
|
-
- Use existing utility functions from `src/utils/`
|
|
140
|
-
|
|
141
|
-
### Ask first:
|
|
142
|
-
- Adding new dependencies
|
|
143
|
-
- Modifying database schemas
|
|
144
|
-
- Changes to CI/CD pipelines
|
|
145
|
-
|
|
146
|
-
### Never do:
|
|
147
|
-
- Commit `.env` files or secrets
|
|
148
|
-
- Modify `vendor/` or generated files
|
|
149
|
-
- Run destructive database commands
|
|
150
|
-
- Invent API endpoints that don't exist
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Include file-scoped commands** for common per-file operations:
|
|
154
|
-
```markdown
|
|
155
|
-
# File-scoped commands
|
|
156
|
-
npx vitest run src/utils/parse.test.ts # Run single test file
|
|
157
|
-
npx eslint --fix src/components/Card.tsx # Lint single file
|
|
158
|
-
npx tsc --noEmit src/types.ts # Type-check single file
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
## Step 3: Generate or Update
|
|
162
|
-
|
|
163
|
-
### For new AGENTS.md (Mode 1 or 3)
|
|
164
|
-
|
|
165
|
-
1. Read the template from `assets/agents-md-template.md`
|
|
166
|
-
2. Fill in each section with discovered and user-provided content
|
|
167
|
-
3. Remove sections that have no substantive content
|
|
168
|
-
4. Write to `AGENTS.md` in the project root
|
|
169
|
-
|
|
170
|
-
### For updating existing AGENTS.md (Mode 2)
|
|
171
|
-
|
|
172
|
-
1. Read the existing `AGENTS.md`
|
|
173
|
-
2. Identify which sections exist and their quality
|
|
174
|
-
3. Ask the user what they want to improve:
|
|
175
|
-
- "Add missing sections"
|
|
176
|
-
- "Update outdated information"
|
|
177
|
-
- "Improve specific sections" (let them pick)
|
|
178
|
-
- "Full refresh" (regenerate while preserving custom content)
|
|
179
|
-
4. Make targeted updates, preserving any custom content the user has added
|
|
180
|
-
5. If the file has managed markers (like `<!-- PROMPTER:START -->`), preserve those sections untouched
|
|
181
|
-
|
|
182
|
-
### Monorepo Support
|
|
183
|
-
|
|
184
|
-
For monorepos or multi-package projects, offer to create nested AGENTS.md files:
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
project-root/
|
|
188
|
-
├── AGENTS.md # Project-wide context
|
|
189
|
-
├── packages/
|
|
190
|
-
│ ├── frontend/
|
|
191
|
-
│ │ └── AGENTS.md # Frontend-specific context
|
|
192
|
-
│ └── backend/
|
|
193
|
-
│ └── AGENTS.md # Backend-specific context
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
The root AGENTS.md should reference subdirectory files and provide shared context. Subdirectory files should focus on package-specific details.
|
|
197
|
-
|
|
198
|
-
## Step 4: Validate and Review
|
|
199
|
-
|
|
200
|
-
Before finalizing, check:
|
|
201
|
-
|
|
202
|
-
- [ ] No placeholder text remains ("Not specified", "TODO", "TBD")
|
|
203
|
-
- [ ] Commands are accurate and runnable
|
|
204
|
-
- [ ] File paths referenced actually exist in the project
|
|
205
|
-
- [ ] Tech stack versions match what's in config files
|
|
206
|
-
- [ ] No sensitive information included (API keys, internal URLs, credentials)
|
|
207
|
-
- [ ] Sections are ordered by value (most useful first)
|
|
208
|
-
- [ ] Code examples match the project's actual coding style
|
|
209
|
-
|
|
210
|
-
Present a summary to the user:
|
|
211
|
-
- Which sections were generated
|
|
212
|
-
- Any sections skipped (and why)
|
|
213
|
-
- Suggestions for sections they could add later
|
|
214
|
-
|
|
215
|
-
## Step 5: Save
|
|
216
|
-
|
|
217
|
-
Save the AGENTS.md to the project root path (or the path the user specifies).
|
|
218
|
-
|
|
219
|
-
Print a summary:
|
|
220
|
-
```
|
|
221
|
-
AGENTS.md generated at <path>
|
|
222
|
-
Sections: <count> of 18
|
|
223
|
-
Sources used: <list of files analyzed>
|
|
224
|
-
Suggested improvements: <any sections that could be enhanced with more info>
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
## Edge Cases
|
|
228
|
-
|
|
229
|
-
- **No package manifest found**: Ask the user about the tech stack directly
|
|
230
|
-
- **Multiple languages**: Create sections for each, clearly labeled
|
|
231
|
-
- **Existing CLAUDE.md / .cursorrules**: Offer to consolidate into AGENTS.md (which is the cross-tool standard) or keep both
|
|
232
|
-
- **Very large project**: Focus on the most important directories and patterns rather than trying to document everything
|
|
233
|
-
- **No README**: The interview step becomes more important — ask more questions
|
|
234
|
-
|
|
235
|
-
## Resources
|
|
236
|
-
|
|
237
|
-
- Template: `assets/agents-md-template.md`
|
|
238
|
-
- Best practices reference: `references/best-practices.md`
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# AGENTS — Project Knowledge Base
|
|
2
|
-
|
|
3
|
-
## 1. Project Summary
|
|
4
|
-
{{PROJECT_SUMMARY}}
|
|
5
|
-
|
|
6
|
-
## 2. Tech Stack
|
|
7
|
-
{{TECH_STACK}}
|
|
8
|
-
|
|
9
|
-
## 3. Architecture Overview
|
|
10
|
-
{{ARCHITECTURE_OVERVIEW}}
|
|
11
|
-
|
|
12
|
-
## 4. Folder Structure & Important Files
|
|
13
|
-
{{FOLDER_STRUCTURE}}
|
|
14
|
-
|
|
15
|
-
## 5. Commands
|
|
16
|
-
```bash
|
|
17
|
-
# Build
|
|
18
|
-
{{BUILD_COMMAND}}
|
|
19
|
-
|
|
20
|
-
# Test
|
|
21
|
-
{{TEST_COMMAND}}
|
|
22
|
-
|
|
23
|
-
# Lint / Format
|
|
24
|
-
{{LINT_COMMAND}}
|
|
25
|
-
|
|
26
|
-
# Type check
|
|
27
|
-
{{TYPECHECK_COMMAND}}
|
|
28
|
-
|
|
29
|
-
# File-scoped commands
|
|
30
|
-
{{FILE_SCOPED_COMMANDS}}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 6. Core Business Logic & Domain Rules
|
|
34
|
-
{{BUSINESS_LOGIC}}
|
|
35
|
-
|
|
36
|
-
## 7. Data Models / Entities
|
|
37
|
-
{{DATA_MODELS}}
|
|
38
|
-
|
|
39
|
-
## 8. Domain Vocabulary / Glossary
|
|
40
|
-
{{DOMAIN_VOCABULARY}}
|
|
41
|
-
|
|
42
|
-
## 9. Target Users & Personas
|
|
43
|
-
{{TARGET_USERS}}
|
|
44
|
-
|
|
45
|
-
## 10. UI/UX Principles
|
|
46
|
-
{{UI_UX_PRINCIPLES}}
|
|
47
|
-
|
|
48
|
-
## 11. Security / Privacy Rules
|
|
49
|
-
{{SECURITY_RULES}}
|
|
50
|
-
|
|
51
|
-
## 12. Coding Conventions & Standards
|
|
52
|
-
{{CODING_CONVENTIONS}}
|
|
53
|
-
|
|
54
|
-
## 13. Development Rules for AI Agents
|
|
55
|
-
|
|
56
|
-
### Always do:
|
|
57
|
-
{{ALWAYS_DO_RULES}}
|
|
58
|
-
|
|
59
|
-
### Ask first:
|
|
60
|
-
{{ASK_FIRST_RULES}}
|
|
61
|
-
|
|
62
|
-
### Never do:
|
|
63
|
-
{{NEVER_DO_RULES}}
|
|
64
|
-
|
|
65
|
-
## 14. Integration Map
|
|
66
|
-
{{INTEGRATION_MAP}}
|
|
67
|
-
|
|
68
|
-
## 15. Testing Strategy
|
|
69
|
-
{{TESTING_STRATEGY}}
|
|
70
|
-
|
|
71
|
-
## 16. Roadmap & Future Plans
|
|
72
|
-
{{ROADMAP}}
|
|
73
|
-
|
|
74
|
-
## 17. Known Issues / Limitations
|
|
75
|
-
{{KNOWN_ISSUES}}
|
|
76
|
-
|
|
77
|
-
## 18. Troubleshooting Guide
|
|
78
|
-
{{TROUBLESHOOTING}}
|
|
79
|
-
|
|
80
|
-
## 19. Ownership / Responsibility Map
|
|
81
|
-
{{OWNERSHIP_MAP}}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
# AGENTS.md Best Practices Reference
|
|
2
|
-
|
|
3
|
-
Compiled from analysis of 2,500+ repositories and official documentation from GitHub, GitLab, Windsurf, and the agents.md specification.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
1. [Six Essential Areas](#six-essential-areas)
|
|
8
|
-
2. [Writing Principles](#writing-principles)
|
|
9
|
-
3. [Common Anti-Patterns](#common-anti-patterns)
|
|
10
|
-
4. [Monorepo Patterns](#monorepo-patterns)
|
|
11
|
-
5. [Cross-Tool Compatibility](#cross-tool-compatibility)
|
|
12
|
-
6. [Section-Specific Guidance](#section-specific-guidance)
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Six Essential Areas
|
|
17
|
-
|
|
18
|
-
The highest-impact sections, based on empirical analysis of what actually improves AI agent output:
|
|
19
|
-
|
|
20
|
-
| Area | Why It Matters | Example |
|
|
21
|
-
|------|---------------|---------|
|
|
22
|
-
| **Commands** | Agents need exact executable commands, not descriptions | `npm test -- --watch` not "run the tests" |
|
|
23
|
-
| **Testing** | Framework-specific practices prevent wrong test patterns | `vitest` vs `jest` syntax differences |
|
|
24
|
-
| **Project Structure** | Agents need exact file locations, not guesses | `src/api/routes/` not "the API folder" |
|
|
25
|
-
| **Code Style** | Real examples prevent style drift | Show actual component code |
|
|
26
|
-
| **Git Workflow** | Prevents wrong branching, commit, and PR patterns | `feat/`, `fix/` branch prefixes |
|
|
27
|
-
| **Boundaries** | Clear "never do" rules prevent the worst mistakes | Never commit `.env`, never modify `vendor/` |
|
|
28
|
-
|
|
29
|
-
## Writing Principles
|
|
30
|
-
|
|
31
|
-
### Specificity Over Generality
|
|
32
|
-
|
|
33
|
-
The #1 predictor of AGENTS.md effectiveness is specificity. Vague instructions get vague results.
|
|
34
|
-
|
|
35
|
-
**Versions matter:**
|
|
36
|
-
```markdown
|
|
37
|
-
# Vague
|
|
38
|
-
- Uses React and TypeScript
|
|
39
|
-
|
|
40
|
-
# Specific
|
|
41
|
-
- React 18.3 with TypeScript 5.4
|
|
42
|
-
- Node.js >= 20 (uses native fetch)
|
|
43
|
-
- Tailwind CSS 3.4 with custom design tokens in tailwind.config.ts
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**Commands must be copy-pasteable:**
|
|
47
|
-
```markdown
|
|
48
|
-
# Vague
|
|
49
|
-
- Run the tests before committing
|
|
50
|
-
|
|
51
|
-
# Specific
|
|
52
|
-
- npm test # Full test suite
|
|
53
|
-
- npx vitest run src/utils/parse.test.ts # Single test file
|
|
54
|
-
- npx vitest --reporter=verbose # Detailed output
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Show, Don't Tell
|
|
58
|
-
|
|
59
|
-
Real code examples are 3-5x more effective than verbal descriptions for coding conventions.
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
# Verbal (less effective)
|
|
63
|
-
- Use functional components with TypeScript props
|
|
64
|
-
|
|
65
|
-
# Example (more effective)
|
|
66
|
-
## Component Pattern
|
|
67
|
-
export function UserCard({ user, onSelect }: UserCardProps) {
|
|
68
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
69
|
-
// Named exports, PascalCase, destructured props
|
|
70
|
-
// State hooks at top, handlers below
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Three-Tier Boundaries
|
|
75
|
-
|
|
76
|
-
The most impactful part of any AGENTS.md. Structure as:
|
|
77
|
-
|
|
78
|
-
1. **Always do** — Required behaviors (run typecheck, use existing utils)
|
|
79
|
-
2. **Ask first** — Needs human approval (new deps, schema changes, CI changes)
|
|
80
|
-
3. **Never do** — Absolute prohibitions (commit secrets, modify generated files, invent APIs)
|
|
81
|
-
|
|
82
|
-
"Never commit secrets" was identified as the single most helpful boundary rule across all analyzed repositories.
|
|
83
|
-
|
|
84
|
-
### Progressive Disclosure
|
|
85
|
-
|
|
86
|
-
Don't dump everything upfront. Structure information so agents encounter what they need when they need it:
|
|
87
|
-
|
|
88
|
-
- Put the most frequently needed info (commands, structure) at the top
|
|
89
|
-
- Put specialized info (troubleshooting, edge cases) at the bottom
|
|
90
|
-
- For complex topics, link to separate docs rather than inlining everything
|
|
91
|
-
|
|
92
|
-
## Common Anti-Patterns
|
|
93
|
-
|
|
94
|
-
### 1. Placeholder Sections
|
|
95
|
-
```markdown
|
|
96
|
-
# Bad — worse than omitting the section entirely
|
|
97
|
-
## Roadmap
|
|
98
|
-
- TBD
|
|
99
|
-
|
|
100
|
-
## Ownership
|
|
101
|
-
- Not specified
|
|
102
|
-
```
|
|
103
|
-
Empty sections signal that the document is incomplete and may be untrustworthy. Omit sections you can't fill meaningfully.
|
|
104
|
-
|
|
105
|
-
### 2. Vague Boundaries
|
|
106
|
-
```markdown
|
|
107
|
-
# Bad
|
|
108
|
-
- Be careful with the database
|
|
109
|
-
- Follow best practices
|
|
110
|
-
|
|
111
|
-
# Good
|
|
112
|
-
- Never run DROP, TRUNCATE, or DELETE without WHERE clause
|
|
113
|
-
- Always use parameterized queries, never string interpolation for SQL
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### 3. Describing Style Without Examples
|
|
117
|
-
```markdown
|
|
118
|
-
# Bad
|
|
119
|
-
- Use consistent naming conventions
|
|
120
|
-
- Follow the project's component pattern
|
|
121
|
-
|
|
122
|
-
# Good
|
|
123
|
-
- Variables: camelCase (userId, isActive)
|
|
124
|
-
- Components: PascalCase (UserCard, NavBar)
|
|
125
|
-
- Files: kebab-case (user-card.tsx, nav-bar.tsx)
|
|
126
|
-
- Constants: UPPER_SNAKE (MAX_RETRIES, API_BASE_URL)
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### 4. Duplicating README Content
|
|
130
|
-
AGENTS.md should contain agent-specific guidance that would clutter a human README. Don't copy your README — reference it and add the agent-specific context.
|
|
131
|
-
|
|
132
|
-
### 5. One-Time Setup, Never Updated
|
|
133
|
-
AGENTS.md should evolve with the project. After each time an AI agent makes a mistake that better instructions would have prevented, update the AGENTS.md.
|
|
134
|
-
|
|
135
|
-
## Monorepo Patterns
|
|
136
|
-
|
|
137
|
-
Place AGENTS.md files at multiple levels:
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
project/
|
|
141
|
-
├── AGENTS.md # Shared: monorepo conventions, CI, tooling
|
|
142
|
-
├── packages/
|
|
143
|
-
│ ├── api/
|
|
144
|
-
│ │ └── AGENTS.md # API-specific: routes, middleware, DB patterns
|
|
145
|
-
│ ├── web/
|
|
146
|
-
│ │ └── AGENTS.md # Frontend-specific: components, state, styling
|
|
147
|
-
│ └── shared/
|
|
148
|
-
│ └── AGENTS.md # Shared lib: export patterns, versioning
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
**Rules:**
|
|
152
|
-
- The closest AGENTS.md to the working file takes precedence
|
|
153
|
-
- Root AGENTS.md should contain cross-cutting concerns only
|
|
154
|
-
- Subdirectory files should not repeat root-level content
|
|
155
|
-
|
|
156
|
-
## Cross-Tool Compatibility
|
|
157
|
-
|
|
158
|
-
AGENTS.md is recognized by multiple AI coding tools:
|
|
159
|
-
|
|
160
|
-
| Tool | File | Precedence |
|
|
161
|
-
|------|------|-----------|
|
|
162
|
-
| GitHub Copilot | `AGENTS.md` | Standard |
|
|
163
|
-
| OpenAI Codex | `AGENTS.md`, `AGENTS.override.md` | Override > Standard |
|
|
164
|
-
| Claude Code | `CLAUDE.md`, `AGENTS.md` | Both read |
|
|
165
|
-
| Windsurf | `AGENTS.md`, `.windsurfrules` | Both read |
|
|
166
|
-
| Cursor | `.cursorrules`, `AGENTS.md` | Tool-specific first |
|
|
167
|
-
| GitLab Duo | `AGENTS.md` | Standard |
|
|
168
|
-
| Android Studio (Gemini) | `AGENTS.md` | Standard |
|
|
169
|
-
|
|
170
|
-
When a project has both AGENTS.md and tool-specific files (CLAUDE.md, .cursorrules), the tool-specific file typically takes precedence for that tool. AGENTS.md serves as the cross-tool baseline.
|
|
171
|
-
|
|
172
|
-
## Section-Specific Guidance
|
|
173
|
-
|
|
174
|
-
### Commands Section
|
|
175
|
-
- Include every command a developer might need
|
|
176
|
-
- Show exact flags, not just the base command
|
|
177
|
-
- Group by purpose (build, test, lint, deploy)
|
|
178
|
-
- Include file-scoped variants where applicable
|
|
179
|
-
- Note any required environment variables
|
|
180
|
-
|
|
181
|
-
### Project Structure Section
|
|
182
|
-
- Focus on directories agents will actually work in
|
|
183
|
-
- Explain naming conventions for files within each directory
|
|
184
|
-
- Call out generated or auto-maintained files (don't edit these)
|
|
185
|
-
- Note any files with special significance (entry points, config)
|
|
186
|
-
|
|
187
|
-
### Coding Conventions Section
|
|
188
|
-
- Show 2-3 real examples from the codebase for each convention
|
|
189
|
-
- Include import ordering rules
|
|
190
|
-
- Document error handling patterns
|
|
191
|
-
- Show preferred patterns for common operations (API calls, state management, etc.)
|
|
192
|
-
|
|
193
|
-
### Testing Section
|
|
194
|
-
- Include the exact test command with all needed flags
|
|
195
|
-
- Show the test file naming convention
|
|
196
|
-
- Provide a minimal test example in the project's style
|
|
197
|
-
- Document any test utilities or helpers available
|
|
198
|
-
- Note coverage thresholds if enforced
|
|
199
|
-
|
|
200
|
-
### Security Section
|
|
201
|
-
- List all files/directories that must never be committed
|
|
202
|
-
- Document authentication/authorization patterns
|
|
203
|
-
- Note any data handling requirements (PII, encryption)
|
|
204
|
-
- Call out environment-specific configurations
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Sources
|
|
209
|
-
|
|
210
|
-
- [agents.md — Official Specification](https://agents.md/)
|
|
211
|
-
- [GitHub Blog — Lessons from 2,500+ Repositories](https://github.blog/ai-and-ml/github-copilot/how-to-write-a-great-agents-md-lessons-from-over-2500-repositories/)
|
|
212
|
-
- [Builder.io — Best Tips for AGENTS.md](https://www.builder.io/blog/agents-md)
|
|
213
|
-
- [Factory Documentation](https://docs.factory.ai/cli/configuration/agents-md)
|
|
214
|
-
- [Windsurf Documentation](https://docs.windsurf.com/windsurf/cascade/agents-md)
|
|
215
|
-
- [GitLab Documentation](https://docs.gitlab.com/user/duo_agent_platform/customize/agents_md/)
|