vibe-forge 0.8.2 → 0.8.5

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.
@@ -1,41 +1,41 @@
1
- # Agent Overrides
2
-
3
- Place per-agent override files here to customize agent behavior for this project.
4
-
5
- ## How It Works
6
-
7
- When Planning Hub spawns a worker, it appends the contents of
8
- `context/agent-overrides/<agent-name>.md` to the agent's system prompt.
9
- This lets you add project-specific rules without modifying the global
10
- personality files.
11
-
12
- ## File Naming
13
-
14
- Use the canonical agent name (matching `config/agents.json`):
15
-
16
- ```
17
- context/agent-overrides/
18
- anvil.md # Frontend-specific project rules
19
- furnace.md # Backend-specific project rules
20
- crucible.md # Testing conventions for this project
21
- ...
22
- ```
23
-
24
- ## What to Put Here
25
-
26
- - Tech stack constraints ("Use React Query, not SWR")
27
- - Naming conventions specific to this project
28
- - Files or directories the agent should never touch
29
- - Patterns the agent should follow or avoid
30
- - Project-specific testing requirements
31
-
32
- ## Example
33
-
34
- ```markdown
35
- # Anvil Overrides
36
-
37
- - Use Tailwind CSS utility classes, no custom CSS files
38
- - All components must be in `src/components/` with PascalCase naming
39
- - Use `shadcn/ui` for base components, don't reinvent
40
- - Never import from `@/lib/legacy/` (deprecated)
41
- ```
1
+ # Agent Overrides
2
+
3
+ Place per-agent override files here to customize agent behavior for this project.
4
+
5
+ ## How It Works
6
+
7
+ When Planning Hub spawns a worker, it appends the contents of
8
+ `context/agent-overrides/<agent-name>.md` to the agent's system prompt.
9
+ This lets you add project-specific rules without modifying the global
10
+ personality files.
11
+
12
+ ## File Naming
13
+
14
+ Use the canonical agent name (matching `config/agents.json`):
15
+
16
+ ```
17
+ context/agent-overrides/
18
+ anvil.md # Frontend-specific project rules
19
+ furnace.md # Backend-specific project rules
20
+ crucible.md # Testing conventions for this project
21
+ ...
22
+ ```
23
+
24
+ ## What to Put Here
25
+
26
+ - Tech stack constraints ("Use React Query, not SWR")
27
+ - Naming conventions specific to this project
28
+ - Files or directories the agent should never touch
29
+ - Patterns the agent should follow or avoid
30
+ - Project-specific testing requirements
31
+
32
+ ## Example
33
+
34
+ ```markdown
35
+ # Anvil Overrides
36
+
37
+ - Use Tailwind CSS utility classes, no custom CSS files
38
+ - All components must be in `src/components/` with PascalCase naming
39
+ - Use `shadcn/ui` for base components, don't reinvent
40
+ - Never import from `@/lib/legacy/` (deprecated)
41
+ ```
@@ -1,42 +1,42 @@
1
- # Project Architecture
2
-
3
- This file contains project-specific architectural decisions and guardrails.
4
- Agents read this during planning and task execution to stay aligned.
5
-
6
- For Vibe Forge's own architecture, see [docs/architecture.md](../docs/architecture.md).
7
-
8
- ---
9
-
10
- ## Key Decisions
11
-
12
- <!-- Add project-specific architectural decisions here -->
13
- <!-- Example:
14
- - **Auth:** JWT with httpOnly cookies, refresh token rotation
15
- - **Database:** PostgreSQL via Prisma ORM, no raw SQL outside migrations
16
- - **API:** REST for CRUD, WebSocket for real-time updates
17
- -->
18
-
19
- ## Patterns
20
-
21
- <!-- Document patterns agents should follow -->
22
- <!-- Example:
23
- - Repository pattern for data access (no direct DB queries in handlers)
24
- - Error boundaries at route level, not in services
25
- - All new endpoints require OpenAPI spec before implementation
26
- -->
27
-
28
- ## Guardrails
29
-
30
- <!-- Things agents must NOT do -->
31
- <!-- Example:
32
- - Never modify schema files without running `prisma migrate dev`
33
- - No new dependencies without architect approval
34
- - No `any` types in TypeScript
35
- -->
36
-
37
- ## ADR Index
38
-
39
- <!-- Link to Architecture Decision Records as they're created -->
40
- <!-- Example:
41
- - [ADR-001](../docs/adr/ADR-001-daemon-module-extraction.md) - Daemon module extraction
42
- -->
1
+ # Project Architecture
2
+
3
+ This file contains project-specific architectural decisions and guardrails.
4
+ Agents read this during planning and task execution to stay aligned.
5
+
6
+ For Vibe Forge's own architecture, see [docs/architecture.md](../docs/architecture.md).
7
+
8
+ ---
9
+
10
+ ## Key Decisions
11
+
12
+ <!-- Add project-specific architectural decisions here -->
13
+ <!-- Example:
14
+ - **Auth:** JWT with httpOnly cookies, refresh token rotation
15
+ - **Database:** PostgreSQL via Prisma ORM, no raw SQL outside migrations
16
+ - **API:** REST for CRUD, WebSocket for real-time updates
17
+ -->
18
+
19
+ ## Patterns
20
+
21
+ <!-- Document patterns agents should follow -->
22
+ <!-- Example:
23
+ - Repository pattern for data access (no direct DB queries in handlers)
24
+ - Error boundaries at route level, not in services
25
+ - All new endpoints require OpenAPI spec before implementation
26
+ -->
27
+
28
+ ## Guardrails
29
+
30
+ <!-- Things agents must NOT do -->
31
+ <!-- Example:
32
+ - Never modify schema files without running `prisma migrate dev`
33
+ - No new dependencies without architect approval
34
+ - No `any` types in TypeScript
35
+ -->
36
+
37
+ ## ADR Index
38
+
39
+ <!-- Link to Architecture Decision Records as they're created -->
40
+ <!-- Example:
41
+ - [ADR-001](../docs/adr/ADR-001-daemon-module-extraction.md) - Daemon module extraction
42
+ -->
@@ -1,129 +1,129 @@
1
- # Modern Development Conventions
2
-
3
- Reference for up-to-date tooling and naming conventions. Knowledge cutoffs can cause outdated suggestions - prefer these modern approaches.
4
-
5
- ## Docker & Containers
6
-
7
- ### Compose (V2+, 2021)
8
-
9
- - **File name:** `compose.yml` or `compose.yaml` (NOT `docker-compose.yml`)
10
- - **Command:** `docker compose` (NOT `docker-compose`)
11
- - Compose V2 is built into Docker CLI, no separate install needed
12
- - `docker-compose` (hyphenated) is legacy V1
13
-
14
- ```yaml
15
- # compose.yml (modern)
16
- services:
17
- app:
18
- build: .
19
- ports:
20
- - "3000:3000"
21
- ```
22
-
23
- ### Docker Best Practices
24
-
25
- - Use multi-stage builds for smaller images
26
- - Prefer `COPY` over `ADD` unless extracting archives
27
- - Use `.dockerignore` to exclude node_modules, .git, etc.
28
- - Pin base image versions (e.g., `node:20-alpine`, not `node:latest`)
29
-
30
- ## Package Managers
31
-
32
- ### Node.js
33
-
34
- - **npm:** v7+ supports workspaces, lockfile v2
35
- - **pnpm:** Preferred for monorepos, faster, stricter
36
- - **Bun:** Fast runtime + package manager, growing adoption
37
-
38
- ### Python
39
-
40
- - **uv:** Modern, fast replacement for pip/pip-tools (2024+)
41
- - **poetry:** Dependency management + packaging
42
- - **pipx:** For CLI tools (don't pip install globally)
43
-
44
- ## TypeScript
45
-
46
- - **Config:** `tsconfig.json` with `"moduleResolution": "bundler"` for modern bundlers
47
- - **Strict mode:** Always enable `"strict": true`
48
- - **Node types:** `@types/node` version should match Node.js version
49
-
50
- ## Testing
51
-
52
- ### JavaScript/TypeScript
53
-
54
- - **Vitest:** Modern, fast, Vite-native (preferred for new projects)
55
- - **Jest:** Still widely used, v30+ reduces deprecated deps
56
- - **Playwright:** E2E testing, cross-browser
57
-
58
- ### Python
59
-
60
- - **pytest:** Standard, use over unittest
61
- - **pytest-cov:** Coverage reporting
62
-
63
- ## CI/CD
64
-
65
- ### GitHub Actions
66
-
67
- - Use `actions/checkout@v4`, `actions/setup-node@v4` (latest major versions)
68
- - Prefer `npm ci` over `npm install` in CI
69
- - Use job matrices for cross-platform testing
70
-
71
- ## Linting & Formatting
72
-
73
- ### JavaScript/TypeScript
74
-
75
- - **ESLint v9+:** Flat config (`eslint.config.js`, not `.eslintrc`)
76
- - **Prettier:** Code formatting (or use ESLint with stylistic rules)
77
- - **Biome:** Fast all-in-one linter + formatter (Rust-based)
78
-
79
- ### Python
80
-
81
- - **Ruff:** Fast linter + formatter (replaces flake8, black, isort)
82
- - **mypy:** Type checking
83
-
84
- ## API Design
85
-
86
- ### REST
87
-
88
- - Use plural nouns for collections (`/users`, not `/user`)
89
- - HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE
90
- - Status codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error
91
-
92
- ### Authentication
93
-
94
- - **JWTs:** Short expiry + refresh tokens, store in httpOnly cookies (not localStorage)
95
- - **OAuth 2.0 / OIDC:** For third-party auth
96
- - **Passkeys/WebAuthn:** Modern passwordless option
97
-
98
- ## Database
99
-
100
- ### ORMs
101
-
102
- - **Prisma:** Type-safe, great DX for Node.js/TypeScript
103
- - **Drizzle:** Lightweight, SQL-like syntax
104
- - **SQLAlchemy 2.0:** Python standard (note: 2.0 syntax differs from 1.x)
105
-
106
- ### Migrations
107
-
108
- - Always use migrations, never manual schema changes in production
109
- - Version control migration files
110
-
111
- ## Frontend
112
-
113
- ### React
114
-
115
- - **React 18+:** Concurrent features, Suspense
116
- - Prefer function components + hooks over class components
117
- - Use React Server Components where appropriate (Next.js 13+)
118
-
119
- ### State Management
120
-
121
- - Start with React Context + useReducer
122
- - **Zustand:** Simple, minimal boilerplate
123
- - **TanStack Query:** For server state (caching, refetching)
124
-
125
- ## Monorepos
126
-
127
- - **Turborepo:** Fast builds, caching
128
- - **Nx:** Full-featured, good for enterprise
129
- - **pnpm workspaces:** Native package manager support
1
+ # Modern Development Conventions
2
+
3
+ Reference for up-to-date tooling and naming conventions. Knowledge cutoffs can cause outdated suggestions - prefer these modern approaches.
4
+
5
+ ## Docker & Containers
6
+
7
+ ### Compose (V2+, 2021)
8
+
9
+ - **File name:** `compose.yml` or `compose.yaml` (NOT `docker-compose.yml`)
10
+ - **Command:** `docker compose` (NOT `docker-compose`)
11
+ - Compose V2 is built into Docker CLI, no separate install needed
12
+ - `docker-compose` (hyphenated) is legacy V1
13
+
14
+ ```yaml
15
+ # compose.yml (modern)
16
+ services:
17
+ app:
18
+ build: .
19
+ ports:
20
+ - "3000:3000"
21
+ ```
22
+
23
+ ### Docker Best Practices
24
+
25
+ - Use multi-stage builds for smaller images
26
+ - Prefer `COPY` over `ADD` unless extracting archives
27
+ - Use `.dockerignore` to exclude node_modules, .git, etc.
28
+ - Pin base image versions (e.g., `node:20-alpine`, not `node:latest`)
29
+
30
+ ## Package Managers
31
+
32
+ ### Node.js
33
+
34
+ - **npm:** v7+ supports workspaces, lockfile v2
35
+ - **pnpm:** Preferred for monorepos, faster, stricter
36
+ - **Bun:** Fast runtime + package manager, growing adoption
37
+
38
+ ### Python
39
+
40
+ - **uv:** Modern, fast replacement for pip/pip-tools (2024+)
41
+ - **poetry:** Dependency management + packaging
42
+ - **pipx:** For CLI tools (don't pip install globally)
43
+
44
+ ## TypeScript
45
+
46
+ - **Config:** `tsconfig.json` with `"moduleResolution": "bundler"` for modern bundlers
47
+ - **Strict mode:** Always enable `"strict": true`
48
+ - **Node types:** `@types/node` version should match Node.js version
49
+
50
+ ## Testing
51
+
52
+ ### JavaScript/TypeScript
53
+
54
+ - **Vitest:** Modern, fast, Vite-native (preferred for new projects)
55
+ - **Jest:** Still widely used, v30+ reduces deprecated deps
56
+ - **Playwright:** E2E testing, cross-browser
57
+
58
+ ### Python
59
+
60
+ - **pytest:** Standard, use over unittest
61
+ - **pytest-cov:** Coverage reporting
62
+
63
+ ## CI/CD
64
+
65
+ ### GitHub Actions
66
+
67
+ - Use `actions/checkout@v4`, `actions/setup-node@v4` (latest major versions)
68
+ - Prefer `npm ci` over `npm install` in CI
69
+ - Use job matrices for cross-platform testing
70
+
71
+ ## Linting & Formatting
72
+
73
+ ### JavaScript/TypeScript
74
+
75
+ - **ESLint v9+:** Flat config (`eslint.config.js`, not `.eslintrc`)
76
+ - **Prettier:** Code formatting (or use ESLint with stylistic rules)
77
+ - **Biome:** Fast all-in-one linter + formatter (Rust-based)
78
+
79
+ ### Python
80
+
81
+ - **Ruff:** Fast linter + formatter (replaces flake8, black, isort)
82
+ - **mypy:** Type checking
83
+
84
+ ## API Design
85
+
86
+ ### REST
87
+
88
+ - Use plural nouns for collections (`/users`, not `/user`)
89
+ - HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE
90
+ - Status codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error
91
+
92
+ ### Authentication
93
+
94
+ - **JWTs:** Short expiry + refresh tokens, store in httpOnly cookies (not localStorage)
95
+ - **OAuth 2.0 / OIDC:** For third-party auth
96
+ - **Passkeys/WebAuthn:** Modern passwordless option
97
+
98
+ ## Database
99
+
100
+ ### ORMs
101
+
102
+ - **Prisma:** Type-safe, great DX for Node.js/TypeScript
103
+ - **Drizzle:** Lightweight, SQL-like syntax
104
+ - **SQLAlchemy 2.0:** Python standard (note: 2.0 syntax differs from 1.x)
105
+
106
+ ### Migrations
107
+
108
+ - Always use migrations, never manual schema changes in production
109
+ - Version control migration files
110
+
111
+ ## Frontend
112
+
113
+ ### React
114
+
115
+ - **React 18+:** Concurrent features, Suspense
116
+ - Prefer function components + hooks over class components
117
+ - Use React Server Components where appropriate (Next.js 13+)
118
+
119
+ ### State Management
120
+
121
+ - Start with React Context + useReducer
122
+ - **Zustand:** Simple, minimal boilerplate
123
+ - **TanStack Query:** For server state (caching, refetching)
124
+
125
+ ## Monorepos
126
+
127
+ - **Turborepo:** Fast builds, caching
128
+ - **Nx:** Full-featured, good for enterprise
129
+ - **pnpm workspaces:** Native package manager support