@dedesfr/prompter 0.8.13 โ 0.8.15
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 +21 -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/skills/sph-generator/SKILL.md +472 -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,26 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [0.8.15] - 2026-05-05
|
|
4
|
+
|
|
5
|
+
### โจ Added
|
|
6
|
+
- **sph-generator Skill**: Generates Surat Penawaran Harga / Price Quotation Letter documents as portable Markdown
|
|
7
|
+
- Supports Bahasa Indonesia and English output
|
|
8
|
+
- Supports goods (`barang`) and services (`jasa`) quotation formats
|
|
9
|
+
- Optimized for clean conversion to `.docx` or `.pdf` via Pandoc
|
|
10
|
+
|
|
11
|
+
## [0.8.14] - 2026-04-29
|
|
12
|
+
|
|
13
|
+
### ๐ Changed
|
|
14
|
+
- **ai-context-generator Skill**: Renamed from `agents-md-generator` for broader applicability
|
|
15
|
+
- Updated skill name in init command documentation category selection
|
|
16
|
+
- Reflects expanded scope beyond just AGENTS.md generation
|
|
17
|
+
|
|
18
|
+
### โจ Added
|
|
19
|
+
- **ai-context-generator Skill References**: New reference materials for enhanced context extraction
|
|
20
|
+
- **Extraction Checklist**: Structured guide for pulling key facts from project discovery
|
|
21
|
+
- **Laravel Overlay**: Laravel-specific safety rules and destructive command confirmation requirements
|
|
22
|
+
- Both references help generate more accurate, project-specific AI context documentation
|
|
23
|
+
|
|
3
24
|
## [0.8.12] - 2026-04-22
|
|
4
25
|
|
|
5
26
|
### ๐ 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.15');
|
|
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.
|