Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
a3c3216
docs(fork): add FORK_README.md and FORK_CHANGELOG.md
cabana8471-arch Jan 21, 2026
8f4165a
feat(config): add enhanced configuration system
cabana8471-arch Jan 21, 2026
4c995dd
feat(error-recovery): add failure tracking and auto-clear stuck features
cabana8471-arch Jan 21, 2026
36de2c2
feat(error-recovery): add MCP tools for failure tracking
cabana8471-arch Jan 21, 2026
9b2cee2
feat(quality-gates): add quality checking module
cabana8471-arch Jan 21, 2026
4aec4b2
feat(import): add base analyzer abstract class
cabana8471-arch Jan 21, 2026
2b3b906
feat(import): add stack detector orchestrator
cabana8471-arch Jan 21, 2026
6ffb0f8
feat(import): add React/Next.js analyzer
cabana8471-arch Jan 21, 2026
c3ac135
feat(import): add Node.js/Express/NestJS analyzer
cabana8471-arch Jan 21, 2026
cbfd51c
feat(import): add Python/FastAPI/Django/Flask analyzer
cabana8471-arch Jan 21, 2026
a4262be
feat(import): add Vue.js/Nuxt analyzer
cabana8471-arch Jan 21, 2026
f3f9e59
docs(fork): update changelog with Stack Detector feature
cabana8471-arch Jan 21, 2026
03d246c
feat(import): add feature extractor module
cabana8471-arch Jan 21, 2026
41f99d1
feat(import): add import project REST API
cabana8471-arch Jan 21, 2026
739f605
docs(fork): update changelog with Import Project API
cabana8471-arch Jan 21, 2026
5c55007
docs(fork): mark completed features in Planned Features section
cabana8471-arch Jan 21, 2026
09f836e
feat(logging): add structured logging module with SQLite storage
cabana8471-arch Jan 21, 2026
fbd4eea
docs(fork): update changelog with Enhanced Logging feature
cabana8471-arch Jan 21, 2026
c3b20bf
feat(security): add security scanning module
cabana8471-arch Jan 21, 2026
f15e394
docs(fork): update changelog with Security Scanning feature
cabana8471-arch Jan 21, 2026
47fcef2
feat(git): add feature branches git workflow
cabana8471-arch Jan 21, 2026
7135901
docs(fork): update changelog with Feature Branches feature
cabana8471-arch Jan 21, 2026
3bcb584
feat(cicd): add CI/CD workflow generation
cabana8471-arch Jan 21, 2026
1b80b9d
docs(fork): update changelog with CI/CD Integration feature
cabana8471-arch Jan 21, 2026
81056d1
feat(templates): add project template library
cabana8471-arch Jan 21, 2026
aade804
docs(fork): update changelog with Template Library feature
cabana8471-arch Jan 21, 2026
c8aced4
feat(ui): add Import Wizard UI for importing existing projects
cabana8471-arch Jan 21, 2026
5f37a0b
docs(fork): update changelog with Import Wizard UI feature
cabana8471-arch Jan 21, 2026
199539d
feat(review): add automatic code review agent
cabana8471-arch Jan 21, 2026
12a446b
docs(fork): update changelog with Review Agent feature
cabana8471-arch Jan 21, 2026
fb74307
feat(docs): add automatic documentation generator
cabana8471-arch Jan 21, 2026
d3fefea
docs(fork): update changelog with Auto Documentation feature
cabana8471-arch Jan 21, 2026
2cf3da5
feat(design): add design tokens management system
cabana8471-arch Jan 21, 2026
b37b69f
docs(fork): update changelog with Design Tokens feature
cabana8471-arch Jan 21, 2026
36778b5
feat(visual): add visual regression testing system
cabana8471-arch Jan 21, 2026
c7fe034
docs(fork): update changelog with Visual Regression feature
cabana8471-arch Jan 21, 2026
5bd273d
merge: integrate upstream/master with my-features
cabana8471-arch Jan 22, 2026
feb31fe
chore(ui): upgrade Vite to v7.3.1 and export API_BASE_URL
cabana8471-arch Jan 22, 2026
20f7663
fix: Fix features not appearing in Kanban "In Progress" column (paral…
cabana8471-arch Jan 23, 2026
6d7339d
merge: sync my-features with upstream/master
cabana8471-arch Jan 24, 2026
376bc8f
feat: Add Infrastructure features to prevent mock data/dev-store impl…
cabana8471-arch Jan 25, 2026
8e23fee
fix: Prevent mock data implementations with infrastructure features
cabana8471-arch Jan 25, 2026
dae16c3
fix: Address CodeRabbit review feedback
cabana8471-arch Jan 25, 2026
b04aab5
Merge fix/infrastructure-features-mock-prevention into my-features
cabana8471-arch Jan 25, 2026
e756486
fix: Address remaining CodeRabbit feedback
cabana8471-arch Jan 25, 2026
a3a3e6b
Merge branch 'fix/infrastructure-features-mock-prevention' into my-fe…
cabana8471-arch Jan 25, 2026
95b0dfa
fix: Health check now fails script on server startup failure
cabana8471-arch Jan 25, 2026
b8e03de
fix: add diagnostic warnings for config loading failures (#91)
cabana8471-arch Jan 25, 2026
cd9f5b7
fix: Address Leon's review - safer process killing and cross-platform…
cabana8471-arch Jan 26, 2026
d1233ad
fix: Expand Map/Set grep search to entire src/ directory
cabana8471-arch Jan 26, 2026
49f4495
fix: prevent SQLite corruption in parallel mode with atomic operations
cabana8471-arch Jan 26, 2026
03504b3
fix: use port-based process killing for cross-platform safety
cabana8471-arch Jan 26, 2026
fbacc05
fix: address ruff linting errors and connection leak
cabana8471-arch Jan 26, 2026
041f576
fix: correct import order (classes before functions)
cabana8471-arch Jan 26, 2026
bf194ad
fix: improve rate limit handling with exponential backoff
cabana8471-arch Jan 26, 2026
b0d448f
feat: add Quality Gates to enforce lint/type-check before marking fea…
cabana8471-arch Jan 26, 2026
ff1a63d
fix: address CodeRabbit review feedback
cabana8471-arch Jan 27, 2026
5b7a555
merge: sync my-features with master (upstream + 6 merged PRs)
cabana8471-arch Jan 27, 2026
3458bdb
merge: add SQLite parallel corruption fix (PR #108)
cabana8471-arch Jan 27, 2026
2cc965f
merge: add config loading diagnostics (PR #100)
cabana8471-arch Jan 27, 2026
aafa63a
merge: add infrastructure features mock prevention (PR #95)
cabana8471-arch Jan 27, 2026
fcb905d
merge: add rate limit handling with exponential backoff (PR #109)
cabana8471-arch Jan 27, 2026
e9a3700
merge: add Quality Gates for lint/type-check enforcement (PR #110)
cabana8471-arch Jan 27, 2026
d7e69d6
fix: address CodeRabbit review feedback for PRs #95, #100, #108, #109…
cabana8471-arch Jan 27, 2026
45ceb5b
fix: address CodeRabbit review feedback
cabana8471-arch Jan 27, 2026
cf8dec9
fix: address CodeRabbit review - extract rate limit logic to shared m…
cabana8471-arch Jan 27, 2026
0a30735
fix: sort imports alphabetically per CodeRabbit feedback
cabana8471-arch Jan 27, 2026
fb0ebc6
fix: add diagnostic warnings for pkill_processes validation failures
cabana8471-arch Jan 27, 2026
d652b18
fix: add language tags to fenced code blocks per CodeRabbit/markdownlint
cabana8471-arch Jan 27, 2026
1cbc66a
fix: correct import order per ruff (uppercase before lowercase)
cabana8471-arch Jan 27, 2026
f7d9d15
fix: correct import order per ruff (uppercase before lowercase)
cabana8471-arch Jan 27, 2026
dcf8b99
fix: remove unused RATE_LIMIT_PATTERNS import
cabana8471-arch Jan 27, 2026
1a5b905
fix: correct import order per ruff (uppercase before lowercase)
cabana8471-arch Jan 27, 2026
fc175ed
fix: remove unused RATE_LIMIT_PATTERNS import
cabana8471-arch Jan 27, 2026
186d6d3
feat: integrate structured logging across agent system
cabana8471-arch Jan 27, 2026
731c6c5
feat: add structured logging system for agent debugging
cabana8471-arch Jan 27, 2026
4dc7dff
fix: resolve critical bugs causing agent failures
cabana8471-arch Jan 27, 2026
8abb6cd
test: add empty command name validation test for project config
cabana8471-arch Jan 27, 2026
27967d2
fix: address CodeRabbit review feedback for structured logging
cabana8471-arch Jan 27, 2026
99f0ce3
fix: use npx --no-install to prevent auto-download of tsc
cabana8471-arch Jan 27, 2026
8d4e676
Merge structured logging fixes from PR #113
cabana8471-arch Jan 27, 2026
22d010c
Merge quality gates fixes from PR #110
cabana8471-arch Jan 27, 2026
3bb959e
Merge config loading diagnostics test from PR #100
cabana8471-arch Jan 27, 2026
5d33e94
Merge rate limit handling from PR #109
cabana8471-arch Jan 27, 2026
66a19b6
Merge SQLite parallel corruption fixes from PR #108
cabana8471-arch Jan 27, 2026
88e9293
Merge mock prevention fixes from PR #95
cabana8471-arch Jan 27, 2026
3ef9f19
fix: resolve merge conflicts and linting issues
cabana8471-arch Jan 27, 2026
1ccdda9
fix: update verify_quality callers to use new parameter names
cabana8471-arch Jan 27, 2026
f36ff05
fix: address CodeRabbit review issues
cabana8471-arch Jan 27, 2026
bc7d86e
fix: resolve all ruff lint errors
cabana8471-arch Jan 27, 2026
d5fb911
fix: resolve agent errors from wp-translate logs analysis
cabana8471-arch Jan 27, 2026
0a02601
fix: address remaining CodeRabbit review issues for PR 119
cabana8471-arch Jan 27, 2026
0830aa9
fix: address additional CodeRabbit review issues
cabana8471-arch Jan 28, 2026
964665d
fix: address CodeRabbit security and performance issues for PR 119
cabana8471-arch Jan 28, 2026
3992a11
fix: address CodeRabbit issues for PR 113 structured logging
cabana8471-arch Jan 28, 2026
2b1223c
fix: address CodeRabbit security and performance issues for PR 119
cabana8471-arch Jan 28, 2026
e70a640
fix: don't expose exception details to client in documentation.py
cabana8471-arch Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 39 additions & 4 deletions .claude/commands/create-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,27 @@ Ask the user about their involvement preference:

**For Detailed Mode users**, ask specific tech questions about frontend, backend, database, etc.

### Phase 3b: Database Requirements (MANDATORY)

**Always ask this question regardless of mode:**

> "One foundational question about data storage:
>
> **Does this application need to store user data persistently?**
>
> 1. **Yes, needs a database** - Users create, save, and retrieve data (most apps)
> 2. **No, stateless** - Pure frontend, no data storage needed (calculators, static sites)
> 3. **Not sure** - Let me describe what I need and you decide"

**Branching logic:**

- **If "Yes" or "Not sure"**: Continue normally. The spec will include database in tech stack and the initializer will create 5 mandatory Infrastructure features (indices 0-4) to verify database connectivity and persistence.

- **If "No, stateless"**: Note this in the spec. Skip database from tech stack. Infrastructure features will be simplified (no database persistence tests). Mark this clearly:
```xml
<database>none - stateless application</database>
```

## Phase 4: Features (THE MAIN PHASE)

This is where you spend most of your time. Ask questions in plain language that anyone can answer.
Expand Down Expand Up @@ -207,12 +228,23 @@ After gathering all features, **you** (the agent) should tally up the testable f

**Typical ranges for reference:**

- **Simple apps** (todo list, calculator, notes): ~20-50 features
- **Medium apps** (blog, task manager with auth): ~100 features
- **Advanced apps** (e-commerce, CRM, full SaaS): ~150-200 features
- **Simple apps** (todo list, calculator, notes): ~25-55 features (includes 5 infrastructure)
- **Medium apps** (blog, task manager with auth): ~105 features (includes 5 infrastructure)
- **Advanced apps** (e-commerce, CRM, full SaaS): ~155-205 features (includes 5 infrastructure)

These are just reference points - your actual count should come from the requirements discussed.

**MANDATORY: Infrastructure Features**

If the app requires a database (Phase 3b answer was "Yes" or "Not sure"), you MUST include 5 Infrastructure features (indices 0-4):
1. Database connection established
2. Database schema applied correctly
3. Data persists across server restart
4. No mock data patterns in codebase
5. Backend API queries real database

These features ensure the coding agent implements a real database, not mock data or in-memory storage.

**How to count features:**
For each feature area discussed, estimate the number of discrete, testable behaviors:

Expand All @@ -225,17 +257,20 @@ For each feature area discussed, estimate the number of discrete, testable behav

> "Based on what we discussed, here's my feature breakdown:
>
> - **Infrastructure (required)**: 5 features (database setup, persistence verification)
> - [Category 1]: ~X features
> - [Category 2]: ~Y features
> - [Category 3]: ~Z features
> - ...
>
> **Total: ~N features**
> **Total: ~N features** (including 5 infrastructure)
>
> Does this seem right, or should I adjust?"

Let the user confirm or adjust. This becomes your `feature_count` for the spec.

**Important:** The first 5 features (indices 0-4) created by the initializer MUST be the Infrastructure category with no dependencies. All other features depend on these.

## Phase 5: Technical Details (DERIVED OR DISCUSSED)

**For Quick Mode users:**
Expand Down
126 changes: 115 additions & 11 deletions .claude/templates/coding_prompt.template.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ Use browser automation tools:
- [ ] Deleted the test data - verified it's gone everywhere
- [ ] NO unexplained data appeared (would indicate mock data)
- [ ] Dashboard/counts reflect real numbers after my changes
- [ ] **Ran extended mock data grep (STEP 5.6) - no hits in src/ (excluding tests)**
- [ ] **Verified no globalThis, devStore, or dev-store patterns**
- [ ] **Server restart test passed (STEP 5.7) - data persists across restart**

#### Navigation Verification

Expand All @@ -174,10 +177,90 @@ Use browser automation tools:

### STEP 5.6: MOCK DATA DETECTION (Before marking passing)

1. **Search code:** `grep -r "mockData\|fakeData\|TODO\|STUB" --include="*.ts" --include="*.tsx"`
2. **Runtime test:** Create unique data (e.g., "TEST_12345") → verify in UI → delete → verify gone
3. **Check database:** All displayed data must come from real DB queries
4. If unexplained data appears, it's mock data - fix before marking passing.
**Run ALL these grep checks. Any hits in src/ (excluding test files) require investigation:**

```bash
# 1. In-memory storage patterns (CRITICAL - catches dev-store)
grep -r "globalThis\." --include="*.ts" --include="*.tsx" --include="*.js" src/
grep -r "dev-store\|devStore\|DevStore\|mock-db\|mockDb" --include="*.ts" --include="*.tsx" --include="*.js" src/

# 2. Mock data variables
grep -r "mockData\|fakeData\|sampleData\|dummyData\|testData" --include="*.ts" --include="*.tsx" --include="*.js" src/

# 3. TODO/incomplete markers
grep -r "TODO.*real\|TODO.*database\|TODO.*API\|STUB\|MOCK" --include="*.ts" --include="*.tsx" --include="*.js" src/

# 4. Development-only conditionals
grep -r "isDevelopment\|isDev\|process\.env\.NODE_ENV.*development" --include="*.ts" --include="*.tsx" --include="*.js" src/

# 5. In-memory collections used as data stores (module-level or exported)
# Note: Map/Set are legitimate for local caching - investigate context before flagging
grep -rn "^const.*=.*new Map\(\)\|^let.*=.*new Map\(\)\|^export.*Map\(\)" --include="*.ts" --include="*.tsx" --include="*.js" src/ 2>/dev/null
```

**Rule:** If ANY grep returns results in production code → investigate → FIX before marking passing.

**Runtime verification:**
1. Create unique data (e.g., "TEST_12345") → verify in UI → delete → verify gone
2. Check database directly - all displayed data must come from real DB queries
3. If unexplained data appears, it's mock data - fix before marking passing.

### STEP 5.7: SERVER RESTART PERSISTENCE TEST (MANDATORY for data features)

**When required:** Any feature involving CRUD operations or data persistence.

**This test is NON-NEGOTIABLE. It catches in-memory storage implementations that pass all other tests.**

**Steps:**

1. Create unique test data via UI or API (e.g., item named "RESTART_TEST_12345")
2. Verify data appears in UI and API response

3. **STOP the server completely:**
```bash
# Kill by port (safer - only kills the dev server, not VS Code/Claude Code/etc.)
# Unix/macOS:
lsof -ti :${PORT:-3000} | xargs kill -TERM 2>/dev/null || true
sleep 3
lsof -ti :${PORT:-3000} | xargs kill -9 2>/dev/null || true
sleep 2

# Windows alternative (use if lsof not available):
# netstat -ano | findstr :${PORT:-3000} | findstr LISTENING
# taskkill /F /PID <pid_from_above> 2>nul

# Verify server is stopped
if lsof -ti :${PORT:-3000} > /dev/null 2>&1; then
echo "ERROR: Server still running on port ${PORT:-3000}!"
exit 1
fi
```

4. **RESTART the server:**
```bash
./init.sh &
sleep 15 # Allow server to fully start
# Verify server is responding
if ! curl -f http://localhost:${PORT:-3000}/api/health && ! curl -f http://localhost:${PORT:-3000}; then
echo "ERROR: Server failed to start after restart"
exit 1
fi
```

5. **Query for test data - it MUST still exist**
- Via UI: Navigate to data location, verify data appears
- Via API: `curl http://localhost:${PORT:-3000}/api/items` - verify data in response

6. **If data is GONE:** Implementation uses in-memory storage → CRITICAL FAIL
- Run all grep commands from STEP 5.6 to identify the mock pattern
- You MUST fix the in-memory storage implementation before proceeding
- Replace in-memory storage with real database queries

7. **Clean up test data** after successful verification

**Why this test exists:** In-memory stores like `globalThis.devStore` pass all other tests because data persists during a single server run. Only a full server restart reveals this bug. Skipping this step WILL allow dev-store implementations to slip through.

**YOLO Mode Note:** Even in YOLO mode, this verification is MANDATORY for data features. Use curl instead of browser automation.

### STEP 6: UPDATE FEATURE STATUS (CAREFULLY!)

Expand All @@ -202,17 +285,24 @@ Use the feature_mark_passing tool with feature_id=42

### STEP 7: COMMIT YOUR PROGRESS

Make a descriptive git commit:
Make a descriptive git commit.

**Git Commit Rules:**
- ALWAYS use simple `-m` flag for commit messages
- NEVER use heredocs (`cat <<EOF` or `<<'EOF'`) - they fail in sandbox mode with "can't create temp file for here document: operation not permitted"
- For multi-line content, use alternatives like `echo -e "line1\nline2"` or `printf '%s\n' "line1" "line2"`
- For multi-line messages, use multiple `-m` flags:

```bash
git add .
git commit -m "Implement [feature name] - verified end-to-end
git commit -m "Implement [feature name] - verified end-to-end" -m "- Added [specific changes]" -m "- Tested with browser automation" -m "- Marked feature #X as passing"
```

- Added [specific changes]
- Tested with browser automation
- Marked feature #X as passing
- Screenshots in verification/ directory
"
Or use a single descriptive message:

```bash
git add .
git commit -m "feat: implement [feature name] with browser verification"
```

### STEP 8: UPDATE PROGRESS NOTES
Expand Down Expand Up @@ -243,6 +333,20 @@ Use Playwright MCP tools (`browser_*`) for UI verification. Key tools: `navigate

Test like a human user with mouse and keyboard. Use `browser_console_messages` to detect errors. Don't bypass UI with JavaScript evaluation.

### Browser File Upload Pattern

When uploading files via browser automation:
1. First click the file input element to open the file chooser dialog
2. Wait for the modal dialog to appear (use `browser_wait_for` if needed)
3. Then call `browser_file_upload` with the file path

**WRONG:** Call `browser_file_upload` immediately without opening the dialog first
**RIGHT:** Click file input → wait for dialog → call `browser_file_upload`

### Unavailable Browser Tools

- `browser_run_code` - DO NOT USE. This tool causes the Playwright MCP server to crash. Use `browser_evaluate` instead for executing JavaScript in the browser context.

---

## FEATURE TOOL USAGE RULES (CRITICAL - DO NOT VIOLATE)
Expand Down
Loading
Loading