buildcrew 1.0.0 → 1.1.1
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/README.ko.md +60 -87
- package/README.md +71 -104
- package/bin/setup.js +269 -224
- package/package.json +3 -1
- package/templates/api-spec.md +52 -0
- package/templates/architecture.md +49 -0
- package/templates/design-system.md +66 -0
- package/templates/env-vars.md +36 -0
- package/templates/erd.md +32 -0
- package/templates/glossary.md +27 -0
- package/templates/user-flow.md +40 -0
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "buildcrew",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "11 AI agents for Claude Code — auto-orchestrated dev team with 9 operating modes",
|
|
5
|
+
"homepage": "https://buildcrew-landing.vercel.app",
|
|
5
6
|
"author": "z1nun",
|
|
6
7
|
"license": "MIT",
|
|
7
8
|
"type": "module",
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
"files": [
|
|
12
13
|
"bin/",
|
|
13
14
|
"agents/",
|
|
15
|
+
"templates/",
|
|
14
16
|
"README.md",
|
|
15
17
|
"LICENSE"
|
|
16
18
|
],
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# API Specification
|
|
2
|
+
|
|
3
|
+
## Base URL
|
|
4
|
+
- **Development**: `http://localhost:3000/api`
|
|
5
|
+
- **Production**: `https://[your-domain]/api`
|
|
6
|
+
|
|
7
|
+
## Authentication
|
|
8
|
+
- **Method**: [Bearer token / Cookie / API key]
|
|
9
|
+
- **Header**: `Authorization: Bearer <token>`
|
|
10
|
+
|
|
11
|
+
## Endpoints
|
|
12
|
+
|
|
13
|
+
### [Resource Name]
|
|
14
|
+
|
|
15
|
+
#### `GET /api/[resource]`
|
|
16
|
+
- **Auth**: Required / Public
|
|
17
|
+
- **Description**: [what it does]
|
|
18
|
+
- **Query Params**: `?page=1&limit=20`
|
|
19
|
+
- **Response 200**:
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"data": [],
|
|
23
|
+
"total": 0
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
- **Response 401**: Unauthorized
|
|
27
|
+
|
|
28
|
+
#### `POST /api/[resource]`
|
|
29
|
+
- **Auth**: Required
|
|
30
|
+
- **Body**:
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"field": "value"
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
- **Response 201**: Created
|
|
37
|
+
- **Response 400**: Validation error
|
|
38
|
+
|
|
39
|
+
## Error Format
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"error": "Error message",
|
|
43
|
+
"code": "ERROR_CODE"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Rate Limits
|
|
48
|
+
- [e.g., "100 requests per minute per user"]
|
|
49
|
+
- [e.g., "AI endpoints: 10 requests per minute"]
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
*Agents use this to implement correct API calls, validate endpoints during review, and test during QA.*
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## System Overview
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
[Client] → [Frontend] → [API Layer] → [Database]
|
|
7
|
+
↓ ↓
|
|
8
|
+
[Auth] [External APIs]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Frontend
|
|
12
|
+
- **Framework**: [Next.js / React / Vue / etc.]
|
|
13
|
+
- **Routing**: [App Router / Pages Router / file-based]
|
|
14
|
+
- **State Management**: [React Context / Zustand / Redux / etc.]
|
|
15
|
+
- **Styling**: [TailwindCSS / CSS Modules / styled-components]
|
|
16
|
+
|
|
17
|
+
## Backend / API
|
|
18
|
+
- **Type**: [Next.js API Routes / Express / serverless]
|
|
19
|
+
- **Authentication**: [Supabase Auth / NextAuth / custom]
|
|
20
|
+
- **Database**: [Supabase / PostgreSQL / MongoDB]
|
|
21
|
+
- **ORM**: [Prisma / Drizzle / Supabase client]
|
|
22
|
+
|
|
23
|
+
## External Services
|
|
24
|
+
| Service | Purpose | Auth Method |
|
|
25
|
+
|---------|---------|-------------|
|
|
26
|
+
| [e.g., OpenAI] | [AI generation] | [API key] |
|
|
27
|
+
| [e.g., Stripe] | [Payments] | [API key + webhook] |
|
|
28
|
+
|
|
29
|
+
## Directory Structure
|
|
30
|
+
```
|
|
31
|
+
src/
|
|
32
|
+
├── app/ [pages and API routes]
|
|
33
|
+
├── components/ [React components]
|
|
34
|
+
├── lib/ [utilities and helpers]
|
|
35
|
+
└── [other dirs]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Key Patterns
|
|
39
|
+
- [e.g., "Server components by default, 'use client' only when needed"]
|
|
40
|
+
- [e.g., "All DB access through lib/supabase/ helpers"]
|
|
41
|
+
- [e.g., "API routes validate input with zod"]
|
|
42
|
+
|
|
43
|
+
## Deploy
|
|
44
|
+
- **Platform**: [Vercel / AWS / etc.]
|
|
45
|
+
- **CI/CD**: [GitHub Actions / Vercel auto-deploy]
|
|
46
|
+
- **Environments**: [dev, staging, prod]
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
*Agents use this to understand system boundaries, make architecture-consistent decisions, and avoid breaking existing patterns.*
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Design System
|
|
2
|
+
|
|
3
|
+
## Colors
|
|
4
|
+
|
|
5
|
+
### Brand
|
|
6
|
+
| Token | Value | Usage |
|
|
7
|
+
|-------|-------|-------|
|
|
8
|
+
| `primary` | [#hex] | CTAs, links, active states |
|
|
9
|
+
| `secondary` | [#hex] | Secondary buttons, borders |
|
|
10
|
+
| `accent` | [#hex] | Highlights, badges |
|
|
11
|
+
|
|
12
|
+
### Semantic
|
|
13
|
+
| Token | Value | Usage |
|
|
14
|
+
|-------|-------|-------|
|
|
15
|
+
| `success` | [#hex] | Success messages, confirmations |
|
|
16
|
+
| `error` | [#hex] | Error messages, destructive actions |
|
|
17
|
+
| `warning` | [#hex] | Warnings, caution states |
|
|
18
|
+
| `info` | [#hex] | Informational messages |
|
|
19
|
+
|
|
20
|
+
### Neutral
|
|
21
|
+
| Token | Value | Usage |
|
|
22
|
+
|-------|-------|-------|
|
|
23
|
+
| `bg` | [#hex] | Page background |
|
|
24
|
+
| `surface` | [#hex] | Card/modal backgrounds |
|
|
25
|
+
| `border` | [#hex] | Borders, dividers |
|
|
26
|
+
| `text` | [#hex] | Primary text |
|
|
27
|
+
| `text-muted` | [#hex] | Secondary text, labels |
|
|
28
|
+
|
|
29
|
+
## Typography
|
|
30
|
+
|
|
31
|
+
| Level | Size | Weight | Line Height | Usage |
|
|
32
|
+
|-------|------|--------|-------------|-------|
|
|
33
|
+
| H1 | [rem] | [weight] | [lh] | Page titles |
|
|
34
|
+
| H2 | [rem] | [weight] | [lh] | Section titles |
|
|
35
|
+
| H3 | [rem] | [weight] | [lh] | Card titles |
|
|
36
|
+
| Body | [rem] | [weight] | [lh] | Default text |
|
|
37
|
+
| Small | [rem] | [weight] | [lh] | Captions, labels |
|
|
38
|
+
|
|
39
|
+
## Spacing
|
|
40
|
+
- **Base unit**: [4px / 8px]
|
|
41
|
+
- **Scale**: 4, 8, 12, 16, 24, 32, 48, 64
|
|
42
|
+
|
|
43
|
+
## Border Radius
|
|
44
|
+
- **Small**: [4px] — inputs, small cards
|
|
45
|
+
- **Medium**: [8px] — cards, modals
|
|
46
|
+
- **Large**: [16px] — large containers
|
|
47
|
+
- **Full**: [9999px] — pills, avatars
|
|
48
|
+
|
|
49
|
+
## Shadows
|
|
50
|
+
- **Small**: [shadow] — hover states
|
|
51
|
+
- **Medium**: [shadow] — cards, dropdowns
|
|
52
|
+
- **Large**: [shadow] — modals, popovers
|
|
53
|
+
|
|
54
|
+
## Components
|
|
55
|
+
| Component | Variants | Location |
|
|
56
|
+
|-----------|----------|----------|
|
|
57
|
+
| Button | primary, secondary, ghost, destructive | `src/components/Button` |
|
|
58
|
+
| [Component] | [variants] | [path] |
|
|
59
|
+
|
|
60
|
+
## Animation
|
|
61
|
+
- **Duration**: fast (150ms), normal (300ms), slow (500ms)
|
|
62
|
+
- **Easing**: ease-out for enter, ease-in for exit
|
|
63
|
+
- **Library**: [Framer Motion / CSS transitions / etc.]
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
*Agents use this to create visually consistent components, pick correct tokens, and follow established patterns.*
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Environment Variables
|
|
2
|
+
|
|
3
|
+
## Required (app won't work without these)
|
|
4
|
+
|
|
5
|
+
| Variable | Description | Where to Get |
|
|
6
|
+
|----------|-------------|-------------|
|
|
7
|
+
| `DATABASE_URL` | [Database connection string] | [Supabase dashboard / provider] |
|
|
8
|
+
| `NEXT_PUBLIC_SUPABASE_URL` | [Supabase project URL] | [Supabase dashboard] |
|
|
9
|
+
| `NEXT_PUBLIC_SUPABASE_ANON_KEY` | [Supabase public key] | [Supabase dashboard] |
|
|
10
|
+
| | | |
|
|
11
|
+
|
|
12
|
+
## Optional (features degrade gracefully)
|
|
13
|
+
|
|
14
|
+
| Variable | Description | Feature Affected |
|
|
15
|
+
|----------|-------------|-----------------|
|
|
16
|
+
| `OPENAI_API_KEY` | [AI API access] | [AI features disabled] |
|
|
17
|
+
| `STRIPE_SECRET_KEY` | [Payment processing] | [Payments disabled] |
|
|
18
|
+
| | | |
|
|
19
|
+
|
|
20
|
+
## Server-Only (never expose to client)
|
|
21
|
+
|
|
22
|
+
| Variable | Why Server-Only |
|
|
23
|
+
|----------|----------------|
|
|
24
|
+
| `SUPABASE_SERVICE_ROLE_KEY` | Bypasses RLS |
|
|
25
|
+
| `[API]_SECRET_KEY` | Payment/API secrets |
|
|
26
|
+
|
|
27
|
+
## Environments
|
|
28
|
+
|
|
29
|
+
| Env | .env file | Notes |
|
|
30
|
+
|-----|-----------|-------|
|
|
31
|
+
| Local | `.env.local` | Never committed |
|
|
32
|
+
| Preview | Vercel env vars | Auto from branch |
|
|
33
|
+
| Production | Vercel env vars | Manual setup |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
*Agents use this to avoid exposing secrets, configure features correctly, and debug environment issues.*
|
package/templates/erd.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# ERD (Entity Relationship Diagram)
|
|
2
|
+
|
|
3
|
+
## Tables
|
|
4
|
+
|
|
5
|
+
### users
|
|
6
|
+
| Column | Type | Constraints | Description |
|
|
7
|
+
|--------|------|-------------|-------------|
|
|
8
|
+
| id | uuid | PK | |
|
|
9
|
+
| email | text | unique, not null | |
|
|
10
|
+
| created_at | timestamp | default now() | |
|
|
11
|
+
|
|
12
|
+
### [table_name]
|
|
13
|
+
| Column | Type | Constraints | Description |
|
|
14
|
+
|--------|------|-------------|-------------|
|
|
15
|
+
|
|
16
|
+
## Relationships
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
users 1──* orders (one user has many orders)
|
|
20
|
+
orders *──1 products (many orders reference one product)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Indexes
|
|
24
|
+
- `users.email` — unique index for login lookup
|
|
25
|
+
- [add your indexes]
|
|
26
|
+
|
|
27
|
+
## RLS Policies (if using Supabase)
|
|
28
|
+
- `users`: users can only read/update their own row
|
|
29
|
+
- [add your policies]
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
*Agents use this to understand your data model when planning features, writing queries, and reviewing security.*
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Glossary
|
|
2
|
+
|
|
3
|
+
Domain terms and their definitions. All agents use consistent terminology.
|
|
4
|
+
|
|
5
|
+
| Term | Definition | In Code As |
|
|
6
|
+
|------|-----------|------------|
|
|
7
|
+
| [e.g., reading] | [e.g., A tarot card reading session] | `Reading` type |
|
|
8
|
+
| [e.g., spread] | [e.g., The layout pattern for cards] | `SpreadType` enum |
|
|
9
|
+
| [e.g., interpretation] | [e.g., AI-generated meaning of cards] | `Interpretation` type |
|
|
10
|
+
| | | |
|
|
11
|
+
| | | |
|
|
12
|
+
|
|
13
|
+
## User Roles
|
|
14
|
+
| Role | Permissions | In Code As |
|
|
15
|
+
|------|------------|------------|
|
|
16
|
+
| [e.g., free user] | [e.g., 3 readings per day] | `role: "free"` |
|
|
17
|
+
| [e.g., premium] | [e.g., unlimited readings + chat] | `role: "premium"` |
|
|
18
|
+
| [e.g., admin] | [e.g., all access + user management] | `role: "admin"` |
|
|
19
|
+
|
|
20
|
+
## Status Flows
|
|
21
|
+
```
|
|
22
|
+
[e.g., Order: draft → pending → paid → fulfilled → completed]
|
|
23
|
+
[e.g., User: anonymous → registered → verified → premium]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
*Agents use this to write code with correct naming, understand business logic, and communicate clearly in docs.*
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# User Flows
|
|
2
|
+
|
|
3
|
+
## Core Flows
|
|
4
|
+
|
|
5
|
+
### [Flow Name, e.g., "Purchase Flow"]
|
|
6
|
+
```
|
|
7
|
+
[Entry Point] → [Step 1] → [Step 2] → [Step 3] → [Success]
|
|
8
|
+
↓ ↓ ↓
|
|
9
|
+
[Error A] [Error B] [Error C]
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Happy Path**:
|
|
13
|
+
1. User [action]
|
|
14
|
+
2. System [response]
|
|
15
|
+
3. User [action]
|
|
16
|
+
4. System [response] → Success
|
|
17
|
+
|
|
18
|
+
**Error Paths**:
|
|
19
|
+
- Step 1 fails: [what happens, where user goes]
|
|
20
|
+
- Step 2 fails: [what happens]
|
|
21
|
+
- Network error: [retry? fallback?]
|
|
22
|
+
|
|
23
|
+
**Edge Cases**:
|
|
24
|
+
- [e.g., user refreshes mid-flow]
|
|
25
|
+
- [e.g., session expires during checkout]
|
|
26
|
+
- [e.g., concurrent access from two devices]
|
|
27
|
+
|
|
28
|
+
### [Next Flow...]
|
|
29
|
+
|
|
30
|
+
## Page Map
|
|
31
|
+
```
|
|
32
|
+
/ → Home (landing)
|
|
33
|
+
/login → Auth
|
|
34
|
+
/dashboard → Main dashboard (auth required)
|
|
35
|
+
/dashboard/[id] → Detail page
|
|
36
|
+
/settings → User settings
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
*Agents use this to implement correct navigation, handle all error states, and test edge cases during QA.*
|