prjct-cli 0.47.0 → 0.49.0

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 CHANGED
@@ -1,12 +1,41 @@
1
1
  # Changelog
2
2
 
3
- ## [0.47.0] - 2026-01-30
3
+ ## [0.49.0] - 2026-01-30
4
4
 
5
5
  ### Features
6
6
 
7
- - Complete and improve help text documentation - PRJ-133 (#73)
8
- - Workflow hooks via natural language - PRJ-137 (#72)
9
- - Subtask progress dashboard with domain colors - PRJ-138 (#71)
7
+ - Error messages with context and recovery hints - PRJ-131 (#75)
8
+
9
+
10
+ ## [0.49.1] - 2026-01-30
11
+
12
+ ### Improved
13
+
14
+ - **Error messages with context and recovery hints** (PRJ-131)
15
+ - Created error catalog with 15+ error types
16
+ - Added `out.failWithHint()` for rich error output
17
+ - Errors now show file path and recovery hints
18
+ - Example: `✗ Project ID not found` → `💡 Run 'prjct init'`
19
+
20
+
21
+ ## [0.49.0] - 2026-01-30
22
+
23
+ ### Added
24
+
25
+ - **Read-before-write enforcement for templates** (PRJ-108)
26
+ - Agent files now preserve user customizations during regeneration
27
+ - All context files (now.md, next.md, ideas.md, shipped.md) preserve user sections
28
+ - Added validation and warnings for invalid preserve blocks
29
+ - Documented preserve markers in global CLAUDE.md template
30
+
31
+ ### Fixed
32
+
33
+ - **Codebase cleanup** - Resolved all 22 biome lint warnings
34
+ - Fixed forEach returning values (converted to for...of)
35
+ - Fixed unused type exports (exported or removed)
36
+ - Fixed implicit any types
37
+ - Fixed template literal usage
38
+ - Fixed void return type issues
10
39
 
11
40
 
12
41
  ## [0.48.1] - 2026-01-30
@@ -37,3835 +66,37 @@
37
66
  ### Added
38
67
 
39
68
  - **Subtask progress dashboard with domain-specific colors** (PRJ-138)
40
- - Each domain (frontend, backend, database, etc.) displays in unique color
41
- - Hash-based color assignment ensures consistency across sessions
42
- - Integrated into command execution flow for visual task tracking
43
-
44
-
45
- ## [0.46.0] - 2026-01-30
46
-
47
- ### Features
48
-
49
- - preserve user customizations during sync - PRJ-115 (#70)
69
+ - Visual progress table showing subtask status
70
+ - Domain-specific colors: frontend (cyan), backend (green), database (yellow), testing (magenta), devops (blue)
71
+ - Shows current subtask indicator and completion status
72
+ - Displays estimated vs actual time tracking
50
73
 
51
74
 
52
- ## [0.46.0] - 2026-01-30
75
+ ## [0.46.0] - 2026-01-29
53
76
 
54
77
  ### Added
55
78
 
56
79
  - **Preserve user customizations during sync** (PRJ-115)
57
- - Wrap custom content in `<!-- prjct:preserve -->` markers
58
- - Content survives `p. sync` regeneration
59
- - Supports named sections: `<!-- prjct:preserve:my-rules -->`
60
- - Works with CLAUDE.md, .cursorrules, and all context files
61
-
62
-
63
- ## [0.45.5] - 2026-01-30
64
-
65
- ### Bug Fixes
66
-
67
- - implement silent memory application - PRJ-103 (#69)
68
-
69
-
70
- ## [0.45.5] - 2026-01-29
71
-
72
- ### Changed
73
-
74
- - Remove meta-commentary from memory output (PRJ-103)
75
- - "LEARNED PATTERNS" → "PROJECT DEFAULTS"
76
- - "RELEVANT MEMORIES" → "CONTEXT"
77
- - "Learned Patterns" → "Project Conventions"
78
-
79
- ### Added
80
-
81
- - `lint:meta` script to catch meta-commentary anti-patterns
82
-
83
-
84
- ## [0.45.4] - 2026-01-29
85
-
86
- ### Bug Fixes
87
-
88
- - ignore tar warning in release workflow - PRJ-147
89
-
90
-
91
- ## [0.45.3] - 2026-01-29
92
-
93
- ### Bug Fixes
94
-
95
- - remove --provenance (requires public repo) - PRJ-147
96
-
97
-
98
- ## [0.45.2] - 2026-01-29
99
-
100
- ### Bug Fixes
101
-
102
- - use Production environment for npm secrets - PRJ-147
103
-
104
-
105
- ## [0.45.1] - 2026-01-29
106
-
107
- ### Bug Fixes
108
-
109
- - use semver-sorted tags for version detection - PRJ-147
110
- - npm auth configuration for CI publish - PRJ-147
111
-
112
-
113
- ## [0.42.1] - 2026-01-29
114
-
115
- ### Bug Fixes
116
-
117
- - npm auth configuration for CI publish - PRJ-147
118
-
119
-
120
- ## [0.42.0] - 2026-01-29
121
-
122
- ### Features
123
-
124
- - automated release pipeline - PRJ-147 (#68)
125
- - add project indexing and analysis services (PRJ-85, PRJ-87) (#66)
126
- - metrics display in output (PRJ-68, PRJ-69) (#54)
127
- - add prjct uninstall command (PRJ-146) (#65)
128
- - add prjct doctor command (PRJ-117) (#62)
129
- - smart watch mode - auto-sync on file changes (PRJ-123) (#61)
130
- - add --quiet flag for silent output (PRJ-97) (#60)
131
- - interactive onboarding wizard (PRJ-124) (#58)
132
- - smart context filtering tools for AI agents (PRJ-127) (#57)
133
- - workflow state machine + bidirectional Linear sync (#55)
134
- - progress indicators for long-running operations (PRJ-129) (#52)
135
- - agent activity stream for real-time visibility (PRJ-135) (#51)
136
- - show explicit next steps after each command (PRJ-136) (#50)
137
- - multi-agent output Phase 3 - Auto-detect + Continue.dev (PRJ-126) (#49)
138
- - multi-agent output Phase 2 - Copilot + Windsurf (PRJ-126) (#48)
139
- - multi-agent context output - Phase 1 (PRJ-126) (#47)
140
- - bidirectional sync Linear ↔ prjct (PRJ-142) (#46)
141
-
142
- ### Bug Fixes
143
-
144
- - add Bun setup for test runner in CI - PRJ-147
145
- - use npm instead of bun for CI tests - PRJ-147
146
- - remove IDE files from repo - PRJ-144, PRJ-145
147
- - add --help handler in CLI entry point for CI compatibility
148
- - update tests for CI compatibility
149
- - CI workflow - remove unsupported bun reporter flag and fix verification
150
- - enforce workflow steps in templates (PRJ-143) (#56)
151
- - add $PRJCT_CLI prefix to relative paths in templates (PRJ-143)
152
- - use stderr for Linear connection log to not break JSON output
153
-
154
- ### Performance
155
-
156
- - parallelize sync operations for 30-50% speedup (PRJ-116) (#59)
157
-
158
- ### Refactoring
159
-
160
- - migrate from ESLint + Prettier to Biome
161
- - consolidate and optimize CI workflows
162
- - extract StackDetector from sync-service (PRJ-86) (#64)
163
- - extract ContextFileGenerator from sync-service (PRJ-88) (#63)
164
-
165
-
166
- ## [0.45.0] - 2026-01-29
167
-
168
- ### Feature: Smart Context Filtering Tools (PRJ-127)
169
-
170
- Terminal tools for AI agents to explore codebases efficiently **without consuming tokens for filtering**.
171
-
172
- **New Command: `prjct context <tool>`**
173
-
174
- | Tool | Purpose | Compression |
175
- |------|---------|-------------|
176
- | `files <task>` | Find relevant files for a task | 93% fewer files |
177
- | `signatures <path>` | Extract code structure only | ~92% token reduction |
178
- | `imports <file>` | Analyze dependency graphs | - |
179
- | `recent [commits]` | Find hot files from git | - |
180
- | `summary <path>` | Intelligent file summary | ~96% token reduction |
181
-
182
- **Real Cost Savings (multi-model support)**
183
-
184
- ```json
185
- "cost": {
186
- "saved": 2.32,
187
- "byModel": [
188
- { "model": "claude-sonnet-4.5", "inputSaved": 0.93, "outputPotential": 1.39 },
189
- { "model": "gpt-4o", "inputSaved": 0.77, "outputPotential": 0.93 }
190
- ]
191
- }
192
- ```
193
-
194
- **Example: Full codebase signatures**
195
- ```bash
196
- prjct context signatures core/ --recursive
197
- # 336K → 26K tokens (92% compression)
198
- # Saves $2.32/call (Sonnet) or $3.87/call (Opus)
199
- ```
200
-
201
- **New Files:**
202
- - `core/context-tools/` - Complete module (7 files)
203
- - `core/schemas/metrics.ts` - Updated pricing (Jan 2026)
204
-
205
- ## [0.44.1] - 2026-01-29
206
-
207
- ### Fixed: Workflow Templates with Mandatory Steps (PRJ-143)
208
-
209
- Templates now enforce step-by-step workflows with explicit blocking conditions.
210
-
211
- **Problem:** Claude was skipping workflow steps (pushing directly to main, skipping PRs, etc.)
212
-
213
- **Solution:** Added ⛔ BLOCKING conditions to critical templates:
214
- - `ship.md` - Must check branch, create PR, bump version
215
- - `merge.md` - Must verify PR approval and CI status
216
- - `task.md` - Pre-flight checks before branch creation
217
- - `git.md` - Block commits/pushes on main/master
218
-
219
- **Also Fixed:**
220
- - Commit footer simplified to `Generated with [p/](https://www.prjct.app/)` (no emoji, no provider-specific line)
221
- - All provider templates updated (Claude, Gemini, Cursor, Antigravity, Windsurf)
222
- - Global CLAUDE.md strengthened with git workflow rules
223
-
224
- ## [0.44.0] - 2026-01-29
225
-
226
- ### Feature: Workflow State Machine (PRJ-139)
227
-
228
- Explicit states with valid transitions for prjct workflow. Users always know what commands are available.
229
-
230
- **States:** `idle` → `working` → `completed` → `shipped` (with `paused` branch)
231
-
232
- **New: State Machine (`core/workflow/state-machine.ts`)**
233
- - Explicit state definitions with valid transitions
234
- - State info shown after each command (e.g., `📍 State: WORKING`)
235
- - Next steps derived from current state
236
-
237
- **Updated Commands**
238
- - `task` — Shows state: WORKING after starting
239
- - `done` — Shows state: COMPLETED
240
- - `pause` — Shows state: PAUSED
241
- - `resume` — Shows state: WORKING
242
-
243
- ### Feature: Auto-sync to Linear (PRJ-142 completion)
244
-
245
- When starting/completing tasks with Linear IDs, prjct now auto-syncs status.
246
-
247
- - `p. task PRJ-123` → Fetches issue title, marks as In Progress in Linear
248
- - `p. done` → Marks issue as Done in Linear (if task has linearId)
249
-
250
- ### Feature: Sync Summary (PRJ-119)
251
-
252
- After `p. sync`, shows a compact summary with key metrics:
253
- - Stack detected
254
- - Files analyzed → context files generated
255
- - Agents count
256
- - Time elapsed
257
-
258
- ### Improvement: Linear CLI filter by team
259
-
260
- `list` command now uses configured team, showing only relevant issues.
261
-
262
- ### Improvement: Clean Terminal UX guidelines
263
-
264
- Added guidelines to CLAUDE.md for user-friendly tool call descriptions.
265
-
266
- ## [0.43.0] - 2026-01-29
267
-
268
- ### Feature: Bidirectional Sync Linear ↔ prjct (PRJ-142)
269
-
270
- When `integrations.linear.enabled === true`, prjct now syncs bidirectionally with Linear, using a local cache for offline access and reduced API calls.
271
-
272
- **New: Local Issue Cache (`storage/issues.json`)**
273
- - Full copy of assigned Linear issues stored locally
274
- - 30-minute staleness threshold for automatic refresh
275
- - Local-first reads: no API call if issue is cached and fresh
276
-
277
- **New: Sync Layer (`core/integrations/linear/sync.ts`)**
278
- - `pullAll()` — Fetch all assigned issues to local cache
279
- - `getIssue()` — Local-first fetch with API fallback
280
- - `getIssueLocal()` — Local-only fetch (no API call)
281
- - `pushStatus()` — Push status changes to Linear + update cache
282
- - `isStale()` — Check if cache needs refresh
283
-
284
- **New CLI Commands**
285
- - `sync` — Pull all assigned issues to local storage
286
- - `sync-status` — Check local cache status (hasCache, issueCount, isStale)
287
- - `get-local <id>` — Get issue from local cache without API call
288
-
289
- **Updated State Schema**
290
- - `currentTask.linearId` — Linear identifier (e.g., "PRJ-123")
291
- - `currentTask.linearUuid` — Linear internal UUID for API calls
292
-
293
- **Updated Templates**
294
- - `sync.md` — Syncs Linear issues when enabled
295
- - `task.md` — Uses local-first approach, tracks linearId/linearUuid
296
- - `done.md` — Pushes status to Linear via sync layer
297
-
298
- **New Files:**
299
- - `core/integrations/linear/sync.ts` — Sync layer implementation
300
- - `core/schemas/issues.ts` — Zod schema for issues.json
301
-
302
- ## [0.42.0] - 2026-01-29
303
-
304
- ### Feature: Linear SDK Integration with Per-Project Credentials
305
-
306
- Linear integration now uses the native `@linear/sdk` with per-project credential storage, enabling different projects to use different Linear workspaces.
307
-
308
- **New: Per-Project Credentials**
309
- - Credentials stored at `~/.prjct-cli/projects/{projectId}/config/credentials.json`
310
- - Fallback chain: project credentials → macOS keychain → environment variable
311
- - Each project can connect to a different Linear workspace
312
-
313
- **New: CLI Bridge (`core/cli/linear.ts`)**
314
- - Direct access to Linear SDK from templates
315
- - Commands: `setup`, `list`, `get`, `create`, `update`, `start`, `done`, `comment`, `teams`, `projects`, `status`
316
- - JSON output for easy parsing by Claude
317
-
318
- **New: `prjct linear <cmd>` Subcommand**
319
- - Direct CLI access: `prjct linear status`, `prjct linear list`, etc.
320
- - Auto-resolves project ID from current directory
321
-
322
- **Updated Templates**
323
- - `linear.md` — Natural language interpretation guide for Claude
324
- - `enrich.md` — Uses CLI instead of MCP for ticket enrichment
325
-
326
- **Breaking: Removed MCP-only Trackers**
327
- - Removed JIRA, GitHub Issues, Monday.com support (no native SDK)
328
- - Only Linear is supported (has native SDK)
329
-
330
- **New Files:**
331
- - `core/cli/linear.ts` — CLI bridge for Linear SDK
332
- - `core/utils/project-credentials.ts` — Per-project credential storage
333
-
334
- **Modified:**
335
- - `bin/prjct.ts` — Added `prjct linear` subcommand
336
- - `templates/commands/linear.md` — Updated with CLI execution pattern
337
- - `templates/commands/enrich.md` — Linear-only, uses CLI
338
-
339
- ## [0.40.0] - 2026-01-28
340
-
341
- ### Feature: Enhanced Skill System
342
-
343
- Inspired by vercel-labs/skills, prjct-cli now supports remote skill installation, version tracking via lock file, and full ecosystem-standard SKILL.md subdirectory format across all skill directories.
344
-
345
- **New: Remote Skill Installation (`p. skill add`)**
346
- - Install skills from GitHub repos: `p. skill add owner/repo`
347
- - Install specific skill: `p. skill add owner/repo@skill-name`
348
- - Install from local directory: `p. skill add ./path`
349
- - Automatic source metadata injection (`_prjct` frontmatter block)
350
-
351
- **New: Skill Lock File**
352
- - Tracks installed skills at `~/.prjct-cli/skills/.skill-lock.json`
353
- - Records source URL, commit SHA, install timestamp
354
- - Enables update detection via `p. skill check`
355
-
356
- **New: Additional Subcommands**
357
- - `p. skill add <source>` — Install from GitHub or local path
358
- - `p. skill remove <name>` — Uninstall a skill
359
- - `p. skill init <name>` — Scaffold a new skill template
360
- - `p. skill check` — Detect available updates
361
-
362
- **Improved: Full SKILL.md Subdirectory Support**
363
- - All skill directories now support both `{name}.md` (flat) and `{name}/SKILL.md` (subdirectory) formats
364
- - Previously only provider dirs (`~/.claude/skills/`) checked subdirectories
365
- - Orchestrator executor now checks both patterns when loading agent skills
366
-
367
- **New Files:**
368
- - `core/services/skill-installer.ts` — Remote installation service
369
- - `core/services/skill-lock.ts` — Lock file management
370
-
371
- **Modified:**
372
- - `core/types/services.ts` — Extended `SkillMetadata` with `sourceUrl`, `sourceType`, `installedAt`, `sha`; added `'remote'` source type
373
- - `core/services/skill-service.ts` — Unified SKILL.md discovery in all dirs
374
- - `core/agentic/orchestrator-executor.ts` — Both path patterns for skill loading
375
- - `templates/commands/skill.md` — New subcommands documentation
376
-
377
- ## [0.39.0] - 2026-01-24
378
-
379
- ### Feature: Windsurf IDE Support (PRJ-66)
380
-
381
- prjct now works with **Windsurf IDE** as a project-level integration.
382
-
383
- **Architecture:**
384
- - Windsurf uses `.md` files (not `.mdc` like Cursor) with YAML frontmatter
385
- - Uses `trigger: always_on` instead of `alwaysApply: true`
386
- - Uses "workflows" directory instead of "commands"
387
- - Character limits: 6000 per file, 12000 total
388
-
389
- **New Files:**
390
- - `templates/windsurf/router.md` - Minimal router with YAML frontmatter
391
- - `templates/global/WINDSURF.md` - Full prjct instructions for Windsurf
392
- - `templates/windsurf/workflows/*.md` - Individual workflow files (sync, task, done, ship, bug, pause, resume)
393
-
394
- **Modified:**
395
- - `core/types/provider.ts` - Added `'windsurf'` to AIProviderName, added `WindsurfProjectDetection`
396
- - `core/infrastructure/ai-provider.ts` - Added WindsurfProvider, detectWindsurfProject(), branding
397
- - `core/infrastructure/setup.ts` - Added installWindsurfProject(), hasWindsurfProject()
398
- - `bin/prjct.ts` - Added Windsurf to --version display
399
-
400
- **Project Structure:**
401
- ```
402
- .windsurf/
403
- ├── rules/
404
- │ └── prjct.md # Router (auto-generated)
405
- └── workflows/
406
- ├── sync.md
407
- ├── task.md
408
- ├── done.md
409
- ├── ship.md
410
- ├── bug.md
411
- ├── pause.md
412
- └── resume.md
413
- ```
414
-
415
- ---
416
-
417
- ## [0.38.1] - 2026-01-24
80
+ - Users can mark sections with `<!-- prjct:preserve -->` markers
81
+ - Preserved content survives regeneration
82
+ - Works in CLAUDE.md and other context files
418
83
 
419
- ### Docs: Complete Antigravity documentation
420
84
 
421
- - Added Antigravity badge to README
422
- - Added Antigravity Quick Start section
423
- - Updated "How It Works" table with Antigravity column
424
- - Updated Requirements to include Antigravity
425
- - Fixed version display to show all providers consistently
85
+ ## [0.45.5] - 2026-01-28
426
86
 
427
- ---
428
-
429
- ## [0.38.0] - 2026-01-24
430
-
431
- ### Feature: Google Antigravity Support (PRJ-64)
432
-
433
- prjct now works with **Google Antigravity** as a skill (not MCP server).
434
-
435
- **Why Skills over MCP:**
436
- - Zero overhead (just SKILL.md files)
437
- - Cross-compatible with Claude Code skills
438
- - No daemon process needed
439
- - Aligned with prjct as "context layer"
440
-
441
- **New Files:**
442
- - `templates/global/ANTIGRAVITY.md` - Full prjct instructions
443
- - `templates/antigravity/SKILL.md` - Skill router for Antigravity
444
-
445
- **Modified:**
446
- - `core/infrastructure/ai-provider.ts` - Added AntigravityProvider, detectAntigravity()
447
- - `core/infrastructure/setup.ts` - Added installAntigravitySkill()
448
- - `core/index.ts` - Show Antigravity in --version
449
-
450
- **Skills Location:**
451
- ```
452
- ~/.gemini/antigravity/skills/prjct/SKILL.md
453
- ```
454
-
455
- **Critical Rule Added:**
456
- All agent templates (CLAUDE.md, GEMINI.md, CURSOR.mdc, ANTIGRAVITY.md) now include:
457
- - Rule #0: Plan Before Action (NON-NEGOTIABLE)
458
- - Agent must create plan and get user approval before ANY execution
459
-
460
- ---
461
-
462
- ## [0.37.1] - 2026-01-24
463
-
464
- ### Fix: Cursor Command Syntax (PRJ-65)
465
-
466
- Fixed Cursor IDE commands not working. Cursor uses `/command` syntax, not `p. command`.
467
-
468
- **Changes:**
469
- - Created individual command files: `/sync`, `/task`, `/done`, `/ship`, `/bug`, `/pause`, `/resume`
470
- - Updated `CURSOR.mdc` with correct `/command` syntax documentation
471
- - Updated `router.mdc` with new syntax examples
472
- - Updated `README.md` with Cursor-specific syntax section
473
- - Fixed `installCursorProject()` to install all individual command files
474
-
475
- **Cursor Syntax:**
476
- ```
477
- /sync # Analyze project
478
- /task "description" # Start task
479
- /done # Complete subtask
480
- /ship # Ship feature
481
- ```
482
-
483
- ---
484
-
485
- ## [0.37.0] - 2026-01-24
486
-
487
- ### Feature: Cursor IDE Support (PRJ-63)
488
-
489
- prjct now works with **Cursor IDE** in addition to Claude Code and Gemini CLI. Use any AI model Cursor supports (GPT-4, Claude, Gemini, DeepSeek, etc.).
490
-
491
- **Key Insight:** Cursor has NO global config directory. Unlike Claude/Gemini which use `~/.claude/` and `~/.gemini/`, Cursor uses project-level config in `.cursor/`.
492
-
493
- **Solution: Minimal Router Pattern**
494
- - Router files are minimal (~15 lines), point to npm package for real instructions
495
- - If deleted, `p. sync` regenerates them automatically
496
- - Added to `.gitignore` - each developer regenerates their own
497
-
498
- **New Files:**
499
- - `templates/global/CURSOR.mdc` - Full prjct instructions for Cursor
500
- - `templates/cursor/router.mdc` - Minimal router (installed in projects)
501
- - `templates/cursor/p.md` - Command router for `p. <command>`
502
-
503
- **Modified:**
504
- - `core/types/provider.ts` - Added 'cursor' to AIProviderName
505
- - `core/infrastructure/ai-provider.ts` - Added CursorProvider, detectCursorProject()
506
- - `core/infrastructure/setup.ts` - Added installCursorProject(), hasCursorProject()
507
- - `templates/commands/init.md` - Cursor detection and setup
508
- - `templates/commands/sync.md` - Cursor router regeneration
509
- - `bin/prjct.ts` - Cursor status in --version output
510
- - `README.md` - Added Cursor to supported platforms
511
-
512
- **Architecture:**
513
- ```
514
- Claude/Gemini (CLI) Cursor (GUI)
515
- ~/.claude/CLAUDE.md .cursor/rules/prjct.mdc (router)
516
- ~/.gemini/GEMINI.md ↓
517
- ↓ npm/prjct-cli/templates/global/CURSOR.mdc
518
- Global config ↓
519
- └──────────────────────────┘
520
-
521
- ~/.prjct-cli/projects/{id}/ (shared storage)
522
- ```
523
-
524
- ---
525
-
526
- ## [0.36.1] - 2026-01-23
527
-
528
- ### Docs: Minimal README
529
-
530
- Rewrote README from 645 lines to 100 lines. Clean, minimal, multi-platform focused.
531
-
532
- ---
533
-
534
- ## [0.36.0] - 2026-01-23
535
-
536
- ### Feature: Dual Platform Support - Claude + Gemini (PRJ-62)
537
-
538
- prjct now works with **both Claude Code and Gemini CLI** simultaneously. Use prjct with whichever AI coding agent you prefer.
539
-
540
- **New Branding:**
541
- - Tagline: "Context layer for AI agents"
542
- - Works with Claude Code, Gemini CLI, and more
543
-
544
- **Dual Provider Support:**
545
- - Auto-detect installed providers (Claude, Gemini, or both)
546
- - `prjct start` - Interactive setup for provider configuration
547
- - Install routers to both `~/.claude/commands/p.md` and `~/.gemini/commands/p.toml`
548
- - Shared storage format for cross-agent compatibility
549
-
550
- **New Files:**
551
- - `templates/global/GEMINI.md` - Gemini CLI global instructions
552
- - `templates/commands/p.toml` - Gemini CLI router
553
- - `templates/global/STORAGE-SPEC.md` - Canonical storage specification
554
- - `core/infrastructure/ai-provider.ts` - Multi-provider detection
555
- - `core/cli/start.ts` - Beautiful interactive setup UI
556
-
557
- **Improved CLI:**
558
- - `prjct --version` - Shows provider status with versions
559
- - `prjct --help` - Actually useful help with quick start guide
560
- - `prjct start` - Gorgeous ASCII art welcome screen
561
-
562
- **Storage Compatibility:**
563
- - Cross-agent JSON formatting rules
564
- - Identical storage output from Claude and Gemini
565
- - Ready for future remote sync to prjct.app
566
-
567
- ---
568
-
569
- ## [0.35.2] - 2026-01-17
570
-
571
- ### Fix: CLI Workflow Now Uses CommandExecutor
572
-
573
- The `workflow.ts` was calling `templateExecutor` directly, bypassing the orchestrator.
574
- Now properly routes through `commandExecutor.execute()` which triggers:
575
- - Domain detection
576
- - Agent loading
577
- - Skill loading
578
- - Task fragmentation
579
-
580
- **Files Changed:**
581
- - `core/commands/workflow.ts` - Uses `commandExecutor.execute()` instead of `templateExecutor`
582
-
583
- ## [0.35.1] - 2026-01-17
584
-
585
- ### Fix: Orchestrator Now Actually Executes
586
-
587
- Critical fix - the orchestrator was only generating PATHS to templates, not executing them.
588
-
589
- #### What Was Broken
590
- - `p. task` never ran domain detection
591
- - Agents from `{globalPath}/agents/` were never loaded
592
- - Tasks were never fragmented into subtasks
593
- - No context was injected into prompts
594
-
595
- #### What's Fixed
596
- - **Created `orchestrator-executor.ts`** - Executes orchestration in TypeScript
597
- - **Domain Detection** - Analyzes task keywords to detect database, backend, frontend, etc.
598
- - **Agent Loading** - Loads agent content from `{globalPath}/agents/`
599
- - **Skill Loading** - Loads skills from agent frontmatter
600
- - **Task Fragmentation** - Creates subtasks for 3+ domain tasks
601
- - **Prompt Injection** - Injects loaded agents, skills, and subtasks into prompt
602
-
603
- #### Verified Flow
604
- ```
605
- Task → Orchestrator → 3 subtasks
606
- Subtask 1 [database] → p.done → ✅
607
- Subtask 2 [backend] → p.done → ✅
608
- Subtask 3 [frontend] → p.done → ✅
609
- ALL COMPLETE (100%)
610
- ```
611
-
612
- **Files Changed:**
613
- - `core/agentic/orchestrator-executor.ts` (NEW - 482 lines)
614
- - `core/agentic/command-executor.ts` - Calls orchestrator
615
- - `core/agentic/prompt-builder.ts` - Injects orchestrator context
616
- - `core/types/agentic.ts` - Added orchestrator types
617
- - `core/commands/workflow.ts` - **Connects CLI to CommandExecutor** (was bypassing orchestrator)
618
-
619
- ## [0.34.0] - 2026-01-15
620
-
621
- ### Feature: Agentic Orchestrator + MCP Auto-Install
622
-
623
- Major release with intelligent task routing and simplified integration setup.
624
-
625
- #### Orchestrator Agent (NEW)
626
-
627
- Auto-routing system for tasks to the right agents and skills:
628
-
629
- - **Domain Detection**: Analyzes task keywords to detect domains (frontend, backend, database, etc.)
630
- - **Agent Loading**: Automatically loads relevant agents from `{globalPath}/agents/`
631
- - **Skill Invocation**: Invokes skills from `~/.claude/skills/` based on task context
632
- - **Multi-Domain Coordination**: Handles tasks spanning multiple domains with proper execution order
633
-
634
- **Usage**: Orchestrator runs automatically for task-related commands (`p. task`, `p. done`, `p. ship`, etc.)
635
-
636
- #### MCP Server Auto-Install
637
-
638
- All integrations now auto-install their MCP servers:
639
-
640
- - **Linear**: Auto-installs `mcp-remote` for Linear API
641
- - **JIRA**: Auto-installs Atlassian MCP server
642
- - **GitHub**: Auto-installs GitHub MCP server with token validation
643
- - **Monday.com**: Auto-installs Monday MCP server
644
-
645
- No more manual `~/.claude/settings.json` editing - just run `p. linear setup` and it handles everything.
646
-
647
- #### Individual Command Skills
648
-
649
- All 37 prjct commands now available as individual Claude Code skills:
650
-
651
- - `/p.task` - Start a task
652
- - `/p.sync` - Sync project
653
- - `/p.linear` - Linear integration
654
- - Plus 34 more commands
655
-
656
- #### agentskills.io Integration
657
-
658
- Skills are now discovered from the official agentskills.io ecosystem:
659
-
660
- - Skills from `anthropics/skills` GitHub repo
661
- - Proper SKILL.md format with YAML frontmatter
662
- - Agent-to-skill mapping in `templates/config/skill-mappings.json`
663
-
664
- **Files Changed:**
665
- - `templates/agentic/orchestrator.md` (NEW)
666
- - `templates/commands/p.md` - Orchestrator integration
667
- - `templates/commands/task.md` - Orchestrator context usage
668
- - `templates/commands/linear.md` - MCP auto-install
669
- - `templates/commands/jira.md` - MCP auto-install
670
- - `templates/commands/github.md` - MCP auto-install
671
- - `templates/commands/monday.md` - MCP auto-install
672
- - `templates/config/skill-mappings.json` - agentskills.io sources
673
- - `scripts/postinstall.js` - Individual command installation
674
-
675
- **Removed (deprecated):**
676
- - `templates/commands/feature.md`
677
- - `templates/commands/now.md`
678
- - `templates/commands/dashboard.md`
679
- - `templates/commands/suggest.md`
680
- - `templates/commands/ask.md`
681
-
682
- ---
683
-
684
- ## [0.33.5] - 2026-01-13
685
-
686
- ### Fix: Type Safety Improvements (PRJ-54)
687
-
688
- Remove unsafe `as unknown` type casts with proper TypeScript interfaces.
689
-
690
- **Changes:**
691
- - `GroundTruthContext` now uses `ContextPaths` directly
692
- - `chain-of-thought.ts` uses `Pick<ProjectContext, ...>` type alias
693
- - `command-executor.ts` uses `PromptContext` instead of `Record<string, unknown>`
694
-
695
- ---
696
-
697
- ## [0.33.4] - 2026-01-13
698
-
699
- ### Refactor: Error Type Differentiation Phase 3 (PRJ-61)
700
-
701
- **Final phase** - Complete error differentiation across all 116 remaining catch blocks in 52 files.
702
-
703
- **Pattern Applied:**
704
- - `isNotFoundError()` for expected ENOENT errors
705
- - `instanceof SyntaxError` for JSON parse errors
706
- - `_error` capture for intentional catch-all blocks (network, git, etc.)
707
- - Unexpected errors propagate with `throw error`
708
-
709
- **Key Files Fixed:**
710
- - `core/storage/storage.ts` - Storage read/exists operations
711
- - `core/commands/shipping.ts` - Ship workflow error handling
712
- - `core/session/task-session-manager.ts` - Session management
713
- - `core/commands/cleanup.ts` - Cleanup operations
714
- - `core/agentic/context-builder.ts` - Context building
715
- - Plus 47 more files
716
-
717
- **Stats:**
718
- - Catches fixed this phase: 116
719
- - Total fixed (Phase 1+2+3): 185
720
- - Remaining: 0 empty catches
721
-
722
- ---
723
-
724
- ## [0.33.3] - 2026-01-13
725
-
726
- ### Refactor: Error Type Differentiation Phase 2 (PRJ-60)
727
-
728
- **Continuation of PRJ-51** - Differentiate error types in 3 more files (14 catch blocks):
729
-
730
- **Files Modified:**
731
- - `core/domain/snapshot-manager.ts` - 6 catches (fs.access, fs.readFile, fs.unlink, JSON.parse)
732
- - `core/server/routes-extended.ts` - 2 catches (readJsonFile, writeJsonFile helpers)
733
- - `core/infrastructure/setup.ts` - 6 catches (migration, settings parsing, status line)
734
-
735
- **Pattern Applied:**
736
- - ENOENT errors → handled gracefully (expected for missing files)
737
- - SyntaxError → handled gracefully (expected for malformed JSON)
738
- - Other errors → propagated or logged (unexpected)
739
-
740
- **Stats:**
741
- - Catches fixed: 14
742
- - Total fixed (Phase 1+2): 69
743
- - Remaining: ~211 catches in 63 files
744
-
745
- ---
746
-
747
- ## [0.33.2] - 2026-01-13
748
-
749
- ### Refactor: Error Type Differentiation (PRJ-51)
750
-
751
- **Problem:** 280 catch blocks across 69 files used empty `catch {}` which swallowed all errors without differentiating between expected (ENOENT) and unexpected errors.
752
-
753
- **Solution:** Phase 1 implementation - differentiate error types in 3 priority files (55 catch blocks):
754
-
755
- **Pattern Applied:**
756
- ```typescript
757
- // Before
758
- } catch { return null }
759
-
760
- // After
761
- } catch (error) {
762
- if (isNotFoundError(error)) return null // Expected: file doesn't exist
763
- if (error instanceof SyntaxError) return null // Expected: invalid JSON
764
- throw error // Unexpected: propagate
765
- }
766
- ```
767
-
768
- **Files Modified:**
769
- - `core/agentic/ground-truth.ts` - 21 catches (verification functions)
770
- - `core/domain/analyzer.ts` - 18 catches (codebase analysis)
771
- - `core/infrastructure/command-installer.ts` - 16 catches (command management)
772
-
773
- **Tests Added:**
774
- - `core/__tests__/types/fs.test.ts` - 15 new tests for error utilities
775
-
776
- **Stats:**
777
- - Tests: 137 → 152 (+15)
778
- - Catches fixed: 55
779
- - Files: 4 (3 refactored + 1 test)
780
-
781
- ---
782
-
783
- ## [0.33.1] - 2026-01-13
784
-
785
- ### Refactor: Code Quality Improvements
786
-
787
- **PRJ-58: Consolidate hardcoded paths to pathManager**
788
- - Added `getClaudeDir()`, `getClaudeCommandsDir()`, `getClaudeSettingsPath()` to pathManager
789
- - Refactored 6 files to use centralized path methods instead of `os.homedir()` concatenation
790
- - Files: `compaction.ts`, `generator.ts`, `routes-extended.ts`, `routes.ts`, `auth-config.ts`, `setup.ts`
791
-
792
- **PRJ-57: Simplify logger level detection**
793
- - Use `Set` for truthy values instead of multiple OR conditions
794
- - Remove redundant `'prjct'` equality check (covered by `includes`)
795
- - Use nullish coalescing (`??`) instead of ternary
796
- - Pre-compute level name to avoid runtime lookup
797
- - Add `createLogMethod()` factory to reduce repetition
798
- - File: `core/utils/logger.ts`
799
-
800
- ---
801
-
802
- ## [0.30.3] - 2026-01-13
803
-
804
- ### Fix: Enrichment Not Enabled by Default
805
-
806
- **Problem:** `CONFIG_ENRICHMENT_ENABLED` was not set in statusline config, so enrichment feature was not active by default when Claude Code started.
807
-
808
- **Solution:**
809
- - Added `enrichment.enabled: true` to `default-config.json`
810
- - Added `DEFAULT_ENRICHMENT_ENABLED="true"` to `config.sh`
811
- - Enrichment setting now parses from config with `true` as default
812
-
813
- **Files:**
814
- - `assets/statusline/default-config.json` - Added enrichment component
815
- - `assets/statusline/lib/config.sh` - Added enrichment config parsing
816
-
817
- ---
818
-
819
- ## [0.30.2] - 2026-01-13
820
-
821
- ### Feature: PM Expert Auto-Enrichment
822
-
823
- **Problem:** Claude could start coding without properly understanding the task, leading to solutions that didn't match user intent.
824
-
825
- **Solution:** PM Expert enrichment now runs AUTOMATICALLY in `p. task` and `p. bug`:
826
-
827
- **`p. task` - 5-Phase Enrichment:**
828
- 1. Intelligent Classification (type, priority, complexity)
829
- 2. Technical Analysis (affected files, existing patterns)
830
- 3. Dependency Detection (code, API, blockers)
831
- 4. User Story + AC Generation
832
- 5. Verify Understanding (ask if unclear)
833
-
834
- **`p. bug` - Quick Technical Analysis:**
835
- - Finds related files and recent commits
836
- - Assesses complexity (simple/medium/complex)
837
- - Suggests approach before auto-starting
838
- - For complex bugs, offers full PM Expert enrichment
839
-
840
- ### Fix: Statusline Installation Issues
841
-
842
- - **IFS Restoration**: Fixed bash associative array iteration breaking after `read`
843
- - **Bash 4+ Detection**: Auto re-exec to Homebrew bash on macOS (ships with bash 3.2)
844
- - **VERSION Patching**: All 3 installation paths now correctly patch CLI_VERSION
845
- - **jq Boolean Fix**: `enabled: false` now correctly parsed (was treating as null)
846
-
847
- **Files:**
848
- - `templates/commands/task.md` - Added Step 3: PM Expert Enrichment
849
- - `templates/commands/bug.md` - Added Step 4.5: Quick Technical Analysis
850
- - `assets/statusline/lib/*.sh` - IFS restoration
851
- - `assets/statusline/statusline.sh` - Bash 4+ detection, VERSION placeholder
852
- - `scripts/postinstall.js` - VERSION patching
853
- - `bin/prjct` - VERSION patching in self-healing
854
-
855
- ---
856
-
857
- ## [0.30.0] - 2026-01-12
858
-
859
- ### Fix: Distribution System Overhaul (CRITICAL)
860
-
861
- **Problem:** Users running `npm update -g prjct-cli` weren't getting updates because:
862
- 1. Old p.md had fallback to local cache files
863
- 2. postinstall copied 40+ files, too many failure points
864
-
865
- **Solution:**
866
- - **Removed fallback** in p.md - No more reading from stale local files
867
- - **p.md now always reads from npm root** - `npm root -g` + template path
868
- - **Simplified postinstall** - Only copies p.md (critical) + statusline (best-effort)
869
-
870
- **How it works now:**
871
- ```
872
- p. sync → Claude reads ~/.claude/commands/p.md
873
- → p.md says "run npm root -g, read from there"
874
- → Claude reads /opt/homebrew/lib/node_modules/prjct-cli/templates/commands/sync.md
875
- → Template always comes from installed npm package
876
- ```
877
-
878
- **Files:**
879
- - `templates/commands/p.md` - Removed fallback, simplified
880
- - `scripts/postinstall.js` - Minimal, only copies essential files
881
-
882
- ---
883
-
884
- ## [0.28.0] - 2026-01-12
885
-
886
- ### Feature: Per-Project Task Filtering for Status Bar
87
+ ### Fixed
887
88
 
888
- Extended API now supports filtering by current working directory, enabling the status bar to show project-specific tasks.
889
-
890
- **New Endpoints:**
891
- - `GET /api/status-bar/compact?cwd=/path` - Filter by cwd
892
- - `GET /api/projects` - List all projects
893
- - `GET /api/projects/:id/full` - Project dashboard
894
- - `POST /api/projects/:id/task/{complete,pause,resume}`
895
- - `GET /api/stats/global` - Global statistics
896
-
897
- **How it works:**
898
- 1. Status bar detects cwd from frontmost app (Terminal, VS Code, etc.)
899
- 2. Calls `/api/status-bar/compact?cwd=/current/path`
900
- 3. Server matches cwd to project's `repoPath`
901
- 4. Returns only that project's task
902
-
903
- **Files:**
904
- - `core/server/routes-extended.ts` - New extended API routes
905
- - `core/server/server.ts` - Mount extended routes
906
- - `core/server/index.ts` - Export extended routes
907
-
908
- ---
909
-
910
- ## [0.27.1] - 2026-01-12
911
-
912
- ### Docs: Differentiation Strategy vs Coding Agents
913
-
914
- Clarified prjct's positioning as a **workflow layer**, not a coding agent.
915
-
916
- **Changes:**
917
- - Added "What prjct is (and isn't)" section to README
918
- - Created COMPARISON.md documenting prjct vs OpenCode, Cursor, Jira, etc.
919
- - Clear messaging: prjct enhances Claude Code, doesn't compete with it
920
-
921
- **Key insight:** prjct competes with Jira/Linear/Notion (workflow tools), not with OpenCode/Cursor/Copilot (coding agents). Use both together for maximum developer momentum.
922
-
923
- ---
924
-
925
- ## [0.27.0] - 2026-01-08
926
-
927
- ### Fix: prjct Commit Signature (CRITICAL)
928
-
929
- **Problem:** Commits were only showing Claude's Co-Authored-By, missing the prjct signature.
930
-
931
- **Solution:** Made prjct signature NON-NEGOTIABLE in all commit-related templates:
932
- - `templates/commands/ship.md` - Updated commit format with HEREDOC
933
- - `templates/commands/git.md` - Updated commit message format
934
- - `CLAUDE.md` and `templates/global/CLAUDE.md` - Made footer CRITICAL
935
-
936
- **Correct commit format:**
937
- ```
938
- feat: description
939
-
940
- 🤖 Generated with [p/](https://www.prjct.app/)
941
- Designed for [Claude](https://www.anthropic.com/claude)
942
-
943
- ```
944
-
945
- The `🤖 Generated with [p/]` line MUST appear in ALL prjct commits.
946
-
947
- ---
948
-
949
- ### Feature: Claude Code Skill Integration (AGENTIC)
950
-
951
- Agents are now linked to Claude Code skills from claude-plugins.dev. **Skills are discovered and installed AGENTICALLY** - Claude searches the marketplace dynamically to find the best matching skill for each agent.
952
-
953
- **New Capabilities:**
954
-
955
- 1. **Agentic Skill Discovery** (`p. sync` Step 7.5)
956
- - Searches `https://claude-plugins.dev/skills?q={searchTerm}` for each agent
957
- - Analyzes results: prefers @anthropics, high downloads, recent updates
958
- - Downloads skill content from GitHub source
959
- - Installs to `~/.claude/skills/{name}.md`
960
- - Creates custom skill if no marketplace match found
961
- - Updates agent frontmatter with discovered skill name
962
-
963
- 2. **Skill Invocation in Tasks** (`p. task`)
964
- - Phase 2 (Exploration): Invokes skills based on task type
965
- - Phase 4 (Design): Loads agent skills for domain expertise
966
- - Example: UI tasks automatically use `/frontend-design`
967
-
968
- 3. **Agent → Skill Mapping**
969
-
970
- | Agent | Skill | Source |
971
- |-------|-------|--------|
972
- | `frontend.md` | `frontend-design` | @anthropics/claude-code-plugins |
973
- | `uxui.md` | `frontend-design` | @anthropics/claude-code-plugins |
974
- | `backend.md` | `javascript-typescript` | @wshobson/claude-code-workflows |
975
- | `testing.md` | `developer-kit` | @claudebase/marketplace |
976
- | `devops.md` | `developer-kit` | @claudebase/marketplace |
977
- | `prjct-planner.md` | `feature-dev` | @anthropics/claude-code-plugins |
978
- | `prjct-shipper.md` | `code-review` | @anthropics/claude-code-plugins |
979
-
980
- **New Files:**
981
-
982
- - `templates/config/skill-mappings.json` - Maps agents to skills
983
- - `templates/agentic/skill-integration.md` - Integration guide
984
-
985
- **Updated Files:**
986
-
987
- - `templates/commands/sync.md` - Added Step 7.5 for skill installation
988
- - `templates/commands/task.md` - Added skill invocation in Phase 2 & 4
989
- - `templates/agentic/subagent-generation.md` - Added skills to agent format
990
- - All subagent templates - Added `skills` field to frontmatter
991
- - `templates/global/CLAUDE.md` - Added skill integration section
992
- - `CLAUDE.md` - Added skill integration docs
993
-
994
- **Why This Matters:**
995
-
996
- - `frontend-design` provides anti-AI-slop patterns (no Inter + purple gradients)
997
- - `code-review` ensures quality before shipping
998
- - `javascript-typescript` provides Node.js/TypeScript best practices
999
- - `developer-kit` provides testing and DevOps automation
1000
-
1001
- **Usage:**
1002
-
1003
- ```bash
1004
- p. sync # Installs skills automatically
1005
- p. task "create login form" # Uses frontend-design skill
1006
- p. ship "auth" # Uses code-review skill
1007
- ```
1008
-
1009
- ---
1010
-
1011
- ## [0.26.1] - 2026-01-08
1012
-
1013
- ### Fix: Claude Context Efficiency (Critical)
1014
-
1015
- **Problem:** After v0.26.0, Claude was losing context, not analyzing properly, not applying skills, and making poor decisions across ALL commands.
1016
-
1017
- **Root Cause:**
1018
- 1. Templates were too long and procedural (~7000 lines total)
1019
- 2. `task.md` had 791 lines of pseudo-code scripts
1020
- 3. CLAUDE.md only referenced docs but Claude didn't read them proactively
1021
- 4. 11-phase workflow created too much cognitive overhead
1022
- 5. `context/CLAUDE.md` generated by sync only had stats, no behavioral rules
1023
-
1024
- **Solution:**
1025
-
1026
- 1. **Simplified `task.md`**: 791 → 277 lines (65% reduction)
1027
- - Removed procedural bloat
1028
- - Focus on GUIDANCE not SCRIPTS
1029
- - Claude uses intelligence to adapt, not follow rigidly
1030
-
1031
- 2. **Enhanced `templates/global/CLAUDE.md`**: 75 → 177 lines
1032
- - Added "HOW TO USE PRJCT" section
1033
- - Included architecture inline (not just references)
1034
- - Added "INTELLIGENT BEHAVIOR" section
1035
- - Key insight: "Templates are GUIDANCE, not scripts"
1036
-
1037
- 3. **Rich `context/CLAUDE.md` on sync**: Complete rewrite
1038
- - Added "MANDATORY RULES (DO NOT IGNORE)" section
1039
- - Added "DO vs DON'T" table for clear behavior
1040
- - Added "HOW TO USE PRJCT" with command reference
1041
- - Added "EXPECTED BEHAVIOR" guidelines
1042
- - Includes current state, available agents
1043
- - **ALWAYS OVERWRITE on sync** to ensure latest rules
1044
-
1045
- 4. **Reduced workflow complexity**: 11 → 5 phases for `p. task`
1046
- - Discovery → Exploration → Questions → Design → Implementation
1047
- - Simpler mental model, less overhead
1048
-
1049
- **Key Changes:**
1050
- - `p. sync` now overwrites `context/CLAUDE.md` with rich behavioral context
1051
- - Rules are NON-NEGOTIABLE and clearly marked
1052
- - Claude gets explicit DO/DON'T guidance
1053
- - All commands benefit from consistent context
1054
-
1055
- 5. **TRULY Agentic Project Analysis (NEW)**
1056
- - Detects ecosystem: Ruby, Python, Go, Rust, Node.js, PHP, Java, .NET, Elixir, etc.
1057
- - Detects project type: Rails, Django, Next.js, Go API, etc.
1058
- - Analyzes ACTUAL files to determine commands
1059
- - No hardcoded rules - Claude REASONS about what it finds
1060
- - Saves to `analysis/repo-analysis.json`
1061
-
1062
- 6. **Contextual CLAUDE.md (Ecosystem-Aware)**
1063
- - Shows correct commands for THIS ecosystem
1064
- - Rails: `bundle install`, `rails s`, `rspec`
1065
- - Python: `poetry install`, `pytest`
1066
- - Go: `go build`, `go test ./...`
1067
- - Node/bun: `bun install`, `bun test`
1068
- - Project-specific DO/DON'T table based on analysis
1069
-
1070
- **Example: Rails project generates:**
1071
- ```
1072
- Ecosystem: Ruby | Type: Rails
1073
- Commands:
1074
- - Install: bundle install
1075
- - Dev server: rails s
1076
- - Tests: rspec
1077
- - Migrations: rails db:migrate
1078
- ```
1079
-
1080
- **Example: Go project generates:**
1081
- ```
1082
- Ecosystem: Go | Type: Go API
1083
- Commands:
1084
- - Build: go build
1085
- - Tests: go test ./...
1086
- - Run: go run .
1087
- ```
1088
-
1089
- **Files Changed:**
1090
- - `templates/global/CLAUDE.md` - Rich context, intelligent guidance
1091
- - `templates/commands/task.md` - Simplified, agentic approach
1092
- - `templates/commands/sync.md` - Agentic analysis + contextual CLAUDE.md
1093
- - `CLAUDE.md` - Updated project docs
1094
- - `package.json` - Version bump
1095
-
1096
- ## [0.26.0] - 2026-01-01
1097
-
1098
- ### Complete Development Cycle with Workflow Integrity
1099
-
1100
- Major feature: 11-phase workflow system that ensures all development steps are completed. No more skipped version bumps, missing changelogs, or untracked ships.
1101
-
1102
- **New Commands:**
1103
- - `p. test` - Run tests, advance from implement → test phase
1104
- - `p. review` - MCP code review + GitHub approvals, advance test → review
1105
- - `p. merge` - Merge PR to main, advance review → merge
1106
- - `p. verify` - Validate all 11 checkpoints complete, close workflow
1107
-
1108
- **Workflow Phases:**
1109
- ```
1110
- p. task → (implement) → p. test → p. review → p. merge → p. ship → p. verify
1111
- ```
1112
-
1113
- | Phase | Command | Action |
1114
- |-------|---------|--------|
1115
- | 1. analyze | p. task | PM agent breakdown |
1116
- | 2. branch | p. task | Create feature branch |
1117
- | 3. implement | (manual) | Write code |
1118
- | 4. test | p. test | Run tests |
1119
- | 5. review | p. review | MCP + GitHub approvals |
1120
- | 6. merge | p. merge | Merge PR |
1121
- | 7-10. ship | p. ship | Tag, release, deploy, register |
1122
- | 11. verify | p. verify | Validate & close |
1123
-
1124
- **Phase Validation:**
1125
- Each command validates the workflow phase before executing. Cannot skip steps.
1126
-
1127
- **Checkpoint Tracking:**
1128
- - All phases tracked in `state.json` with timestamps
1129
- - Events logged to `memory/events.jsonl`
1130
- - Full audit trail for every workflow
1131
-
1132
- **Updated Commands:**
1133
- - `task.md` - Initializes workflow with 11 checkpoints
1134
- - `ship.md` - Validates merge phase, sets 4 checkpoints atomically
1135
- - `done.md` - Clarified as subtask completion
1136
- - `pause.md` - Preserves workflow state
1137
- - `resume.md` - Shows workflow phase on resume
1138
-
1139
- ## [0.25.1] - 2026-01-01
1140
-
1141
- ### Bug Fix: npm install symlink resolution
1142
-
1143
- **Fixed:** CLI fails when invoked via npm symlink (`node_modules/.bin/prjct`)
1144
-
1145
- **Root Cause:**
1146
- The shell wrapper script `bin/prjct` used `dirname "$0"` to find `prjct.ts`, which returns the symlink's directory (`.bin/`) instead of the actual script location (`prjct-cli/bin/`).
1147
-
1148
- **Solution:**
1149
- Added `resolve_symlink()` function that properly resolves symlinks before determining paths. Works on both Linux (`readlink -f`) and macOS (manual resolution fallback).
1150
-
1151
- **Files Changed:**
1152
- - `bin/prjct` - Added symlink resolution (v1.0.0 → v1.1.0)
1153
-
1154
- ## [0.25.0] - 2025-12-30
1155
-
1156
- ### Maintenance Release
1157
-
1158
- Version bump for release preparation.
1159
-
1160
- ## [0.24.0] - 2025-12-28
1161
-
1162
- ### Breaking Change: Unified Task Command
1163
-
1164
- Consolidated `/p:now`, `/p:feature`, and `/p:work` into a single `/p:task` command with agentic classification.
1165
-
1166
- **New Command: `/p:task`**
1167
- - Unified entry point for all work
1168
- - Agentic type classification (not keyword-based)
1169
- - 7-phase development workflow for all task types
1170
- - Git branch management with type-based prefixes
1171
-
1172
- **Agentic Classification:**
1173
- The agent analyzes task descriptions holistically to determine type:
1174
- - `feature` - Adds new functionality
1175
- - `bug` - Something broken or incorrect
1176
- - `improvement` - Enhances existing functionality
1177
- - `refactor` - Reorganizes without behavior change
1178
- - `chore` - Maintenance, deps, docs
1179
-
1180
- **Migration:**
1181
- ```
1182
- /p:now "fix login bug" → /p:task "fix login bug"
1183
- /p:feature "add dark mode" → /p:task "add dark mode"
1184
- /p:work "update docs" → /p:task "update docs"
1185
- ```
1186
-
1187
- **Deprecated Commands:**
1188
- - `/p:now` - Redirects to `/p:task`
1189
- - `/p:feature` - Redirects to `/p:task`
1190
- - `/p:work` - Redirects to `/p:task`
1191
-
1192
- **Files Changed:**
1193
- - `templates/commands/task.md` - New unified template
1194
- - `templates/commands/now.md` - Deprecated, redirects
1195
- - `templates/commands/feature.md` - Deprecated, redirects
1196
- - `core/commands/command-data.ts` - Registry updates
1197
- - `templates/global/CLAUDE.md` - Updated workflow docs
1198
- - `CLAUDE.md` - Updated project docs
1199
-
1200
- ## [0.23.0] - 2025-12-28
1201
-
1202
- ### Feature: Branch + PR Workflow
1203
-
1204
- Integrated git branch management and PR-based shipping workflow.
1205
-
1206
- **Branch Management:**
1207
- - `/p:now` auto-creates feature branches when on main/master
1208
- - `/p:bug` auto-creates bug branches with proper naming
1209
- - Handles uncommitted changes (stash/commit/abort prompts)
1210
- - Tracks branch info in state.json
1211
-
1212
- **Protected Branch Validation:**
1213
- - `/p:git` blocks commits/pushes to main/master
1214
- - Validates current branch matches expected task branch
1215
- - Clear error messages with recovery instructions
1216
-
1217
- **PR-Based Shipping (`/p:ship`):**
1218
- - Creates PR via `gh` CLI instead of direct push
1219
- - Generates PR description with quality metrics
1220
- - Waits for CI checks (up to 10 min)
1221
- - Records CI status (passed/failed/timeout)
1222
- - Supports `--draft` flag for WIP PRs
1223
-
1224
- **Template Updates:**
1225
- - `templates/commands/bug.md` - Branch creation + stashing
1226
- - `templates/commands/git.md` - Protected branch checks
1227
- - `templates/commands/now.md` - Feature branch workflow
1228
- - `templates/commands/ship.md` - Full PR lifecycle
1229
-
1230
- ## [0.20.1] - 2025-12-26
1231
-
1232
- ### Refactor: Type Consolidation
1233
-
1234
- Centralized ALL types in `core/types/` following DRY principles.
1235
-
1236
- **Changes:**
1237
- - Moved types from `domain/task-stack.ts` → `types/domain.ts`
1238
- - Moved types from `sync/*.ts` → `types/sync.ts`
1239
- - Moved types from `storage/*.ts` → `types/storage.ts`
1240
- - Moved types from `server/*.ts` → `types/server.ts`
1241
- - Moved types from `utils/*.ts` → `types/utils.ts`
1242
- - Added `types/plugin.ts` for webhook types
1243
- - Updated all barrel exports to re-export from `core/types`
1244
- - Renamed types to canonical names (TaskEntry → TaskStackEntry, etc.)
1245
-
1246
- **Stats:** 41 files changed, 606 insertions, 819 deletions (net -213 lines)
1247
-
1248
- ## [0.20.0] - 2025-12-21
1249
-
1250
- ### Feature: UX/UI Design Agent Integration
1251
-
1252
- Auto-generated UX/UI specialist agent for all frontend projects (web + mobile).
1253
-
1254
- **Priority: UX > UI** - Experience is more important than visuals.
1255
-
1256
- #### New Agent: `templates/agentic/agents/uxui.md`
1257
- - **Part 1: UX Principles** - User analysis, clarity, feedback, reduced friction, error handling, accessibility (a11y)
1258
- - **Part 2: UI Guidelines** - Aesthetic directions, typography trends (avoiding "AI slop"), color framework, purposeful animation
1259
- - **Part 3: Quality Checklists** - Mandatory UX/UI gates before shipping
1260
-
1261
- #### Frontend Detection in `/p:sync`
1262
- Auto-generates uxui.md when ANY frontend tech is detected:
1263
-
1264
- | Platform | Technologies |
1265
- |----------|-------------|
1266
- | Web | React, Vue, Svelte, Angular, Next.js, Nuxt |
1267
- | Mobile | React Native, Expo, Flutter, SwiftUI, Jetpack Compose |
1268
-
1269
- #### Enhanced `/p:feature` Phase 4
1270
- For frontend features, now includes:
1271
- 1. **UX Analysis** - Who, problem, happy path, edge cases
1272
- 2. **UX Requirements Checklist** - 6 mandatory accessibility/usability checks
1273
- 3. **Aesthetic Direction Selection** - Minimal, Bold, Soft, Brutalist
1274
- 4. **UI Guidelines Application** - Typography, color, animation, layout
1275
-
1276
- #### Anti-patterns Avoided ("AI Slop")
1277
- - Generic fonts: Inter, Roboto, Arial, Space Grotesk
1278
- - Purple/blue gradients on white
1279
- - Centered layouts without personality
1280
- - Unstyled component libraries
1281
-
1282
- **Files Added:**
1283
- - `templates/agentic/agents/uxui.md` - Complete UX/UI specialist agent
1284
-
1285
- **Files Modified:**
1286
- - `templates/commands/sync.md` - Frontend detection + uxui.md generation
1287
- - `templates/commands/feature.md` - Phase 4.0 UX/UI analysis
1288
- - `templates/commands/ship.md` - Pre-flight checks + confidence scoring
1289
-
1290
- ## [0.19.0] - 2025-12-21
1291
-
1292
- ### Breaking: Web Package Removed
1293
-
1294
- The web dashboard (`packages/web/`) has been extracted to a separate repository for independent development.
1295
-
1296
- **Removed:**
1297
- - `packages/web/` - Next.js dashboard app (~200 files)
1298
- - `bin/serve.js`, `bin/dev.js` - Web server scripts
1299
- - `templates/commands/serve.md` - /p:serve command
1300
- - `prjct-serve`, `prjct-dev` bin entries
1301
-
1302
- ### Fix: Prompt Builder Now Sends Full Templates
1303
-
1304
- Fixed critical bug where `prompt-builder.ts` only extracted `## Flow` sections, causing Claude to miss important instructions.
1305
-
1306
- **Before:** Claude only saw the Flow section (~30% of template)
1307
- **After:** Claude sees the full template content
1308
-
1309
- **Files Modified:**
1310
- - `core/agentic/prompt-builder.ts` - Removed regex extraction, send full content
1311
-
1312
- ### Improved: Templates Simplified
1313
-
1314
- Reduced template verbosity for better Claude comprehension:
1315
-
1316
- | Template | Before | After |
1317
- |----------|--------|-------|
1318
- | ship.md | 359 lines | ~110 lines |
1319
- | done.md | 318 lines | ~117 lines |
1320
- | now.md | 346 lines | ~141 lines |
1321
-
1322
- ### Improved: Timestamp Generation
1323
-
1324
- Changed from undefined `GetTimestamp()` to actual bash commands:
1325
-
1326
- ```bash
1327
- bun -e "console.log(new Date().toISOString())" 2>/dev/null || node -e "console.log(new Date().toISOString())"
1328
- ```
1329
-
1330
- ## [0.18.2] - 2025-12-15
1331
-
1332
- ### Fix: Agents Write to Global Storage
1333
-
1334
- Fixed critical bug where sub-agents were being written to project's local `.claude/agents/` directory instead of global storage.
1335
-
1336
- - **Bug**: `/p:sync` created agents in `{projectPath}/.claude/agents/` polluting local projects
1337
- - **Fix**: Agents now correctly write to `~/.prjct-cli/projects/{projectId}/agents/`
1338
-
1339
- **Files Modified:**
1340
- - `templates/commands/sync.md` - Changed all agent paths from `{cwd}/.claude/agents/` to `{globalPath}/agents/`
1341
- - `templates/agentic/subagent-generation.md` - Updated paths and added critical rules
1342
-
1343
- ## [0.16.0] - 2025-12-15
1344
-
1345
- ### Dead Code Cleanup
1346
-
1347
- Aggressive removal of ~6,600 lines of unused/legacy code for a cleaner, leaner codebase.
1348
-
1349
- - **Domain Modules Removed (6 files)**
1350
- - `agent-matcher.ts` - Replaced by template-based routing
1351
- - `product-standards.ts` - Unused domain standards
1352
- - `smart-cache.ts`, `task-analyzer.ts`, `agent-validator.ts`, `architect-session.ts`
1353
-
1354
- - **Agentic Modules Removed (6 files)**
1355
- - `semantic-compression.ts` - Exported but never called
1356
- - `response-templates.ts`, `think-blocks.ts`, `parallel-tools.ts`
1357
- - `context-filter.ts`, `validation-rules.ts`
1358
-
1359
- - **Legacy Migration Code Removed**
1360
- - `legacy-installer-detector/` directory (curl-to-npm migration)
1361
- - `migrator/` directory (version migrations)
1362
- - `uuid-migration.ts` (750 lines)
1363
- - `bin/migrate-to-json.js`, `bin/generate-views.js`
1364
- - `/p:migrate`, `/p:migrate-all` command templates
1365
-
1366
- - **Code Cleanup**
1367
- - Simplified `services.ts` facade (removed 6 unused exports)
1368
- - Simplified `setup.ts` (removed migration steps)
1369
- - Removed deprecated methods from `base.ts`
1370
- - Cleaned `command-executor.ts` (removed dead module usage)
1371
-
1372
- - **Impact**
1373
- - Lines removed: ~6,600
1374
- - Files deleted: ~25
1375
- - Build: Passing
1376
- - Tests: 131 pass
1377
-
1378
- ## [0.15.1] - 2025-12-15
1379
-
1380
- ### MCP Setup Documentation
1381
-
1382
- Enhanced setup template with MCP server installation documentation.
1383
-
1384
- - **Setup Template Updates**
1385
- - Added MCP server installation step documentation
1386
- - Context7 library documentation lookup integration
1387
- - Updated success output examples
1388
-
1389
- - **MCP Config Enhancements**
1390
- - Added description field for Context7 server
1391
- - Added usage guidelines with when/tools/examples
1392
- - Better documentation for resolve-library-id and get-library-docs
1393
-
1394
- ## [0.15.0] - 2025-12-15
1395
-
1396
- ### Template Optimization - Aggressive Consolidation
1397
-
1398
- Reduced command templates from 39 to 27 through strategic consolidation and elimination of redundancy.
1399
-
1400
- - **Command Consolidation**
1401
- - `/p:dash` absorbs status, progress, recap (views: default, week, month, compact)
1402
- - `/p:now` absorbs work, build (single task-start command)
1403
- - `/p:resume` absorbs recover (--recover flag for abandoned sessions)
1404
- - `/p:next` adds roadmap view (feature-grouped queue)
1405
- - `/p:ask` absorbs fix (troubleshooting mode)
1406
- - `/p:spec` absorbs decision (inline decision logging)
1407
-
1408
- - **Eliminated Redundant Commands**
1409
- - Removed: work, build, task, status, progress, recap, help
1410
- - Removed: roadmap, decision, fix, workflow, recover
1411
- - Total: 12 command templates deleted
1412
-
1413
- - **Auxiliary Template Cleanup**
1414
- - Merged accessibility.md → ux-ui.md
1415
- - Merged project-analysis.md → analyze.md
1416
- - Merged agent-assignment.md → agent-routing.md
1417
-
1418
- - **Template Enhancements**
1419
- - Agent detection table in now.md
1420
- - KPI metrics and velocity calculation in dash.md
1421
- - Recovery mode with 4 options in resume.md
1422
- - Standardized frontmatter across all templates
1423
-
1424
- - **Registry Updates**
1425
- - Updated core-commands.ts with consolidated commands
1426
- - Updated optional-commands.ts with git, test, serve
1427
-
1428
- ## [0.14.0] - 2025-12-11
1429
-
1430
- ### Actionable Dashboard + Session Recovery
1431
-
1432
- Dashboard is now fully actionable - click any item to execute commands in the terminal.
1433
-
1434
- - **Session Recovery System**
1435
- - `/p:recover` command to recover abandoned sessions (>8h inactive)
1436
- - Captures session prompts for context restoration
1437
- - RecoverCard shows abandoned sessions across all projects
1438
-
1439
- - **Actionable Dashboard Cards**
1440
- - QueueCard: Start (Play) and Delete (X) buttons always visible
1441
- - IdeasCard: Convert to Feature (Rocket) and Delete (X) buttons always visible
1442
- - ExpandButton pattern for "Show more" (DRY with ActivityTimeline)
1443
- - Click any item → navigate to /code → auto-execute command
1444
-
1445
- - **Click-to-Action Pattern**
1446
- - URL pattern: `/project/{id}/code?cmd=p.%20now%20"task"`
1447
- - Auto-executes command on terminal load
1448
- - Works for: Queue items, Ideas, Roadmap features, NowCard actions
1449
-
1450
- - **NowCard Enhancements**
1451
- - Done/Pause/Resume action buttons
1452
- - Project color dot indicator
1453
-
1454
- - **Code Workspace Improvements**
1455
- - PageHeader component with project context
1456
- - Auto-command execution from URL params
1457
-
1458
- ## [0.13.3] - 2025-12-11
1459
-
1460
- ### MomentumWidget + Code Workspace + Weekly Reports
1461
-
1462
- New features for project dashboard and code workspace.
1463
-
1464
- - **MomentumWidget** - Motivational sparkline in `/code` header
1465
- - 7-day activity visualization (tasks + ships)
1466
- - Smart color coding: green for streaks/trending up, gray for normal, red only for abandoned (7+ days)
1467
- - Status messages: "On fire!", "X tasks this week", "Miss you!"
1468
-
1469
- - **Code Workspace** (`/project/[id]/code`)
1470
- - Full terminal-based project workspace
1471
- - Command sidebar with workflow commands
1472
- - Mobile support with floating action button
1473
-
1474
- - **Weekly Reports** (`/project/[id]/reports`)
1475
- - Generate and preview project progress reports
1476
- - Printable report view
1477
-
1478
- - **Dashboard Improvements**
1479
- - "Start working" quick action in project dropdown
1480
- - Project version displayed in detail page header
1481
-
1482
- - **Bug Fixes**
1483
- - TechStackBadges: Handle both array and object formats for techStack
1484
-
1485
- ## [0.13.2] - 2025-12-10
1486
-
1487
- ### Fixed - Remove Migration Gate
1488
-
1489
- - Removed MigrationGate from production build
1490
- - Projects now load directly without migration checks
1491
-
1492
- ## [0.13.1] - 2025-12-10
1493
-
1494
- ### Fixed - Server Start Mode
1495
-
1496
- - Fixed serve.js to use `start` instead of `start:prod`
1497
- - Restored sidebar collapse functionality
1498
- - Fixed server OOM crash
1499
-
1500
- ## [0.13.0] - 2025-12-10
1501
-
1502
- ### Deep Sync + Cleanup migrations
1503
-
1504
- Major update: Deep git analysis, removed external API dependencies, MD-first architecture.
1505
-
1506
- - **Deep Sync (`/p:sync`)**
1507
- - Full git analysis: `git status`, `git log`, `git diff`, `git branch`
1508
- - Auto-detect completed tasks from commit messages
1509
- - Sync ALL MD files: now.md, next.md, shipped.md, ideas.md, roadmap.md
1510
- - Update project.json with real stats (fileCount, commitCount, version)
1511
- - Update CLAUDE.md Quick Reference table with current data
1512
- - Infer current task from uncommitted changes
1513
-
1514
- - **Sync Button in Project Detail**
1515
- - Prominent primary-colored button in sidebar
1516
- - Always visible for easy access
1517
- - Mobile support in command grid
1518
-
1519
- - **Removed External Dependencies**
1520
- - Removed OpenAI/OpenRouter API key management
1521
- - Removed migration service (no longer needed)
1522
- - Removed settings API route
1523
- - Cleaned up web package dependencies
1524
-
1525
- - **Ship Workflow Improvements**
1526
- - Language agnostic versioning (package.json, Cargo.toml, pyproject.toml, VERSION)
1527
- - CHANGELOG.md generation is now MANDATORY
1528
- - Auto-runs deep sync after shipping
1529
- - prjct signature in commits
1530
-
1531
- - **Files Removed**:
1532
- - `packages/web/app/api/settings/route.ts`
1533
- - `packages/web/app/api/migrate/route.ts`
1534
- - `packages/web/lib/services/migration.server.ts`
1535
- - `packages/web/components/MigrationGate/`
1536
-
1537
- - **Files Modified**:
1538
- - `templates/commands/sync.md` - Complete rewrite for deep analysis
1539
- - `templates/commands/ship.md` - Language agnostic, mandatory changelog
1540
- - `packages/web/app/settings/page.tsx` - Removed API keys section
1541
- - `packages/web/app/project/[id]/page.tsx` - Added Sync button
1542
-
1543
- ## [0.12.0] - 2025-12-10
1544
-
1545
- ### Added - JSON-First Architecture (Zero Data Loss)
1546
-
1547
- Major refactor: JSON is now source of truth. Claude reads/writes JSON, MD views are auto-generated.
1548
-
1549
- - **New Data Flow**
1550
- - `data/*.json` - Source of truth (Claude reads/writes)
1551
- - `views/*.md` - Auto-generated from JSON (Claude does NOT write MD)
1552
- - Web app reads JSON directly (no regex parsing)
1553
-
1554
- - **LLM-Based Migration** (`/api/migrate`)
1555
- - OpenRouter Claude-3.5-haiku extracts structured data from legacy MD
1556
- - Comprehensive pattern extraction rules for ZERO data loss
1557
- - Migrates: state, queue, ideas, roadmap, shipped, metrics, project
1558
-
1559
- - **Enriched Schemas** (capturing ALL data from MD)
1560
- - `shipped.json`: Added `agent`, `description`, `codeSnippets[]`, `commit{hash,message}`
1561
- - `queue.json`: Added `agent`, `groupName`, `groupId` per task
1562
- - `ideas.json`: Added `source`, `sourceFiles[]`, `stack{}`, `modules[]`, `roles[]`, `risks[]`
1563
- - `roadmap.json`: Added `duration{}`, `taskCount`, `agent`, `sprintName`, `completedDate`
1564
-
1565
- - **View Generator** (`bin/generate-views.js`)
1566
- - Generates MD from JSON for Claude context
1567
- - Templates: now.md, next.md, ideas.md, roadmap.md, shipped.md
1568
-
1569
- - **Files Added**:
1570
- - `packages/web/lib/services/migration.server.ts` - LLM migration service
1571
- - `packages/web/app/api/migrate/route.ts` - Migration API endpoint
1572
- - `core/view-generator.ts` - View generation from JSON
1573
- - `bin/generate-views.js` - CLI for view generation
1574
-
1575
- - **Files Modified**:
1576
- - `core/schemas/*.ts` - All schemas with enriched fields
1577
- - `packages/web/lib/json-loader.ts` - Types synced with schemas
1578
-
1579
- ## [0.11.6] - 2025-12-09
1580
-
1581
- ### Fixed - Terminal Responsive & Performance Issues
1582
-
1583
- Bug fixes for terminal UX issues when resizing browser and handling large output.
1584
-
1585
- - **Resize Bug Fixed** - Terminal no longer gets stuck at ~100px² when resizing browser
1586
- - Replaced `window.addEventListener('resize')` with `ResizeObserver`
1587
- - Added dimension validation before fitting (handles hidden tabs correctly)
1588
- - Added proper cleanup on unmount
1589
- - Added re-fit on tab activation
1590
-
1591
- - **Performance Improvements** - Terminal now handles large output smoothly
1592
- - Added client-side output buffering with `requestAnimationFrame`
1593
- - Added server-side PTY output buffering (16ms batch window)
1594
- - Added terminal config optimizations (`scrollback: 5000`, `smoothScrollDuration: 0`)
1595
-
1596
- - **Files Modified**:
1597
- - `packages/web/hooks/useClaudeTerminal.ts` - ResizeObserver, output batching, fit function
1598
- - `packages/web/components/TerminalTab.tsx` - Re-fit on tab activation
1599
- - `packages/web/server.ts` - PTY output buffering
1600
-
1601
- ## [0.11.5] - 2025-12-09
1602
-
1603
- ### Fixed - Production Server Mode
1604
-
1605
- Critical bug fix: `prjct serve` now runs in production mode instead of development mode.
1606
-
1607
- - **Server Mode** - Changed from dev to production
1608
- - Default port: 3000 → 9472 (avoids conflicts)
1609
- - Mode: `npm run dev` → `npm run start:prod` with `NODE_ENV=production`
1610
- - Auto-build on first run if `.next/` doesn't exist
1611
- - All features now work correctly (were broken in dev mode)
1612
-
1613
- - **packages/web/package.json** - Added `start:prod` script
1614
-
1615
- ## [0.11.0] - 2025-12-08
1616
-
1617
- ### Added - Web Application & Server Components
1618
-
1619
- Major release introducing the prjct web application with Next.js.
1620
-
1621
- - **Web Application** - Full Next.js web interface for prjct
1622
- - Project stats API implementation
1623
- - Enhanced UI components
1624
- - Terminal functionality in browser
1625
-
1626
- - **Server Components** - New server infrastructure
1627
- - Project management endpoints
1628
- - Stats API for metrics and analytics
1629
-
1630
- - **UI Enhancements**
1631
- - Improved project management interface
1632
- - Enhanced terminal integration
1633
-
1634
- ## [0.10.14] - 2025-11-29
1635
-
1636
- ### Refactored - 100% Agentic Subagent Delegation via Task Tool
1637
-
1638
- Claude now delegates to specialist agents using the Task tool with efficient reference passing.
1639
-
1640
- - **`command-executor.js`** - Eliminated all if/else agent assignment logic
1641
- - Removed: `MandatoryAgentRouter`, `ContextFilter`, `ContextEstimator`
1642
- - Removed: `isTaskCommand()`, `shouldUseAgent()` methods
1643
- - JS only loads templates and context, Claude decides everything
1644
- - Added: `agentsPath` and `agentRoutingPath` to context for Claude
1645
-
1646
- - **Templates updated with Agent Delegation section**:
1647
- - `feature.md` - Added Task + Glob tools, agent delegation instructions
1648
- - `bug.md` - Added Task + Glob tools, agent delegation instructions
1649
- - `task.md` - Added Task + Glob tools, agent delegation instructions
1650
-
1651
- - **`agent-routing.md`** - Added efficient Task tool invocation
1652
- - Pass file PATH (~200 bytes), not content (3-5KB)
1653
- - Subagent reads agent file itself
1654
- - Reduced context bloat by 95%
1655
-
1656
- ### Architecture
1657
-
1658
- ```
1659
- Usuario: "p. feature mejorar UX"
1660
-
1661
- Claude lee agent-routing.md → decide: "ux-ui"
1662
-
1663
- Claude: Task(prompt='Read: path/agents/ux-ui.md + Task: mejorar UX')
1664
-
1665
- Subagente: Lee archivo → aplica expertise → ejecuta
1666
- ```
1667
-
1668
- **Benefits:**
1669
- - 95% reduction in prompt size for delegation
1670
- - Lower hallucination risk
1671
- - True 100% agentic - JS is pure orchestration
1672
-
1673
- ## [0.10.12] - 2025-11-29
1674
-
1675
- ### Refactored - Mandatory Agent Assignment (100% Agentic)
1676
-
1677
- All agent assignment decisions now delegated to Claude via templates. JS code is pure orchestration.
1678
-
1679
- - **New Template**: `templates/agent-assignment.md`
1680
- - Claude decides which agent based on task + available agents + context
1681
- - No hardcoded scoring weights or matching algorithms
1682
- - Semantic understanding replaces keyword matching
1683
-
1684
- - **Simplified `agent-router.js`**: 419 → 128 lines (69% reduction)
1685
- - Removed: scoring logic, domain mappings, caching algorithms
1686
- - Kept: load agents, build context, log usage (I/O only)
1687
- - Class renamed: `MandatoryAgentRouter` → `AgentRouter`
1688
-
1689
- - **Simplified `agent-matcher.js`**: 218 → 103 lines (53% reduction)
1690
- - Removed: multi-factor scoring (40% domain, 30% skills, etc.)
1691
- - Removed: all if/else matching logic
1692
- - Kept: format data, record usage, load history (I/O only)
1693
-
1694
- - **Updated commands.js**:
1695
- - `/p:now` - Assigns agent before setting task, shows `[agent]`
1696
- - `/p:feature` - Assigns agent to each task, format: `[agent] [ ] task`
1697
- - `/p:bug` - Assigns agent, shows `→ agent`
1698
- - `/p:build` - Uses async `_assignAgentForTask()`
1699
- - New method: `_assignAgentForTask()` - orchestrates agent assignment
1700
-
1701
- ### Architecture Principle
1702
-
1703
- **JS = Orchestrator** (load files, build context, format data, I/O)
1704
- **Claude = Decision Maker** (via templates for all logic)
1705
-
1706
- No scoring algorithms, no matching weights, no domain mappings in code.
1707
-
1708
- ## [0.10.11] - 2025-11-29
1709
-
1710
- ### Refactored - 100% Agentic System
1711
-
1712
- Complete elimination of procedural keyword-based logic. Claude now decides everything via templates:
1713
-
1714
- - **Templates Created (12 new files)**
1715
- - `templates/analysis/complexity.md` - Replaces `_detectComplexity()` keyword lists
1716
- - `templates/analysis/task-breakdown.md` - Replaces `_breakdownFeatureTasks()` hardcoded patterns
1717
- - `templates/analysis/bug-severity.md` - Replaces `_detectBugSeverity()` keyword detection
1718
- - `templates/analysis/health.md` - Replaces `_calculateHealth()` scoring logic
1719
- - `templates/analysis/intent.md` - Replaces `analyzeSemantics()` regex patterns
1720
- - `templates/design/architecture.md` - Architecture design guidance for Claude
1721
- - `templates/design/api.md` - API design guidance for Claude
1722
- - `templates/design/component.md` - Component design guidance for Claude
1723
- - `templates/design/database.md` - Database design guidance for Claude
1724
- - `templates/design/flow.md` - User flow design guidance for Claude
1725
- - `templates/architect/discovery.md` - Discovery phase template
1726
- - `templates/architect/phases.md` - Phase selection template
1727
-
1728
- - **commands.js** - Simplified 11 helper methods
1729
- - `_breakdownFeatureTasks()` - Returns placeholder, Claude generates via template
1730
- - `_detectBugSeverity()` - Returns 'medium', Claude assesses via template
1731
- - `_calculateHealth()` - Simple activity check, Claude evaluates via template
1732
- - `_detectComplexity()` - Returns default, Claude analyzes via template
1733
- - `_autoAssignAgent()` - Returns 'generalist', routing via agent-router.js
1734
- - `_generateArchitectureDesign()` - 60 → 2 lines
1735
- - `_generateApiDesign()` - 75 → 2 lines
1736
- - `_generateComponentDesign()` - 75 → 2 lines
1737
- - `_generateDatabaseDesign()` - 65 → 2 lines
1738
- - `_generateFlowDesign()` - 58 → 2 lines
1739
-
1740
- - **architecture-generator.js** - Reduced from 561 to 93 lines (83% reduction)
1741
- - Removed all phase-specific generation logic
1742
- - Claude generates content via architect templates
1743
-
1744
- - **task-analyzer.js** - Simplified semantic analysis
1745
- - `analyzeSemantics()` - Removed all regex patterns
1746
- - `estimateComplexity()` - Removed keyword lists
1747
- - `detectDomains()` - Returns empty, Claude decides domain
1748
-
1749
- ### Fixed
1750
-
1751
- - **prompt-builder.test.js** - Updated 3 tests to match compressed format
1752
- - Tests now expect `## FILES:` instead of `AVAILABLE PROJECT FILES`
1753
- - Tests now expect `## PROJECT:` instead of `PROJECT FILES`
1754
-
1755
- ### Impact
1756
- - Zero keyword-based logic remaining
1757
- - All decisions delegated to Claude via templates
1758
- - Easier to extend (just add/edit templates)
1759
- - More accurate analysis (semantic understanding vs pattern matching)
1760
-
1761
- ## [0.10.10] - 2025-11-28
1762
-
1763
- ### Refactored - Agentic Architecture Optimization
1764
-
1765
- Major refactoring to make prjct-cli truly agentic with 70% context reduction:
1766
-
1767
- - **CLAUDE.md** - Reduced from 1,079 to 204 lines (81% reduction)
1768
- - Removed verbose examples and implementation pseudocode
1769
- - Kept only critical rules and command reference
1770
- - Cleaner, more focused instructions for Claude
1771
-
1772
- - **Templates Expanded to Executable Specs**
1773
- - `done.md`: 24 → 138 lines with step-by-step instructions
1774
- - `ship.md`: 36 → 257 lines with full decision trees
1775
- - `feature.md`: 35 → 276 lines with value analysis flow
1776
- - `sync.md`: 72 → 263 lines with agent generation rules
1777
-
1778
- - **patterns.md** - Simplified from 207 to 61 lines (70% reduction)
1779
- - Removed verbose SOLID explanations
1780
- - Focused on detection steps and output format
1781
-
1782
- - **prompt-builder.js** - Conditional injection for efficiency
1783
- - Agents only injected for code-modifying commands
1784
- - Pattern summary extraction (800 bytes vs 6KB)
1785
- - File list compressed (5 files vs 20)
1786
-
1787
- ### Impact
1788
- - Context per command: ~54KB → ~18KB (67% reduction)
1789
- - Templates now executable specifications with:
1790
- - Explicit paths and variables
1791
- - Decision trees with IF/ELSE
1792
- - Error handling at each step
1793
- - JSONL format specifications
1794
- - Concrete examples
1795
-
1796
- ## [0.10.9] - 2025-11-28
1797
-
1798
- ### Added
1799
-
1800
- - **Code Pattern Detection & Enforcement** - New system to detect and enforce code patterns
1801
- - `templates/analysis/patterns.md` - Template for detecting SOLID, DRY, naming conventions
1802
- - Detects design patterns: Factory, Singleton, Observer, Repository, Strategy
1803
- - Identifies anti-patterns: God classes, spaghetti code, copy-paste, magic numbers
1804
- - Extracts conventions: naming, style, async patterns, error handling
1805
- - Generates recommendations with specific file locations and fixes
1806
-
1807
- ### Enhanced
1808
-
1809
- - **`/p:sync` Command** - Now includes pattern analysis
1810
- - Samples 5-10 source files across directories
1811
- - Detects SOLID compliance with evidence
1812
- - Extracts naming and style conventions
1813
- - Flags anti-patterns with severity (HIGH/MEDIUM/LOW)
1814
- - Saves analysis to `analysis/patterns.md`
1815
- - Updates CLAUDE.md with patterns summary
1816
-
1817
- - **Context Builder** - Added `codePatterns` path for pattern detection
1818
- - All code-modifying commands now load patterns automatically
1819
- - Commands: now, build, feature, design, cleanup, fix, test, spec, work
1820
-
1821
- - **Prompt Builder** - Includes patterns in code generation prompts
1822
- - Full patterns file included for code-modifying commands
1823
- - Explicit instruction: "ALL new code MUST respect these patterns"
1824
- - Anti-pattern prevention: "NO anti-patterns allowed"
1825
-
1826
- ### Impact
1827
-
1828
- - New code automatically follows project conventions
1829
- - Anti-patterns detected and flagged before they're introduced
1830
- - Better code quality, performance, and scalability
1831
- - Reduced technical debt from day one
1832
-
1833
- ## [0.10.8] - 2025-11-28
1834
-
1835
- ### Added
1836
-
1837
- - **Minimal Output System** - New `core/utils/output.js` module for clean, minimal CLI output
1838
- - `spin(msg)` - Spinner animation while working
1839
- - `done(msg)` - Single-line success output (✓)
1840
- - `fail(msg)` - Single-line error output (✗)
1841
- - `warn(msg)` - Single-line warning output (⚠)
1842
-
1843
- ### Changed
1844
-
1845
- - **Reduced CLI Verbosity** - All major commands now show spinner + 1 line result instead of verbose multi-line output
1846
- - `/p:now` - Shows only task name and status
1847
- - `/p:done` - Shows task and duration in one line
1848
- - `/p:next` - Shows queue count only
1849
- - `/p:ship` - Spinner during steps, single line result with version
1850
- - `/p:feature` - Shows task count created
1851
- - `/p:init` - Spinner during initialization, minimal completion message
1852
- - `/p:bug` - Shows severity in one line
1853
- - `/p:context` - Shows task and queue summary
1854
- - `/p:recap` - Shows shipped/queue/ideas counts
1855
- - `/p:stuck` - Logs issue with minimal output
1856
- - `/p:design` - Shows design type created
1857
- - `/p:cleanup` - Shows items cleaned count
1858
- - `/p:progress` - Shows period metrics summary
1859
- - `/p:roadmap` - Shows features count
1860
-
1861
- ### Improved
1862
-
1863
- - **Resource Efficiency** - Reduced terminal output significantly, consuming less resources
1864
- - **Cleaner UX** - Focus on essential information, no verbose step-by-step logs
1865
-
1866
- ## [0.10.7] - 2025-11-27
1867
-
1868
- ### Fixed
1869
-
1870
- - **Critical Git Safety** - Added explicit protections against destructive git operations
1871
- - Prohibits `git checkout` without checking for uncommitted changes first
1872
- - Prohibits `git reset --hard` and `git clean -fd` operations
1873
- - Requires `git status` check before any git operation
1874
- - Prevents loss of user's work through accidental git operations
1875
-
1876
- - **Anti-Hallucination Improvements** - Enhanced instructions to prevent code hallucinations
1877
- - Explicit "READ CODE FIRST" requirement before modifying files
1878
- - Mandatory pattern matching with existing codebase
1879
- - Improved context awareness with file listings
1880
- - Better state filtering to preserve critical information (up to 2000 chars for critical files)
1881
-
1882
- ### Enhanced
1883
-
1884
- - **Pattern Detection & Enforcement** - Automatic project pattern detection and enforcement
1885
- - Analysis file (`analysis/repo-summary.md`) automatically loaded for all code modification commands
1886
- - Project patterns extracted and displayed in prompts
1887
- - Explicit instructions to follow existing patterns exactly
1888
- - Step-by-step guide to match code style, structure, and conventions
1889
-
1890
- - **Context Improvements** - Better context loading and presentation
1891
- - Analysis included automatically for: now, done, next, ship, work, build, design, cleanup, fix, test
1892
- - Project files listed with instructions to use Read tool
1893
- - State filtering improved to show full content for critical files (now, next, context, analysis)
1894
- - Better truncation strategy (full content < 1000 chars, 2000 chars for critical files)
1895
-
1896
- - **Prompt Builder Enhancements** - More comprehensive instructions for Claude
1897
- - Anti-hallucination section with 7 critical rules
1898
- - Git safety rules with explicit prohibitions
1899
- - Pattern detection and enforcement section
1900
- - Available project files listing
1901
- - Improved enforcement section with pattern matching requirement
1902
-
1903
- ## [0.10.6] - 2025-11-27
1904
-
1905
- ### Enhanced
1906
-
1907
- - **Global CLAUDE.md Template** - Improved to help Claude use prjct-cli better
1908
- - Quick command reference table with examples
1909
- - Recommended workflow (sync → feature → now → done → ship)
1910
- - Common usage patterns with examples
1911
- - Anti-patterns table (what NOT to do)
1912
- - Using agents effectively section
1913
- - Simplified file structure overview
1914
- - Error handling table
1915
-
1916
- ## [0.10.5] - 2025-11-27
1917
-
1918
- ### Enhanced
1919
-
1920
- - **Rich Project Context** - CLAUDE.md now includes comprehensive project info
1921
- - Quick reference table (project, stack, files, commits, contributors)
1922
- - Full tech stack details (languages, frameworks, dependencies)
1923
- - Project structure (directories)
1924
- - Agent summaries with roles and expertise
1925
- - Current task and priority queue (top 5)
1926
- - Active roadmap features
1927
- - Recent ideas (top 3)
1928
- - Git activity (last 5 commits)
1929
- - Deep dive section with file paths for detailed info
1930
-
1931
- - **Reduced LLM Context Overhead** - Claude gets all key info in one file instead of reading multiple
1932
-
1933
- ## [0.10.4] - 2025-11-27
1934
-
1935
- ### Fixed
1936
-
1937
- - **Commands Module Export** - Fixed `require('./commands').sync is not a function` error
1938
- - Module now exports singleton instance for direct use
1939
- - Class still available via `require('./commands').PrjctCommands`
1940
- - Enables Claude to call commands directly: `require('./commands').sync()`
1941
-
1942
- ## [0.10.3] - 2025-11-27
1943
-
1944
- ### Fixed
1945
-
1946
- - **Global CLAUDE.md Auto-Update** - Now updates `~/.claude/CLAUDE.md` on every sync/analyze/init
1947
- - `/p:sync`: Updates global config after generating agents
1948
- - `/p:analyze`: Updates global config after analysis
1949
- - `/p:init`: Updates global config for all init modes
1950
- - Ensures Claude always has latest prjct instructions
1951
-
1952
- ## [0.10.2] - 2025-11-27
1953
-
1954
- ### Added
1955
-
1956
- - **Dynamic Project Context for Claude** - Claude now actually uses generated agents and project context
1957
- - New `core/context-sync.js` module generates project-specific CLAUDE.md
1958
- - Context file stored in global storage: `~/.prjct-cli/projects/{projectId}/CLAUDE.md`
1959
- - Auto-generates on `/p:sync`, `/p:analyze`, and `/p:init`
1960
- - Reads ALL agents dynamically (agents vary per project)
1961
- - Extracts: stack, current task, priority queue, active features
1962
- - Instructions added to global CLAUDE.md template for Claude to read project context
1963
-
1964
- ### Changed
1965
-
1966
- - **`/p:sync` Command** - Now generates dynamic project context after syncing agents
1967
- - **`/p:analyze` Command** - Now generates dynamic project context after analysis
1968
- - **Global CLAUDE.md Template** - Added instructions for Claude to read project-specific context
1969
- - New "🤖 Project Context (OBLIGATORIO)" section
1970
- - Instructs Claude to read `~/.prjct-cli/projects/{projectId}/CLAUDE.md` before working
1971
-
1972
- ### Technical Details
1973
-
1974
- - **New Files**:
1975
- - `core/context-sync.js` (~140 lines) - Context generation with dynamic agent reading
1976
-
1977
- - **Modified Files**:
1978
- - `core/commands.js` - Added context sync calls to sync() and analyze()
1979
- - `templates/global/CLAUDE.md` - Added project context reading instructions
1980
-
1981
- - **Architecture Decision**: Context lives in global storage (NOT in repo) to avoid being overwritten by commits
1982
-
1983
- ## [0.10.1] - 2025-11-24
1984
-
1985
- ### Added
1986
- - Intelligent Agent System & Performance Optimization
1987
-
1988
- All notable changes to prjct-cli will be documented in this file.
1989
-
1990
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1991
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1992
-
1993
- ## [Unreleased]
1994
-
1995
- ## [0.10.0] - 2025-11-24
1996
-
1997
- ### 🚀 Major Release: Intelligent Agent System & Performance Optimization
1998
-
1999
- This release represents a complete overhaul of the agent system with intelligent matching, semantic analysis, and massive performance improvements.
2000
-
2001
- ### Added
2002
-
2003
- - **TaskAnalyzer - Deep Semantic Task Analysis**
2004
- - Multi-domain detection from task descriptions
2005
- - Historical pattern learning from previous tasks
2006
- - Complexity estimation for better agent matching
2007
- - Project context awareness for accurate domain detection
2008
- - Semantic understanding beyond simple keyword matching
2009
-
2010
- - **AgentMatcher - Intelligent Agent Matching**
2011
- - Multi-factor scoring system (domain, skills, history, complexity)
2012
- - Capability-based matching instead of simple keywords
2013
- - Learning system that improves from successful assignments
2014
- - Match explanations for transparency
2015
-
2016
- - **ContextEstimator - Pre-filtering System**
2017
- - Estimates required files BEFORE building full context
2018
- - Reduces I/O operations by 70-90%
2019
- - Technology-aware file pattern detection
2020
- - Supports multi-agent tasks
2021
-
2022
- - **AgentValidator - Quality Assurance**
2023
- - Pre-generation validation (prevents duplicate agents)
2024
- - Post-generation validation (ensures agent usefulness)
2025
- - Usefulness scoring to avoid generic agents
2026
- - Comparison with existing agents before generating
2027
-
2028
- - **SmartCache - Persistent Intelligent Cache**
2029
- - Cache keys: `{projectId}-{domain}-{techStack}` for precision
2030
- - Disk persistence for cross-session caching
2031
- - Intelligent invalidation only when stack changes
2032
- - Cache statistics and monitoring
2033
-
2034
- - **AgentLoader - Agent File Management**
2035
- - Loads agents from project files (agents are now actually used!)
2036
- - Extracts metadata (role, domain, skills) from agent content
2037
- - Caching system for performance
2038
- - Full agent content injection into prompts
2039
-
2040
- ### Changed
2041
-
2042
- - **Lazy Context Building - 4-5x Performance Improvement**
2043
- - Context built only AFTER agent assignment
2044
- - Metadata-only phase before file reading
2045
- - Pre-filtered file lists reduce I/O dramatically
2046
- - Result: 0.5-1s assignment time (was 2-5s)
2047
-
2048
- - **Agent Router - Complete Rewrite**
2049
- - Uses TaskAnalyzer for semantic analysis
2050
- - Uses AgentMatcher for intelligent matching
2051
- - Uses SmartCache for persistent caching
2052
- - Uses AgentValidator for quality assurance
2053
- - Result: 85-95% matching accuracy (was 60-70%)
2054
-
2055
- - **Command Executor - Optimized Flow**
2056
- - Lazy context building implementation
2057
- - Pre-estimation of required files
2058
- - Reduced memory usage
2059
- - Faster execution
2060
-
2061
- - **Context Filter - Enhanced**
2062
- - Supports pre-estimated files for lazy loading
2063
- - Fallback to traditional filtering when needed
2064
- - Better integration with ContextEstimator
2065
-
2066
- - **Agent Generation - Dynamic & Validated**
2067
- - 100% dynamic technology detection (no hardcoding)
2068
- - Validation before and after generation
2069
- - Comparison with existing agents
2070
- - Result: 10-15% generic agents (was 40-50%)
2071
-
2072
- ### Performance
2073
-
2074
- - **Agent Assignment**: 2-5s → 0.5-1s (**4-5x faster**)
2075
- - **Matching Accuracy**: 60-70% → 85-95% (**+30% improvement**)
2076
- - **Cache Hit Rate**: 20-30% → 70-80% (**2-3x improvement**)
2077
- - **Generic Agents**: 40-50% → 10-15% (**75% reduction**)
2078
- - **I/O Operations**: 70-90% reduction through pre-filtering
2079
- - **Memory Usage**: Significant reduction through lazy loading
2080
-
2081
- ### Technical Details
2082
-
2083
- - **New Components**:
2084
- - `core/domain/task-analyzer.js` - Semantic task analysis
2085
- - `core/domain/agent-matcher.js` - Intelligent matching with scoring
2086
- - `core/domain/context-estimator.js` - Pre-filtering system
2087
- - `core/domain/agent-validator.js` - Quality assurance
2088
- - `core/domain/smart-cache.js` - Persistent intelligent cache
2089
- - `core/domain/agent-loader.js` - Agent file management
2090
- - `core/domain/tech-detector.js` - Dynamic technology detection
2091
-
2092
- - **Modified Components**:
2093
- - `core/agentic/agent-router.js` - Complete rewrite with new system
2094
- - `core/agentic/command-executor.js` - Lazy context building
2095
- - `core/agentic/context-filter.js` - Pre-estimation support
2096
- - `core/domain/agent-generator.js` - Agent loading integration
2097
- - `core/commands.js` - Dynamic agent generation
2098
-
2099
- - **Breaking Changes**: None - fully backward compatible
2100
-
2101
- ## [0.9.2] - 2025-11-22
2102
-
2103
- ### Fixed
2104
-
2105
- - **Critical: Missing `glob` dependency** - Fixed "Cannot find module 'glob'" error
2106
- - Added `glob@^10.3.10` to dependencies in `package.json`
2107
- - Resolves installation failures on fresh npm installs
2108
- - Compatible with Node.js v18+ (including v24.x LTS)
2109
-
2110
- - **Critical: glob API compatibility** - Fixed TypeError with modern glob versions
2111
- - Updated `context-filter.js` to use modern glob API (v10+)
2112
- - Removed deprecated `promisify(glob)` pattern
2113
- - Changed to `const { glob } = require('glob')` with native promise support
2114
- - Added defensive array validation for glob results
2115
- - Resolves "ERR_INVALID_ARG_TYPE: The 'original' argument must be of type function" error
2116
-
2117
- ### Added
2118
-
2119
- - **Comprehensive Test Coverage** - Added 140+ tests for critical modules
2120
- - ✅ `core/agentic/agent-router.js` - 20 tests (agent assignment, task analysis, context filtering)
2121
- - ✅ `core/infrastructure/config-manager.js` - 30+ tests (config read/write, author management, validation)
2122
- - ✅ `core/infrastructure/path-manager.js` - 35 tests (path generation, session management, project structure)
2123
- - ✅ `core/utils/jsonl-helper.js` - 20+ tests (JSONL parsing, file operations, rotation)
2124
- - ✅ `core/domain/analyzer.js` - 15+ tests (project analysis, file detection, git integration)
2125
- - ✅ `core/infrastructure/author-detector.js` - 10+ tests (author detection, git integration)
2126
- - ✅ `core/agentic/context-filter.js` - 31 tests (already existed, now includes glob API tests)
2127
- - **Coverage improvement**: ~15% → ~40-50% overall coverage
2128
- - **Test files created**: 6 new test suites covering critical infrastructure
2129
-
2130
- ### Changed
2131
-
2132
- - **Test Infrastructure** - Enhanced test suite with comprehensive coverage
2133
- - All critical infrastructure modules now have full test coverage
2134
- - Tests detect dependency issues and API compatibility problems
2135
- - Better error detection and prevention for future changes
2136
-
2137
- ### Technical Details
2138
-
2139
- - **Dependency Updates**:
2140
- - Added `glob@^10.3.10` to production dependencies
2141
- - Compatible with Node.js v18.0.0+ (tested with v24.x)
2142
-
2143
- - **Code Changes**:
2144
- - `core/agentic/context-filter.js`: Updated glob usage to modern API
2145
- - Added array validation for glob results (defensive programming)
2146
-
2147
- - **Test Files Added**:
2148
- - `core/__tests__/agentic/agent-router.test.js`
2149
- - `core/__tests__/infrastructure/config-manager.test.js`
2150
- - `core/__tests__/infrastructure/path-manager.test.js`
2151
- - `core/__tests__/utils/jsonl-helper.test.js`
2152
- - `core/__tests__/domain/analyzer.test.js`
2153
- - `core/__tests__/infrastructure/author-detector.test.js`
2154
-
2155
- ## [0.9.1] - 2024-11-22
2156
-
2157
- ### 🎯 Context Optimization & Prompt Efficiency
2158
-
2159
- Major performance improvements through context window optimization and prompt conciseness.
2160
-
2161
- ### Added
2162
-
2163
- - **Mandatory Agent Assignment System**
2164
- - Every task now requires specialized agent assignment
2165
- - Automatic expertise detection from task descriptions
2166
- - Universal technology support (Ruby, Go, Python, etc.)
2167
-
2168
- - **Context Filtering System**
2169
- - 70-90% context window reduction per task
2170
- - Technology-specific file filtering
2171
- - Smart pattern detection for any framework
2172
-
2173
- ### Changed
2174
-
2175
- - **Optimized Command Templates** (~70% reduction)
2176
- - Concise, efficient prompts for AI understanding
2177
- - Removed verbose explanations
2178
- - Direct flow instructions with → and | notation
2179
-
2180
- - **Agent Generation Improvements**
2181
- - Dynamic, concise agent prompts
2182
- - Removed 200+ lines of hardcoded patterns
2183
- - Universal technology detection
2184
-
2185
- ### Performance
2186
-
2187
- - Context window usage: **70-90% reduction**
2188
- - Template verbosity: **~70% average reduction**
2189
- - Agent specialization: True domain focus achieved
2190
-
2191
- ## [0.9.0] - 2024-11-22
2192
-
2193
- ### 🚀 Major Release: Simplified Commands + Pause/Resume + Intelligent Ideas
2194
-
2195
- This release represents a **major simplification** of prjct-cli, reducing commands by 48% while adding powerful new capabilities including pause/resume for task interruptions and AI-powered idea development.
2196
-
2197
- ### Added
2198
-
2199
- - **Task Stack System** - Natural workflow with interruptions
2200
- - ✅ `/p:pause [reason]` - Pause active task to handle interruptions
2201
- - ✅ `/p:resume [task_id]` - Resume paused tasks with preserved context
2202
- - ✅ Multiple concurrent paused tasks supported
2203
- - ✅ Automatic duration tracking (excludes paused time)
2204
- - ✅ Migration from legacy `now.md` to new `stack.jsonl` format
2205
- - 📊 Impact: Handle urgent tasks without losing context
2206
-
2207
- - **Intelligent Idea Development** - Transform ideas into complete architectures
2208
- - ✅ `/p:idea` enhanced to develop full technical specifications
2209
- - ✅ Simple ideas → Quick capture (< 20 words)
2210
- - ✅ Complex ideas → Complete architecture generation
2211
- - ✅ Interactive discovery process with AI
2212
- - ✅ Generates: Tech stack, API specs, database schema, roadmap
2213
- - ✅ Saves to `planning/architectures/{id}/` for reference
2214
- - 📊 Impact: Go from idea to implementation-ready specs in one command
2215
-
2216
- - **Unified Commands** - Fewer commands, more power
2217
- - ✅ `/p:work [task]` - Replaces `/p:now` + `/p:build`
2218
- - No params → Show current task
2219
- - With task → Start new task
2220
- - ✅ `/p:dash [view]` - Replaces 4 dashboard commands
2221
- - Default → Full dashboard
2222
- - `week/month` → Progress views
2223
- - `roadmap` → Planning view
2224
- - `compact` → Minimal status
2225
- - ✅ `/p:help [topic]` - Enhanced to absorb 3 commands
2226
- - Absorbs `/p:ask`, `/p:suggest`, `/p:stuck`
2227
- - Context-aware suggestions
2228
- - Intent to action translation
2229
-
2230
- ### Changed
2231
-
2232
- - **Command Count** - Reduced from 23 → 13 (48% reduction)
2233
- - Core workflow remains 13 commands but simplified
2234
- - Removed redundant overlapping commands
2235
- - Better organization and clearer purpose
2236
-
2237
- - **Architecture Generator** - New system for idea development
2238
- - `core/domain/architecture-generator.js` - Full architecture generation
2239
- - `core/domain/task-stack.js` - Pause/resume task management
2240
- - `templates/planning-methodology.md` - Comprehensive planning guide
2241
-
2242
- ### Removed
2243
-
2244
- - **Deprecated Commands** - Completely removed (not just marked deprecated)
2245
- - ❌ `/p:now` → Use `/p:work`
2246
- - ❌ `/p:build` → Use `/p:work "task"`
2247
- - ❌ `/p:status` → Use `/p:dash`
2248
- - ❌ `/p:roadmap` → Use `/p:dash roadmap`
2249
- - ❌ `/p:recap` → Use `/p:dash`
2250
- - ❌ `/p:progress` → Use `/p:dash week`
2251
- - ❌ `/p:ask` → Use `/p:help`
2252
- - ❌ `/p:suggest` → Use `/p:help`
2253
- - ❌ `/p:stuck` → Use `/p:help stuck:`
2254
- - ❌ `/p:workflow` → Automatic in `/p:ship`
2255
- - ❌ `/p:task` → Use `/p:feature` for breakdown
2256
-
2257
- ### Migration Guide
2258
-
2259
- **For existing users:**
2260
- 1. First run will automatically migrate `now.md` to new stack system
2261
- 2. Old commands will show error with suggestion to use new command
2262
- 3. All data preserved during migration
2263
-
2264
- **Command mapping:**
2265
- ```bash
2266
- # Old → New
2267
- /p:now → /p:work
2268
- /p:build "task" → /p:work "task"
2269
- /p:status → /p:dash
2270
- /p:roadmap → /p:dash roadmap
2271
- /p:ask "question" → /p:help ask: "question"
2272
- /p:suggest → /p:help
2273
- /p:stuck "issue" → /p:help stuck: "issue"
2274
- ```
2275
-
2276
- **New workflow:**
2277
- ```bash
2278
- /p:idea "build CRM" # Develop complete architecture
2279
- /p:work "implement auth" # Start task
2280
- /p:pause # Urgent interruption
2281
- /p:work "fix bug" # Handle urgent task
2282
- /p:done # Complete bug
2283
- /p:resume # Back to auth
2284
- /p:ship "auth feature" # Ship when done
2285
- ```
2286
-
2287
- ### Technical Details
2288
-
2289
- - New files: 10 templates, 3 domain modules
2290
- - Modified: Command registry, core commands
2291
- - Lines of code: +2000 (new features), -3000 (removed redundancy)
2292
- - Breaking changes: Yes (old commands removed)
2293
- - Data migration: Automatic
2294
-
2295
- ## [0.8.8] - 2025-10-06
2296
-
2297
- ### Added
2298
-
2299
- - **System timestamp tools** - LLM now gets real date/time from system instead of guessing
2300
- - ✅ `GetTimestamp()` tool - Returns ISO timestamp from system clock
2301
- - ✅ `GetDate()` tool - Returns YYYY-MM-DD from system clock
2302
- - ✅ `GetDateTime()` tool - Returns full date/time object with components
2303
- - 🐛 **Bug fixed**: Tasks no longer show January 1st dates when it's October
2304
- - 📊 Impact: Session files now use correct dates, analytics work properly
2305
-
2306
- - **Template optimization** - Phase 1 complete: Top 7 critical templates optimized
2307
- - ✅ Reduced from 2006 → 605 lines (69.8% reduction, saved 1401 lines)
2308
- - ✅ All templates now in English only (removed Spanish examples)
2309
- - ✅ Preserved 100% of business logic and decision-making patterns
2310
- - ✅ Removed verbose examples, success criteria, redundant explanations
2311
- - 📊 Impact: Faster LLM processing, lower token usage, clearer instructions
2312
-
2313
- - **Legacy installation cleanup** - Automatic detection and removal of curl-based installations
2314
- - ✅ Detects legacy `~/.prjct-cli/` from curl install.sh (pre-v0.8.2)
2315
- - ✅ Migrates project data to npm global location automatically
2316
- - ✅ Removes legacy installation files (bin/, core/, templates/, etc.)
2317
- - ✅ Preserves user data (projects/ directory migrated safely)
2318
- - ✅ Cleans up shell PATH entries (bash/zsh/PowerShell)
2319
- - ✅ Removes legacy symlinks on Unix systems
2320
- - 🎯 **Impact**: Users on old curl installations automatically migrate to npm
2321
- - 🔧 **Windows compatible**: Handles PowerShell profiles, skips Unix-only operations
2322
-
2323
- ### Changed
2324
-
2325
- - **Critical timestamp rule in CLAUDE.md** - Added prominent warning about LLM timestamp limitations
2326
- - LLM knowledge cutoff is January 2025, cannot generate accurate timestamps
2327
- - All templates now include `timestamp-rule` in frontmatter
2328
- - Templates updated: feature.md, ship.md, now.md, build.md, idea.md
2329
- - Hardcoded example dates replaced with GetTimestamp()/GetDate() tool calls
2330
-
2331
- - **Templates optimized** (Phase 1 - Top 7)
2332
- - suggest.md: 555 → 96 lines (82.7% reduction)
2333
- - ask.md: 386 → 73 lines (81.1% reduction)
2334
- - help.md: 348 → 90 lines (74.1% reduction)
2335
- - feature.md: 239 → 93 lines (61.1% reduction)
2336
- - init.md: 210 → 113 lines (46.2% reduction)
2337
- - ship.md: 148 → 79 lines (46.6% reduction)
2338
- - migrate-all.md: 120 → 61 lines (49.2% reduction)
2339
-
2340
- - **context-builder.js** - Enhanced timestamp documentation
2341
- - Clarified that timestamps come from system clock, not LLM
2342
- - Added inline comments explaining ISO format and YYYY-MM-DD format
2343
-
2344
- - **install.sh deprecation** - Enhanced messaging with legacy detection
2345
- - Now detects if user has legacy curl installation
2346
- - Shows version and location of legacy install
2347
- - Provides clear migration instructions
2348
- - Explains automatic cleanup process
2349
-
2350
- - **All Spanish removed from codebase** - 100% English documentation
2351
- - Updated all JSDoc comments to English
2352
- - Removed Spanish examples from templates
2353
- - Fixed: setup.js, postinstall.js, AGENTS.md
2354
-
2355
- ### Fixed
2356
-
2357
- - **Session date accuracy** - All session files now use correct system date
2358
- - Previously: LLM generated timestamps (often January 1st)
2359
- - Now: System clock provides accurate timestamps via GetTimestamp() tool
2360
- - Duration calculations now accurate
2361
- - Progress tracking and analytics now reliable
2362
-
2363
- - **Windows compatibility** - Full cross-platform support
2364
- - Legacy installer detector works on Windows
2365
- - Platform detection via `process.platform === 'win32'`
2366
- - PowerShell profile cleanup (instead of bash/zsh)
2367
- - Skips symlink cleanup on Windows (Unix-only feature)
2368
- - Cross-platform path handling with `os.homedir()` and `path.join()`
2369
- - Command installer already works on Windows (no changes needed)
2370
-
2371
- ## [0.8.6] - 2025-10-05
2372
-
2373
- ### Fixed
2374
-
2375
- - **Critical: Command update system** - Fixed command synchronization to ALWAYS update to latest version
2376
- - ✅ Removed mtime comparison (was causing commands to stay outdated)
2377
- - ✅ ALWAYS overwrites existing commands with latest templates
2378
- - ✅ Guarantees all clients get updated commands on `npm update`
2379
- - ✅ Preserves legacy commands (removed: always 0)
2380
- - 🐛 **Bug fixed**: `now.md`, `done.md` and other commands now update correctly across all client installations
2381
-
2382
- - **Setup architecture redesigned** - Dual-defense strategy for reliable setup
2383
- - ✅ First-use setup check in `bin/prjct` (guaranteed execution)
2384
- - ✅ Optional postinstall optimization (when scripts enabled)
2385
- - ✅ Works in CI/CD environments with `--ignore-scripts`
2386
- - ✅ Version tracking via `editors-config.js`
2387
- - ✅ Zero manual steps required
2388
-
2389
- ### Changed
2390
-
2391
- - **Command sync behavior** (`syncCommands()`)
2392
- - Previous: Compared mtime, only updated if source newer → ❌ Unreliable
2393
- - Now: ALWAYS overwrites existing commands → ✅ Always latest version
2394
- - Preserves legacy/custom commands not in templates
2395
- - Result: `{ added: X, updated: Y, removed: 0 }`
2396
-
2397
- - **Setup flow**
2398
- - Centralized all logic in `core/infrastructure/setup.js`
2399
- - `bin/prjct` checks version on every execution
2400
- - `scripts/postinstall.js` simplified to optional helper
2401
- - Auto-setup triggers on version mismatch or first use
2402
-
2403
- ### Technical
2404
-
2405
- - Reduced `scripts/postinstall.js` from 250 → 69 lines
2406
- - Created `core/infrastructure/setup.js` (167 lines) - single source of truth
2407
- - Modified `bin/prjct` to include version check (34 lines)
2408
- - Removed `.setup-complete` marker (using JSON version tracking instead)
2409
-
2410
- ## [0.8.2] - 2025-10-05
2411
-
2412
- ### Changed
2413
-
2414
- - **BREAKING: npm-only installation** - Simplified installation to npm-only
2415
- - ✅ Single command: `npm install -g prjct-cli`
2416
- - ✅ Automatic setup via postinstall hook
2417
- - ✅ Auto-migration of legacy projects
2418
- - ✅ Beautiful ASCII art on installation
2419
- - ⚠️ `curl -fsSL https://prjct.app/install.sh` now deprecated (shows migration message)
2420
-
2421
- ### Added
2422
-
2423
- - **Automatic Post-Install Setup** (`scripts/postinstall.js`)
2424
- - Runs automatically after `npm install -g prjct-cli`
2425
- - Detects global vs local installation
2426
- - Installs/syncs commands to `~/.claude/commands/p/`
2427
- - Migrates legacy projects automatically
2428
- - Shows beautiful ASCII art with quick start guide
2429
-
2430
- - **Intelligent Command Sync** (`syncCommands()` in `command-installer.js`)
2431
- - Detects new commands and installs them
2432
- - Detects updated commands and refreshes them
2433
- - **Detects orphaned commands and removes them** (e.g., context.md, stuck.md)
2434
- - Reports: "✓ 2 nuevos, 5 actualizados, 2 eliminados"
2435
-
2436
- - **Beautiful ASCII Art** (`showAsciiArt()` in `commands.js`)
2437
- - Displays after `prjct setup` completion
2438
- - Shows prjct logo with colors
2439
- - Includes quick start guide
2440
- - Links to documentation
2441
-
2442
- - **Global Configuration** (`~/.claude/CLAUDE.md`)
2443
- - Automatically installs/updates global configuration for Claude Code
2444
- - Provides context for ALL `/p:*` commands across any prjct project
2445
- - Intelligent merge: preserves user content, updates only prjct section
2446
- - Includes path resolution rules, file structure, commit format, validation patterns
2447
- - Installed during `npm install -g prjct-cli` and `prjct setup`
2448
- - Single source of truth - no need to repeat in 25 command templates
2449
-
2450
- ### Fixed
2451
-
2452
- - **Orphaned Commands Cleanup** - Removed deprecated commands
2453
- - Deleted `context.md` (replaced by context tracking in core)
2454
- - Deleted `stuck.md` (functionality merged into /p:ask)
2455
- - Total commands: 27 → 25 (cleaned up)
2456
-
2457
- - **Context Preservation** - All projects now use global storage
2458
- - Legacy projects in `.prjct/` automatically migrated to `~/.prjct-cli/projects/{id}/`
2459
- - Only `prjct.config.json` (2KB) remains in project directory
2460
- - Prevents context loss on updates
2461
-
2462
- ### Documentation
2463
-
2464
- - Updated README.md with new installation flow
2465
- - Added "Auto-Setup (NEW in v0.8.2)" section
2466
- - Simplified installation instructions
2467
- - Deprecated manual installation methods
2468
-
2469
- ## [0.8.1] - 2025-10-05
2470
-
2471
- ### Fixed
2472
-
2473
- - **Critical Installation Bug** - Fixed incorrect path in `install.sh` line 315
2474
- - Changed `./core/command-installer` → `./core/infrastructure/command-installer`
2475
- - Resolves "Cannot find module" error during installation
2476
-
2477
- - **Missing Method Error** - Added `installToAll()` method to command-installer
2478
- - Implements method called by install.sh line 316
2479
- - Acts as alias for `installCommands()` for backward compatibility
2480
-
2481
- - **Commands Not Auto-Updating** - Implemented automatic command synchronization
2482
- - After `git pull`, commands in `~/.claude/commands/p/` now update automatically
2483
- - Added visual confirmation: "Commands synchronized ✓"
2484
-
2485
- - **Missing Visual Confirmation** - Added ASCII confirmation in setup.sh
2486
- - Displays "✨ Setup Complete! ✨" after successful npm install
2487
- - Clear feedback that installation succeeded
2488
-
2489
- ### Added
2490
-
2491
- - **Update Script** - New `scripts/update.sh` for easy updates
2492
- - Single command to update prjct-cli: `npm run update`
2493
- - Handles: git pull → npm install → command updates
2494
- - Visual progress indicators and confirmation
2495
-
2496
- - **Enhanced Logging** - Improved updateCommands() with visual feedback
2497
- - Shows "🔄 Updating commands with latest templates..."
2498
- - Displays "✅ Updated X commands" on success
2499
-
2500
- ### Changed
2501
-
2502
- - **Installation Flow** - Simplified and more reliable
2503
- - Auto-updates commands after git pull (no manual reinstall needed)
2504
- - Single npm install (eliminated duplication)
2505
- - Clear visual feedback at each step
2506
-
2507
- ## [0.8.0] - 2025-10-05
2508
-
2509
- ### Added
2510
-
2511
- - **3-Tier Guided Workflow System** - Zero memorization interface for confused users
2512
- - **`/p:help`** - Contextual interactive guide that adapts to project state
2513
- - 5 different response contexts (Not initialized, Empty queue, Has active task, Has queue, Lost/confused)
2514
- - Shows relevant options based on current situation
2515
- - Educational approach with examples
2516
- - **`/p:ask`** - Intent to action translator with explanations
2517
- - Natural language understanding for any intent
2518
- - Recommends appropriate command flows with reasoning
2519
- - Works in any language (English, Spanish, etc.)
2520
- - Educational responses explain the "why" behind each recommendation
2521
- - Intent categories: Feature Development, Performance, Bug Fixing, Design, Lost/Confused
2522
- - **`/p:suggest`** - Context-aware smart recommendations
2523
- - Analyzes project state (active tasks, queue, velocity, momentum)
2524
- - Detects patterns: stuck tasks, losing momentum, over-planning, ready to work
2525
- - Provides urgency levels and actionable next steps
2526
- - Scenario-based suggestions with clear actions
2527
- - Updated from 9 to 13 core commands
2528
- - Version bumped to 0.7.0 → 0.8.0
2529
-
2530
- - **Enhanced Feature Templates** - Quick start templates for common workflows
2531
- - 6 interactive template categories: UI/UX, Performance, Features, Quality, Bugs, Docs
2532
- - Each category includes examples and natural language alternatives
2533
- - Integrated into `/p:feature` command for faster feature initialization
2534
-
2535
- - **Enhanced Onboarding** - Conversational first-time experience
2536
- - Updated `/p:init` with "What do you want to do first?" section
2537
- - 5 clear options with examples and natural language alternatives
2538
- - Guides users to appropriate commands based on their needs
2539
-
2540
- ### Changed
2541
-
2542
- - **Website Transformation** - Complete shift from "memorize commands" to "conversational/agentic"
2543
-
2544
- - **Hero Section** (`Hero.tsx`)
2545
- - Changed layout from centered to 60/40 asymmetric grid (better space utilization on LG screens)
2546
- - Updated messaging: "Just talk: 'p. I want to add auth' → Claude handles the rest"
2547
- - Added 3 conversational example cards showing real usage patterns
2548
- - Removed sequential command flow in favor of natural language examples
2549
- - Better visual hierarchy with left column (60%) for main content, right column (40%) for examples
2550
-
2551
- - **Terminal Demo** (`Terminal.tsx`)
2552
- - Replaced 4 rotating examples with single comprehensive flow
2553
- - Shows complete journey: Installation → Setup → Usage → Progress → Shipping
2554
- - Demonstrates real `p.` trigger usage throughout
2555
- - Improved timing: 3500ms between steps (was 1500ms) for better comprehension
2556
- - 12s restart delay (was 10s) for proper reading time
2557
- - Title: "See It In Action - From installation to shipping"
2558
-
2559
- - **How It Works Section** (`HowItWorks.tsx`)
2560
- - New 3-step visual flow: Talk Naturally → Claude Understands → You Ship
2561
- - Removed misleading chat-style UI examples (product is terminal-only)
2562
- - Clean, honest representation of terminal-based workflow
2563
- - Icon-based visual guide with examples
2564
-
2565
- - **Command Guide** (`CommandGuide.tsx`)
2566
- - Added 2 priority scenarios at top:
2567
- - "I'm new/lost/don't know what to do" → `/p:help`, `/p:ask`, `/p:suggest`
2568
- - "I know what I want but not how to do it" → `/p:ask` (preferred)
2569
- - Updated Quick Decision Matrix to prioritize help commands
2570
- - All examples show `p.` trigger as preferred option with `/p:*` alternatives
2571
-
2572
- - **Commands Page** (`Commands.tsx`)
2573
- - Added prominent "Start Here - No Memorization Needed" section
2574
- - Highlights 3 essential commands: `/p:help`, `/p:ask`, `/p:suggest`
2575
- - Moved all specific commands to "Advanced Reference" section
2576
- - Clear message: "You only need these 3 commands. Everything else? Just talk naturally."
2577
-
2578
- - **Command Registry Updates** (`command-registry.js`)
2579
- - Added `ask` and `suggest` to core commands
2580
- - Updated version from 0.7.0 to 0.8.0
2581
- - Increased core command count from 9 to 13
2582
- - Enhanced metadata for new help system commands
2583
-
2584
- - **Documentation Updates** (`CLAUDE.md`)
2585
- - Added complete "Guided Workflow System" section
2586
- - Documented 3-tier help architecture with examples
2587
- - Updated natural language system philosophy
2588
- - Added context validation patterns and examples
2589
-
2590
- ### Philosophy Shift
2591
-
2592
- This release represents a fundamental shift in how users interact with prjct:
2593
-
2594
- **Before (0.7.x)**: "Learn these sequential commands: `/p:feature → /p:done → /p:ship`"
2595
- **After (0.8.0)**: "Just talk: `p. I want to add auth` → Claude handles the rest"
2596
-
2597
- The 3-tier help system solves the core user frustration: **users know WHAT they want but don't know HOW to execute it**. Now they don't need to - they just describe their intent and the system guides them.
2598
-
2599
- ### Technical Details
2600
-
2601
- - **New Templates**:
2602
- - `templates/commands/ask.md` - Intent translation with educational responses
2603
- - `templates/commands/suggest.md` - Context-aware recommendations
2604
- - Updated `templates/commands/help.md` - Contextual interactive guide
2605
- - Updated `templates/commands/init.md` - Conversational onboarding
2606
- - Updated `templates/commands/feature.md` - Interactive mode with templates
2607
-
2608
- - **Website Optimization**:
2609
- - Hero grid: `lg:grid-cols-5` with `lg:col-span-3` (60%) + `lg:col-span-2` (40%)
2610
- - Terminal timing: 3500ms step delay, 12s restart delay
2611
- - Removed chat UI mockups to avoid false expectations
2612
- - Consistent `p.` trigger examples throughout
2613
-
2614
- - **User Experience**:
2615
- - Zero memorization required for basic usage
2616
- - Natural language works in any language (English, Spanish, etc.)
2617
- - Context-aware help adapts to project state
2618
- - Educational responses explain the "why" behind recommendations
2619
-
2620
- ## [0.7.3] - 2025-10-05
2621
-
2622
- ### Added
2623
-
2624
- - **Comprehensive Testing Documentation** - Complete testing guide and setup documentation
2625
- - **TESTING.md** - Full testing guide with:
2626
- - Quick start commands for running tests
2627
- - Bun-based testing setup (core)
2628
- - Detailed configuration for both Node.js and React environments
2629
- - Testing best practices and examples
2630
- - CI/CD integration documentation
2631
- - Troubleshooting guide
2632
- - Complete command reference
2633
- - **README.md Testing Section** - Quick reference with:
2634
- - Quick start commands
2635
- - Test suites overview (Core CLI + Website)
2636
- - CI/CD automation status
2637
- - Link to comprehensive TESTING.md guide
2638
- - **Documentation Quality**: Professional-grade testing documentation for contributors and developers
2639
- - **Coverage**: Documents all 283 tests across both core and website projects
2640
-
2641
- ### Fixed
2642
-
2643
- - **Lint Errors** - Removed 3 unused variables to pass ESLint
2644
- - Removed unused `globalProjectPath` in commands.js
2645
- - Removed unused `architectSession` require in commands.js
2646
- - Removed unused `fs` import in session-manager.js
2647
-
2648
- ### Technical Details
2649
-
2650
- - **Testing Stack**: Bun test for unit tests
2651
- - **Core Tests** (Node.js): 179 tests for agentic system, commands, and utilities
2652
- - **Website Tests** (React): 104 tests with Testing Library for components
2653
- - **CI/CD**: GitHub Actions workflow with parallel test execution
2654
- - **Coverage**: V8 coverage provider with HTML reports
2655
-
2656
- ## [0.7.2] - 2025-10-04
2657
-
2658
- ### Fixed
2659
-
2660
- - **Vercel Deployment Configuration** - Fixed deployment build and configuration
2661
- - Updated vercel build commands to use npm prefix syntax
2662
- - Moved and simplified vercel.json config
2663
- - Added Vercel deployment config and removed CNAME file
2664
- - Fixed build output directory configuration
2665
-
2666
- ### Changed
2667
-
2668
- - **Version Bump** - Updated from 0.7.1 to 0.7.2
2669
-
2670
- ## [0.7.1] - 2025-10-04
2671
-
2672
- ### Added
2673
-
2674
- - **Command Implementation Status** - Added setup and migrate-all commands
2675
- - Marked roadmap, status, and build commands as implemented in registry
2676
- - Added isSupported flag to agent detection for Claude and Terminal agents
2677
- - Better clarity on which commands are available in each environment
2678
-
2679
- ## [0.7.0] - 2025-10-04
2680
-
2681
- ### Added
2682
-
2683
- - **Vercel Analytics Integration** - Added Vercel Analytics and Speed Insights tracking
2684
- - Real-time performance monitoring for website
2685
- - User analytics and insights
2686
- - Speed metrics tracking
2687
-
2688
- - **AI Policy Page** - New dedicated page for AI usage policies
2689
- - Redesigned footer layout with AI Policy link
2690
- - Clear transparency about AI integration
2691
- - Updated navigation structure
2692
-
2693
- ### Changed
2694
-
2695
- - **Repository Privacy** - Transitioned from open source to proprietary
2696
- - Removed all GitHub repository links from website
2697
- - Removed open source references
2698
- - Updated Terms of Use with proprietary license
2699
- - Repository made private due to AI agent privacy concerns and terms of use compliance
2700
- - FREE tier remains available to all users indefinitely
2701
- - Contact: jlopezlira@gmail.com or jlopezlira.dev
2702
-
2703
- - **Deployment Migration** - Migrated from GitHub Pages to Vercel
2704
- - Better build performance and CDN
2705
- - Automatic deployments
2706
- - Improved website hosting
2707
-
2708
- - **Workflow Simplification** - Reduced to 5 essential commands
2709
- - Streamlined developer experience
2710
- - Clearer command structure
2711
- - Focus on core functionality
2712
-
2713
- - **Documentation Updates**
2714
- - Added session-based architecture documentation with auto-archiving
2715
- - JSONL logs for better performance
2716
- - Moved Changelog link from header to footer
2717
-
2718
- ### Fixed
2719
-
2720
- - **TypeScript Build Errors** - Resolved all TypeScript errors in website build
2721
- - Removed unused Globe import from Privacy.tsx
2722
- - Fixed type errors across components
2723
-
2724
- ### Technical Details
2725
-
2726
- - **Session Architecture**: JSONL-based logging with auto-archiving after 30 days
2727
- - **Deployment**: Vercel platform with automatic builds
2728
- - **Analytics**: Vercel Analytics + Speed Insights integration
2729
- - **Privacy**: Repository now private, free tier remains available
2730
-
2731
- ## [0.6.0] - 2025-10-03
2732
-
2733
- ### Changed
2734
-
2735
- - **Philosophy Transformation** - Complete rebrand from PM tool to developer momentum tool
2736
- - **Problem**: "Project management" messaging didn't match target audience (indie hackers, solo builders, small teams)
2737
- - **Solution**: Eliminated ALL "project management" language across entire codebase
2738
- - **Messaging**: "Just Ship. No BS" for creators, not managers
2739
- - **Files Modified**:
2740
- - `CLAUDE.md` - Changed project description from "AI-integrated project management framework" to "developer momentum tool for solo builders, indie hackers, and small teams (2-5 people). Just ship. No BS."
2741
- - `README.md` - Removed "project management overhead" → "meetings or BS overhead"
2742
- - `templates/agents/AGENTS.md` - Complete rewrite (165→143 lines) with anti-PM messaging: "NOT project management. NO sprints, story points, ceremonies, or meetings."
2743
- - `CHANGELOG.md` - Updated historical references
2744
- - **Website** - Transformed all copy to creator-focused messaging:
2745
- - `Hero.tsx`, `Features.tsx` - "PM, Frontend..." → "Coordinator, Frontend..."
2746
- - `ClaudeSuperpowers.tsx` - "PM Agent - Task breakdown & planning" → "Coordinator - Progress tracking & shipping"
2747
- - `Privacy.tsx` - "project management tool" → "developer momentum tool"
2748
- - **Result**: Zero "PM" or "project management" references (except as critique of traditional tools)
2749
-
2750
- - **Agent System Redesign** - Renamed PM agent to Coordinator
2751
- - **Problem**: "Project Manager" agent didn't align with "no BS" philosophy
2752
- - **Solution**: Complete agent transformation
2753
- - **Changes**:
2754
- - Renamed `pm.template.md` → `coordinator.template.md` (85→35 lines, 58% reduction)
2755
- - Role: "Project Manager" → "Progress Coordinator"
2756
- - Focus: Task breakdown/planning → Progress tracking & shipping features
2757
- - Updated `core/agent-generator.js` baseAgents: `'pm'` → `'coordinator'`
2758
- - Agent color: Blue → Cyan
2759
- - **Breaking Change**: Existing projects need `/p:sync` to regenerate agents
2760
- - **Philosophy**: "Keep builders aligned on what matters: shipping features, tracking wins, staying focused" + "SHIP features and track progress, not manage people or run meetings"
2761
-
2762
- - **Template Optimization** - 46.5% reduction in agent template verbosity
2763
- - **Problem**: Templates filled context window with verbose pre-written content
2764
- - **Solution**: Use instructions + placeholders instead of examples
2765
- - **Results**:
2766
- - Total reduction: 540 → 289 lines (46.5% overall)
2767
- - `fe.template.md`: 43→28 lines (35%)
2768
- - `be.template.md`: 43→28 lines (35%)
2769
- - `ux.template.md`: 50→28 lines (44%)
2770
- - `qa.template.md`: 55→28 lines (49%)
2771
- - `scribe.template.md`: 96→30 lines (69% - biggest reduction!)
2772
- - `coordinator.template.md`: 85→35 lines (58%)
2773
- - `devops.template.md`, `mobile.template.md`, `data.template.md`, `security.template.md`: All reduced to 28 lines
2774
- - **Strategy**: Compressed expertise lists (5→3 items), simplified principles, used placeholders like `[PROJECT_NAME]`, `[DETECTED_STACK]`
2775
- - **Benefit**: Agents load faster, consume fewer tokens, maintain clarity
2776
-
2777
- ## [0.5.3] - 2025-10-02
2778
-
2779
- ### Fixed
2780
-
2781
- - **Website Build Issues** - Fixed ES module compatibility for browser
2782
- - **Problem**: Command registry using CommonJS `require()` caused runtime errors in browser
2783
- - **Solution**:
2784
- - Created ES module version at `website/src/data/command-registry.ts`
2785
- - Converted `module.exports` to `export default`
2786
- - Replaced `require()` with ES6 `import` in Components.tsx
2787
- - Added proper TypeScript type annotations
2788
- - **Files Modified**:
2789
- - `website/src/data/command-registry.ts` (NEW) - ES module version with TypeScript types
2790
- - `website/src/pages/Commands.tsx` - ES6 import, removed TypeScript `any` types
2791
- - **Result**: Website now loads correctly with dynamic command generation from registry
2792
-
2793
- - **Documentation Accuracy** - Updated Getting Started guide with correct installation flow
2794
- - **Problem**: Documentation showed incorrect setup steps (missing npm install and prjct start)
2795
- - **Solution**: Updated to reflect actual installation process:
2796
- 1. `npm install -g prjct-cli` - Global installation
2797
- 2. `prjct start` - Setup Claude Code integration
2798
- 3. `/p:init` - Initialize project
2799
- 4. `/p:now` - Start working
2800
- - **Files Modified**:
2801
- - `website/src/pages/Documentation.tsx` - Corrected Getting Started section
2802
-
2803
- ## [0.5.2] - 2025-10-02
2804
-
2805
- ### Added
2806
-
2807
- - **Command Registry System** - Single source of truth for all prjct commands (`core/command-registry.js`)
2808
- - **Problem**: Commands were dispersed across 4 locations with inconsistencies:
2809
- - `bin/prjct` (15 commands in help)
2810
- - `website/Commands.tsx` (18 commands displayed)
2811
- - `CLAUDE.md` (18 commands documented)
2812
- - `templates/commands/` (21 template files)
2813
- - **Solution**: Created `core/command-registry.js` as centralized registry
2814
- - **Features**:
2815
- - All 25 commands defined in single location with metadata
2816
- - Category system (work, planning, design, quality, progress, help, git, testing, setup)
2817
- - Implementation status tracking (19 implemented, 6 planned)
2818
- - Platform availability (Claude Code vs Terminal)
2819
- - Template file mapping
2820
- - Helper functions for filtering, querying, and statistics
2821
- - **Files Modified**:
2822
- - `core/command-registry.js` (NEW) - 430 lines, complete command metadata
2823
- - `bin/prjct` - Dynamic help generation from registry
2824
- - `website/Commands.tsx` - Auto-generated command categories
2825
- - `CLAUDE.md` - Command list synced with registry
2826
- - `scripts/validate-commands.js` (NEW) - Automated validation tool
2827
- - **Validation**:
2828
- - Registry structure validation (duplicates, invalid categories)
2829
- - Template file consistency check
2830
- - Implementation verification (camelCase method detection)
2831
- - CLI switch case validation
2832
- - Automated validation script with colored output
2833
- - **Benefits**:
2834
- - ✅ Zero inconsistencies - single source of truth
2835
- - ✅ Easy to add new commands - update one file
2836
- - ✅ Automated validation prevents drift
2837
- - ✅ Statistics tracking (25 total, 19 implemented)
2838
- - ✅ Clear roadmap (6 planned features visible)
2839
- - **Usage**: `node scripts/validate-commands.js` to verify consistency
2840
-
2841
- - **Complete Workflow System Integration** - Automated task orchestration with AI workflow agents
2842
- - **Features**:
2843
- - **Auto-initialization**: Workflows activate automatically when using `/p:idea "implement [feature]"`
2844
- - **Task Classification**: Automatic detection of workflow type (ui, api, bug, refactor, feature)
2845
- - **Capability Detection**: Detects design system, test framework, docs system
2846
- - **Interactive Prompts**: Asks user to choose tools when capabilities are missing
2847
- - **Step Progression**: Each `/p:done` advances to next workflow step
2848
- - **Agent Assignment**: Each step assigned to appropriate specialist agent
2849
- - **Workflow Status**: New `/p:workflow` command shows progress and remaining steps
2850
- - **Files Modified**:
2851
- - `core/commands.js` - Integrated workflow engine into `idea()`, added `workflow()` command
2852
- - `core/agent-generator.js` - Corrected to use project-specific agents directory
2853
- - **Architecture**:
2854
- - Workflows stored in `~/.prjct-cli/projects/{id}/workflow/state.json`
2855
- - Agents stored in `~/.prjct-cli/projects/{id}/agents/`
2856
- - 5 workflow types with specialized step sequences
2857
- - 10 agent types: pm, ux, fe, be, qa, scribe, security, devops, mobile, data
2858
- - **Usage**:
2859
- 1. `p. implement auth system` → Auto-creates workflow
2860
- 2. `p. now` → Start first step
2861
- 3. `p. done` → Complete step, advance to next
2862
- 4. `p. workflow` → Check progress
2863
- - **Result**: Fully automated task orchestration with smart step-by-step guidance
2864
-
2865
- - **`/p:sync` Command Implementation** - Sync project state and update workflow agents
2866
- - **Root Cause**: Template existed but method was not implemented in `core/commands.js`
2867
- - **Files Modified**:
2868
- - `core/commands.js` (added `sync()` method with proper global path)
2869
- - `core/agent-generator.js` (corrected to use project-specific agents directory)
2870
- - **Architecture Fix**:
2871
- - Agents are **NOT** for Claude's `~/.claude/agents/` (that was wrong)
2872
- - Agents are **workflow specialists** stored in `~/.prjct-cli/projects/{id}/agents/`
2873
- - Used for task assignment in workflow system
2874
- - Each agent (pm, ux, fe, be, qa, scribe, security, devops, mobile, data) handles specific workflow steps
2875
- - **Features**:
2876
- - Re-analyzes project with `/p:analyze` (silent mode)
2877
- - Generates/updates workflow agents in global project directory
2878
- - Creates base agents: pm, ux, fe, be, qa, scribe
2879
- - Creates conditional agents: security, devops, mobile, data (based on stack)
2880
- - Logs sync action to `memory/context.jsonl`
2881
- - Shows summary and agents path
2882
- - **Usage**: `p. sync` or `/p:sync`
2883
- - **When to Use**: After dependency changes, framework updates, before using workflows
2884
- - **Result**: Workflow agents ready for task assignment in `~/.prjct-cli/projects/{id}/agents/`
2885
-
2886
- ## [0.5.1] - 2025-10-02
2887
-
2888
- ### Fixed
2889
-
2890
- - **Critical: `prjct start` Command Error** - Fixed "commandInstaller.detectEditors is not a function" error
2891
- - **Root Cause**: v0.5.0 refactored `command-installer.js` to Claude-only architecture but didn't update calling code
2892
- - **Files Modified**: `core/commands.js` (lines 2227-2374)
2893
- - **Changes**:
2894
- - Refactored `start()` function to use `detectClaude()` instead of `detectEditors()`
2895
- - Replaced `interactiveInstall()` with `installCommands()`
2896
- - Removed multi-editor logic (Cursor, Windsurf references)
2897
- - Updated messaging to be Claude-only with download link
2898
- - Simplified `setup()` function with installation status checking
2899
- - Added `--force` flag support for reinstallation
2900
- - **Result**: Both `prjct start` and `prjct setup` now work correctly
2901
- - **Commands Installed**: Successfully installs all 21 /p:\* commands to `~/.claude/commands/p/`
2902
-
2903
- ### Fixed
2904
-
2905
- - **Corrected Claude Subscription Messaging** - Clarified honest pricing throughout
2906
- - Updated `website/src/pages/Changelog.tsx`:
2907
- - Changed "Claude Code is 100% free" → "Works with whatever Claude subscription you have (free tier or Pro)"
2908
- - Added clarity: "No extra costs or tokens required - just install and use with your existing Claude access"
2909
- - Updated `website/src/components/FAQ.tsx`:
2910
- - Replaced misleading "100% free" claims with accurate subscription info
2911
- - Emphasized "no extra setup", "no token management", "no API keys to configure"
2912
- - Updated `README.md`:
2913
- - Changed "100% free" → "works with free tier or Pro"
2914
- - Added clarity about zero additional costs beyond existing Claude subscription
2915
- - Explained Claude has free tier but isn't completely free
2916
- - **Editor Installation**: Removed multi-editor references (Cursor, Windsurf, Codex) - now shows Claude-only installation
2917
- - **Natural Language Section**: Renamed to "p. Trigger - Zero Memorization" and updated all examples to show p. prefix
2918
- - **Alignment**: All examples now consistently show "p. I want..." format
2919
- - **Data Storage**: Fixed inconsistent paths - changed `.prjct/` → `~/.prjct-cli/projects/{id}/` for accuracy
2920
- - **Team Workflow**: Updated to reflect global architecture with local data and shared config
2921
- - **FAQ Sections**: Both quick and detailed FAQs now aligned with global architecture
2922
- - **Why This Matters**: Being honest about costs builds trust - prjct-cli doesn't require extra payments, but Claude itself has subscription tiers
2923
-
2924
- - **Fixed TypeScript Errors** - Removed unused imports across website components
2925
- - Fixed `website/src/pages/Changelog.tsx`: Added missing `MessageSquare` import
2926
- - Fixed `website/src/components/Features.tsx`: Removed unused `Cpu` import
2927
- - Fixed `website/src/pages/Commands.tsx`: Removed unused `Cpu`, `Wind` imports
2928
- - Fixed `website/src/components/WindsurfExtension.tsx`: Removed unused `Zap`, `ChevronRight` imports
2929
- - Fixed `website/src/components/WindsurfPreview.tsx`: Removed unused `ArrowRight`, `GitBranch`, `PlayCircle`, `Layers`, `ChevronRight` imports
2930
- - Website now compiles without TypeScript errors
2931
-
2932
- ### Changed
2933
-
2934
- - **Website Alignment with p. Trigger** - ALL website components now show p. trigger correctly
2935
- - Updated `website/src/components/Features.tsx`:
2936
- - Changed "p. Trigger" description to show multiple examples
2937
- - '"p. I\'m done" → /p:done | "p. start building auth" → /p:now | "p. ship this" → /p:ship'
2938
- - Updated `website/src/components/ClaudeSuperpowers.tsx`:
2939
- - Changed "Natural Language" → "p. Trigger - Zero Memorization"
2940
- - All examples now show p. prefix: "p. I'm done", "p. start building auth", "p. ship this feature"
2941
- - Updated `website/src/pages/Commands.tsx`:
2942
- - Natural language examples now include p. trigger
2943
- - "p. I want to start building the login page", "p. I'm done", "p. ship this feature"
2944
- - Updated `website/src/pages/docs/QuickStart.tsx`:
2945
- - Changed examples to use p. trigger
2946
- - "p. I'm done" when finished, "p. ship this feature" to celebrate
2947
-
2948
- - **Copy Simplification for Creators** - Made all text stupidly simple to understand
2949
- - Updated `README.md` to speak to creators and small teams, not just developers:
2950
- - Changed "indie hackers" → "solo creators and founders"
2951
- - Changed "developer momentum" → "track progress, not meetings"
2952
- - Simplified technical jargon:
2953
- - "Git validation" → "Checks your actual code changes"
2954
- - "MCP Integration" → "AI tools that help you code"
2955
- - "Dynamic AI Agents" → "Smart AI helpers"
2956
- - Made benefits easier to understand for non-technical creators
2957
- - Updated `website/src/components/InteractiveTerminal.tsx` examples:
2958
- - "implement user authentication" → "build login feature"
2959
- - "JWT token not validating" → "login not working"
2960
- - "API rate limiting" → "prevent spam requests"
2961
- - "Design notification architecture" → "Design how notifications will work"
2962
- - "Setup WebSocket server" → "Setup real-time messaging"
2963
- - Added explanatory comments to `website/src/lib/utils.ts`:
2964
- - Simple explanation of what `cn()` function does
2965
- - Real-world examples for creators
2966
-
2967
- ### Added
2968
-
2969
- - **p. Trigger System** - Zero memorization interface for prjct context
2970
- - Simple prefix `p.` signals prjct context (e.g., "p. analiza esto")
2971
- - Works in any language: English, Spanish, German, etc.
2972
- - Auto-validates `.prjct/prjct.config.json` before execution
2973
- - Context-aware: Only works in prjct directories
2974
- - Provides friendly error when not in prjct project
2975
- - Implemented via CLAUDE.md instructions (no SDK needed)
2976
- - Zero API keys, zero additional costs
2977
-
2978
- - **Natural Language Context Validation** - Conversational responses when context is missing
2979
- - Automatic context validation before command execution
2980
- - Friendly guidance instead of technical errors
2981
- - Multi-language intent detection (English, Spanish, etc.)
2982
- - Works natively in Claude Code and Claude Desktop
2983
-
2984
- ### Changed
2985
-
2986
- - **Natural Language System** - Enhanced with p. trigger and context validation
2987
- - Updated `CLAUDE.md` with complete p. trigger detection logic
2988
- - Added context validation examples and patterns
2989
- - Implemented semantic intent understanding (Claude's native LLM capability)
2990
- - Updated `templates/commands/done.md` with context validation docs
2991
- - Updated `templates/examples/natural-language-examples.md`:
2992
- - Added Example 11: p. Trigger (zero memorization)
2993
- - Added Example 12: p. Trigger multi-language
2994
- - Added Example 13: p. Trigger without project
2995
- - Added Example 14: All three ways work (p. | /p: | natural)
2996
- - Added examples for missing context scenarios (Example 2b, 3b)
2997
- - Updated implementation notes (no SDK approach)
2998
- - Created `docs/p-trigger.md` - Complete p. trigger documentation
2999
-
3000
- - **Website Alignment** - Updated all components to show p. trigger as primary interface
3001
- - `website/src/components/Hero.tsx`:
3002
- - Updated p. Trigger feature description
3003
- - Changed badge to "Built for Claude Code"
3004
- - Restored Windsurf Extension CTA with scroll-to-section functionality
3005
- - Added Sparkles and ArrowRight animated icons
3006
- - `website/src/components/Features.tsx`:
3007
- - Updated p. Trigger feature to show natural language first
3008
- - `website/src/components/CommandGuide.tsx`:
3009
- - Added p. trigger examples to all 6 scenarios (preferred option)
3010
- - Updated Quick Decision Matrix to show p. trigger format
3011
- - All examples now follow: `"p. [natural language]"` → `/p:command` pattern
3012
- - Demonstrates zero memorization approach throughout
3013
-
3014
- - **Windsurf Extension Preview Section** - Added complete Windsurf extension roadmap to homepage
3015
- - `website/src/components/WindsurfExtension.tsx`:
3016
- - Full section with hero, features grid, timeline, and early access form
3017
- - Development timeline (Oct 2025 - Feb 2026)
3018
- - 4 key features: Real-time Metrics, Focus Mode, Velocity Tracking, Smart Notifications
3019
- - Progress bar showing 10% completion (validation phase)
3020
- - Scroll target for Hero CTA (`.windsurf-extension-section`)
3021
- - `website/src/components/WindsurfPreview.tsx`:
3022
- - Interactive mockup of Windsurf extension UI
3023
- - Kanban-style roadmap with drag & drop
3024
- - AI Task Generator and PRJCT Control Center
3025
- - Project Rules management interface
3026
- - `website/src/components/EarlyAccessForm.tsx`:
3027
- - GitHub issue-based waitlist signup
3028
- - Animated with framer-motion
3029
- - Purple/blue gradient theme
3030
- - `website/src/pages/Home.tsx`:
3031
- - Added WindsurfExtension between Features and ClaudeSuperpowers
3032
- - Maintains page flow and user journey
3033
-
3034
- ### Fixed
3035
-
3036
- - **🐛 Natural Language Context Bug** - Fixed error messages when context is missing
3037
- - Before: "⏺ No hay tarea activa en este momento..." (technical error)
3038
- - After: "✨ You're not working on anything right now! Want to start something?" (conversational)
3039
- - Affects ALL commands: /p:done, /p:ship, /p:stuck, /p:idea, /p:now
3040
- - Claude automatically validates and provides friendly guidance
3041
-
3042
- ### Technical Implementation
3043
-
3044
- - **Zero External Dependencies** - All functionality via CLAUDE.md
3045
- - No SDK required (initially considered but removed)
3046
- - Uses Claude Code's native session (zero API keys)
3047
- - Simple file reads for context validation
3048
- - Works identically in Claude Code and Claude Desktop
3049
- - No additional costs for users
3050
-
3051
- ### Coming Soon
3052
-
3053
- - **Windows Compatibility** - Native Windows support
3054
- - PowerShell and CMD command execution
3055
- - Windows path handling (`%USERPROFILE%\.prjct-cli\`)
3056
- - Windows-specific installation scripts
3057
- - Cross-platform file operations
3058
- - Windows Terminal integration
3059
-
3060
- ## [0.5.0] - 2025-10-02
3061
-
3062
- ### 🚨 BREAKING CHANGES
3063
-
3064
- - **100% Claude-Focused Architecture** - Removed support for all non-Claude environments
3065
- - ❌ **Removed**: OpenAI Codex support
3066
- - ❌ **Removed**: Cursor AI support
3067
- - ❌ **Removed**: Windsurf/Codeium support
3068
- - ✅ **Supported**: Claude Code (primary)
3069
- - ✅ **Supported**: Claude Desktop (secondary)
3070
-
3071
- - **Simplified Installation** - Now installs only to `~/.claude/`
3072
- - Single editor detection (Claude only)
3073
- - Removed multi-editor selection workflow
3074
- - Removed editor-specific adapters and formatters
3075
-
3076
- - **Deleted Files**:
3077
- - `core/agents/codex-agent.js` - OpenAI Codex adapter
3078
- - `core/agents/terminal-agent.js` - Terminal fallback
3079
- - `AGENTS.md` - Legacy Codex configuration
3080
- - `templates/workflows/` - Windsurf workflow templates
3081
-
3082
- - **Rewritten Modules** (breaking API changes):
3083
- - `command-installer.js` - Now Claude-only (208 lines, was 800+)
3084
- - `editors-config.js` - Simplified to single editor (160 lines, was 205)
3085
- - `agent-detector.js` - Claude detection only (183 lines, was 250)
3086
-
3087
- ### 🚀 Why This Change? (Built for Claude - Ship Fast, No BS)
3088
-
3089
- **prjct-cli is now a developer momentum tool, NOT a project management tool.**
3090
-
3091
- **The Philosophy:**
3092
-
3093
- - Ship fast, stay focused, no BS
3094
- - For indie hackers and small teams (2-5 devs)
3095
- - No Jira, no ceremonies, no bureaucracy
3096
- - Just `/p:now` → work → `/p:done` → `/p:ship` → celebrate
3097
-
3098
- **By focusing 100% on Claude, we unlocked superpowers:**
3099
-
3100
- 1. **🤖 Dynamic AI Agents**
3101
- - Auto-generated specialists (PM, Frontend, Backend, UX, QA, Scribe, Security, DevOps, Mobile, Data)
3102
- - Context-aware activation based on your project stack
3103
- - Impossible to build with multi-platform support
3104
-
3105
- 2. **🔗 Native MCP Integration**
3106
- - Context7 - Automatic library documentation
3107
- - Sequential - Deep reasoning for complex problems
3108
- - Magic - UI component generation from patterns
3109
- - Playwright - Browser automation and E2E testing
3110
- - MCP is Claude-native, can't replicate elsewhere
3111
-
3112
- 3. **✅ Git Validation**
3113
- - Last commit as source of truth
3114
- - Validates completed work against actual changes
3115
- - Prevents empty task completions
3116
- - Requires tight Claude integration
3117
-
3118
- 4. **💬 Natural Language**
3119
- - Talk naturally in any language, no command memorization
3120
- - "I'm done" → `/p:done`, "ship this" → `/p:ship`
3121
- - Leverages Claude's language understanding
3122
-
3123
- 5. **⚡ Technical Benefits**
3124
- - **50-60% less code** (800+ lines → 228 lines in command-installer alone)
3125
- - Faster features and bug fixes
3126
- - Proper testing of everything we support
3127
- - Honest compatibility (only claim what works)
3128
-
3129
- **Migration Path:**
3130
-
3131
- - **Using Claude?** → `npm update -g prjct-cli` (you're all set!)
3132
- - **Using Cursor/Windsurf/Codex?** → Switch to Claude Code (free) or stay on v0.4.10
3133
- - **See [MIGRATION.md](MIGRATION.md) for complete upgrade guide**
3134
-
3135
- **This isn't a limitation - it's a strategic decision that makes prjct-cli better for developers who ship fast.**
3136
-
3137
- ### Added
3138
-
3139
- - **Dynamic AI Agent System** - Automatic generation of specialized AI agents based on project stack
3140
- - **GitIntegration Module** (`core/git-integration.js`)
3141
- - Repository validation and state tracking
3142
- - Last commit as source of truth for validation
3143
- - Working directory status monitoring
3144
- - User claim validation against commit history
3145
- - Comprehensive git statistics and reporting
3146
-
3147
- - **AgentGenerator Module** (`core/agent-generator.js`)
3148
- - Dynamic agent creation based on project analysis
3149
- - Project-specific context injection into agent templates
3150
- - Intelligent conditional agent detection
3151
- - Agent update and synchronization capabilities
3152
- - Support for both base and conditional agents
3153
-
3154
- - **Base AI Agents** (Always Generated)
3155
- - PM (Project Manager) - Task coordination and breakdown
3156
- - FE (Frontend Engineer) - UI/UX, React, components, state management
3157
- - BE (Backend Engineer) - APIs, database, SOLID principles
3158
- - UX (UX Designer) - User experience, accessibility, design systems
3159
- - QA (QA Engineer) - Testing strategy and automation
3160
- - Scribe (Documentation) - Technical writing and changelog management
3161
-
3162
- - **Conditional AI Agents** (Generated Based on Project Stack)
3163
- - DevOps - Docker, CI/CD, infrastructure (when Docker/CI/CD detected)
3164
- - Security - OWASP, threat modeling (when web app or auth detected)
3165
- - Mobile - React Native, Flutter (when mobile frameworks detected)
3166
- - Data - ML, data pipelines (when ML libraries detected)
3167
-
3168
- - **Scribe Agent Workflows**
3169
- - Automatic documentation on `/p:done` completion
3170
- - Feature documentation on `/p:ship` deployment
3171
- - Git-based change detection for documentation scope
3172
- - User confirmation workflow before saving documentation
3173
- - Task docs saved to `analysis/task-docs/`
3174
- - Feature docs saved to `analysis/feature-docs/`
3175
-
3176
- - **Enhanced `/p:analyze` Command**
3177
- - Git repository integration and validation
3178
- - Last commit information and statistics
3179
- - Working directory status tracking
3180
- - Validation baseline for user claims
3181
- - Conditional agent detection based on stack
3182
- - Comprehensive project analysis report with git stats
3183
- - Agent recommendation system
3184
-
3185
- - **Enhanced `/p:init` Command**
3186
- - Automatic agent generation after project analysis
3187
- - Git-integrated analysis workflow
3188
- - Project-specific agent context injection
3189
- - Smart agent selection based on detected stack
3190
- - Agents stored in `~/.claude/agents/` directory
3191
-
3192
- - **New `/p:sync` Command**
3193
- - Re-analyze project for stack changes
3194
- - Update existing agents with new project context
3195
- - Add newly required agents based on stack evolution
3196
- - Remove obsolete agents with user confirmation
3197
- - Comprehensive sync reporting and logging
3198
-
3199
- ### Changed
3200
-
3201
- - **Agent Architecture** - 100% Claude-focused (Claude Code + Claude Desktop)
3202
- - Agents stored in `~/.claude/agents/` directory
3203
- - Markdown format with YAML frontmatter (Claude native)
3204
- - Project-specific naming: `p_agent_[type].md`
3205
- - Dynamic context injection from project analysis
3206
- - Limited expertise per agent (focused specialization)
3207
-
3208
- ### Technical Details
3209
-
3210
- - **10 Agent Templates** in `templates/agents/`
3211
- - 6 base templates (always generated)
3212
- - 4 conditional templates (stack-dependent)
3213
- - Each template includes project context placeholders
3214
- - Specialized tools and color coding per agent type
3215
- - Defined expertise boundaries and trigger keywords
3216
-
3217
- - **Git Integration Features**
3218
- - Commit validation and claim verification
3219
- - Working directory change tracking
3220
- - Unverified work identification
3221
- - Comprehensive git statistics
3222
- - Multi-contributor support
3223
-
3224
- ## [0.4.10] - 2025-10-02
3225
-
3226
- ### Changed
3227
-
3228
- - **Agent Workflow Initialization** - `prjct init` now properly initializes AI agent workflows
3229
- - When existing codebase detected, prompts user to run `/p:analyze`
3230
- - Enables AI agents to follow complete analysis workflow
3231
- - Provides proper workflow context for comprehensive project analysis
3232
- - Replaced silent programmatic analysis with workflow-driven approach
3233
-
3234
- ### Fixed
3235
-
3236
- - **Analysis Workflow** - AI agents now receive proper instructions during project initialization
3237
- - Removed silent `analyze()` call that bypassed agent workflows
3238
- - Agent workflows now activate when user runs `/p:analyze` command
3239
- - Ensures agents follow complete analysis instructions from workflow templates
3240
-
3241
- ## [0.4.9] - 2025-10-02
3242
-
3243
- ### Added
3244
-
3245
- - **Editor Uninstallation** - `prjct start` now allows removing editors
3246
- - Interactive checkbox selection shows currently installed editors
3247
- - Uncheck an editor to remove all prjct commands from it
3248
- - Automatically cleans up `~/.prjct-cli/config/installed-editors.json`
3249
- - User has full control over which editors have prjct commands
3250
-
3251
- ### Changed
3252
-
3253
- - **`prjct start` Never Blocks** - Removed "already set up" error
3254
- - Can run `prjct start` anytime to reconfigure editors
3255
- - Shows beautiful ASCII art every time
3256
- - User decides which editors to keep/remove
3257
-
3258
- ### Fixed
3259
-
3260
- - **Interactive Prompts** - Better UX for editor selection
3261
- - Pre-selects currently installed editors
3262
- - Clear message: "Select AI editors (uncheck to remove)"
3263
- - Allows selecting 0 editors (removes all)
3264
-
3265
- ## [0.4.8] - 2025-10-02
3266
-
3267
- ### Added
3268
-
3269
- - **Intelligent Project Initialization** - `prjct init` now works seamlessly in all scenarios
3270
- - Preserves existing project IDs when re-initializing
3271
- - Automatically merges local data with global structure
3272
- - Smart fusion of markdown files (now.md, next.md, shipped.md, ideas.md)
3273
- - Chronological merging of memory/context.jsonl entries
3274
- - Cleans up local `.prjct/` directory, keeping only `prjct.config.json`
3275
- - Multiple developers can initialize the same project without conflicts
3276
-
3277
- ### Fixed
3278
-
3279
- - **Auto-Migration Removed** - Disabled intrusive automatic migration
3280
- - Migration no longer runs automatically during `prjct init` or any command
3281
- - Users can run `prjct migrate-all` manually if needed
3282
- - Removes blocking behavior that prevented normal usage
3283
- - Cleaner, non-intrusive installation and update experience
3284
-
3285
- ### Changed
3286
-
3287
- - **`prjct init` Never Blocks** - Removed "already initialized" error
3288
- - Always allows re-initialization with intelligent data fusion
3289
- - Global architecture enables multi-developer workflows
3290
-
3291
- ## [0.4.7] - 2025-10-02
3292
-
3293
- ### Fixed
3294
-
3295
- - **`prjct start` ASCII Art** - Restored beautiful Catppuccin-inspired colors
3296
- - Original design from install.sh with (ノ◕ヮ◕)ノ\*:・゚✧
3297
- - Vibrant magenta, cyan, and blue gradient for logo
3298
- - Clean, professional look with value propositions
3299
- - Better visual hierarchy and branding
3300
- - **`prjct start` Display Bug** - Fixed editor names showing as "undefined"
3301
- - Now correctly displays editor names (Claude Code, Cursor, etc.)
3302
- - Uses `commandInstaller.editors[key].name` to get proper editor names
3303
-
3304
- ## [0.4.6] - 2025-10-02
3305
-
3306
- ### Added
3307
-
3308
- - **`prjct start` Command** - First-time setup with interactive editor selection
3309
- - Beautiful ASCII art welcome message
3310
- - Auto-detects installed AI editors (Claude Code, Cursor, Windsurf)
3311
- - Interactive prompt to choose which editors to install commands to
3312
- - Replaces confusing `prjct install` command with clearer naming
3313
- - Only runs once (blocks if already configured, suggests `prjct setup` to reconfigure)
3314
-
3315
- - **Auto-Initialization** - Commands auto-run `prjct init` when needed
3316
- - All core commands (now, done, ship, next, idea, recap, stuck, context) check initialization
3317
- - Shows warning and runs init automatically if project not configured
3318
- - Zero friction - users don't need to remember to run init first
3319
- - Seamless workflow: `cd project/ && prjct now "task"` just works
3320
-
3321
- ### Changed
3322
-
3323
- - **Simplified Installation Flow**
3324
- - `npm install -g prjct-cli` → Shows welcome message, tells user to run `prjct start`
3325
- - `prjct start` → Interactive setup (first-time only)
3326
- - `prjct init` → Initialize project (links to global data)
3327
- - `prjct setup` → Reconfigure editors (replaces old `prjct install`)
3328
- - `npm update -g prjct-cli` → Auto-updates commands in tracked editors
3329
-
3330
- - **Post-Install Behavior**
3331
- - Removed auto-installation on npm install (was non-interactive and confusing)
3332
- - First install shows: `Run: prjct start to get started`
3333
- - Updates auto-update commands in previously selected editors
3334
- - Cleaner, more predictable behavior
3335
-
3336
- ### Fixed
3337
-
3338
- - **Critical Bug Fixes** - All commands now enforce global architecture correctly
3339
- - `/p:design` now creates designs in global `analysis/designs/` instead of local `.prjct/designs/`
3340
- - `/p:cleanup` now operates on global project data instead of local `.prjct/`
3341
- - `getDaysSinceLastShip()` now reads from global `memory/context.jsonl` instead of local
3342
- - All commands verify project is initialized before execution
3343
- - Prevents creation of invalid local `.prjct/` structures
3344
- - **Fixed post-install.js** - `currentVersion` now declared before use (prevents ReferenceError)
3345
- - **Added 'Apps' directory** to migration scanner for better project detection
3346
-
3347
- ### Technical Details
3348
-
3349
- - **New Commands**:
3350
- - `start()` - First-time setup with ASCII art and interactive editor selection
3351
- - `setup()` - Renamed from `install()` for clarity
3352
- - `ensureProjectInit()` - Helper function for auto-initialization
3353
- - **Global Architecture**: All commands now use `pathManager.getGlobalProjectPath(projectId)`
3354
- - design(), cleanup(), getDaysSinceLastShip() fully migrated
3355
- - Prevents LOCAL .prjct/ creation
3356
- - Requires project initialization before command execution
3357
- - **Auto-Init Integration**: now(), done(), ship(), next(), idea(), recap(), stuck(), context() all auto-initialize
3358
- - **Migration Enhancement**: Added ~/Apps to common directories scan
3359
- - **Post-Install Fix**: currentVersion variable properly declared at function start
3360
-
3361
- ## [0.4.4] - 2025-10-02
3362
-
3363
- ### Added
3364
-
3365
- - **Automatic Editor Command Updates** - Commands auto-update when npm package is updated
3366
- - New `core/editors-config.js` tracks which editors user has installed commands to
3367
- - Stores editor selections in `~/.prjct-cli/config/installed-editors.json`
3368
- - Post-install hook (`scripts/post-install.js`) auto-updates commands after `npm update -g prjct-cli`
3369
- - **Auto-installation on first install** - Detects AI editors and installs commands automatically
3370
- - Ensures version consistency across all configured editors (Claude, Cursor, Windsurf, Codex)
3371
- - No manual reinstallation needed - updates happen automatically
3372
- - Respects user's original editor choices from initial setup
3373
-
3374
- - **Automatic Cleanup on Uninstall** - Clean uninstallation removes all traces
3375
- - New `scripts/preuninstall.js` runs before `npm uninstall -g prjct-cli`
3376
- - Automatically removes commands from all tracked editors
3377
- - Deletes tracking configuration from `~/.prjct-cli/config/`
3378
- - Added `uninstallFromEditor()` and `uninstallFromAll()` methods to command installer
3379
- - Added `deleteConfig()` method to editors config
3380
- - Prevents orphaned commands when package is uninstalled
3381
- - Clean exit even if cleanup fails (doesn't block uninstall)
3382
-
3383
- - **Automatic Data Migration** - Seamless upgrade from v0.1.0 to v0.4.4
3384
- - Post-install hook automatically detects legacy `.prjct/` projects
3385
- - Migrates data from local structure to new global architecture (`~/.prjct-cli/projects/{id}/`)
3386
- - Scans common project directories (Projects, Documents, Developer, Code, **Apps**)
3387
- - Preserves all project data during migration (now, next, shipped, ideas, memory)
3388
- - Cleans up legacy directories while keeping config for compatibility
3389
- - No user intervention required - migration happens automatically on update
3390
- - Uses existing battle-tested `core/migrator.js` system
3391
-
3392
- ### Changed
3393
-
3394
- - **Improved Command Tracking** - Always track editor installations for better update management
3395
- - Modified `installToSelected()` to always save editor config (removed `!forceUpdate` restriction)
3396
- - Ensures tracking happens even during force updates
3397
- - Enables reliable auto-updates across all configured editors
3398
-
3399
- ### Fixed
3400
-
3401
- - **Global Architecture Enforcement** - All commands now enforce global architecture correctly
3402
- - `/p:design` now creates designs in global `analysis/designs/` instead of local `.prjct/designs/`
3403
- - `/p:cleanup` now operates on global project data instead of local `.prjct/`
3404
- - `getDaysSinceLastShip()` now reads from global `memory/context.jsonl` instead of local
3405
- - All commands verify project is initialized before execution
3406
- - Prevents creation of invalid local `.prjct/` structures
3407
- - **Fixed post-install.js** - `currentVersion` now declared before use (prevents ReferenceError)
3408
- - **Added 'Apps' directory** to migration scanner for better project detection
3409
-
3410
- ### Technical Details
3411
-
3412
- - **Post-Install Hook**: Runs after `npm install -g prjct-cli` or `npm update -g prjct-cli`
3413
- - First install: Auto-detects editors and installs commands
3414
- - Updates: Checks version change and auto-updates commands in tracked editors
3415
- - **Migration**: Automatically detects and migrates legacy projects from v0.1.0
3416
- - Silent operation with debug mode via `DEBUG=1` environment variable
3417
- - **Fixed**: currentVersion variable now properly declared at function start
3418
- - **Enhanced**: Better error handling with debug logging
3419
- - **Pre-Uninstall Hook**: Runs before `npm uninstall -g prjct-cli`
3420
- - Reads tracking config to find all installed editors
3421
- - Removes command directories from each editor
3422
- - Cleans up tracking configuration
3423
- - Fails gracefully to not block uninstall
3424
- - **Migration System**: Automatic upgrade path from v0.1.0 to v0.4.4
3425
- - Scans common project directories including **~/Apps** (fast, non-intrusive)
3426
- - Migrates local `.prjct/` to global `~/.prjct-cli/projects/{id}/`
3427
- - Preserves all data: core, progress, planning, analysis, memory layers
3428
- - Cleans legacy directories while keeping compatibility config
3429
- - Zero data loss, seamless upgrade experience
3430
- - **Global Architecture**: All commands now use `pathManager.getGlobalProjectPath(projectId)`
3431
- - design(), cleanup(), getDaysSinceLastShip() fully migrated
3432
- - Prevents LOCAL .prjct/ creation
3433
- - Requires project initialization before command execution
3434
-
3435
- ## [0.4.3] - 2025-10-02
3436
-
3437
- ### Added
3438
-
3439
- - **Automatic Editor Command Updates** - Commands auto-update when npm package is updated
3440
- - New `core/editors-config.js` tracks which editors user has installed commands to
3441
- - Stores editor selections in `~/.prjct-cli/config/installed-editors.json`
3442
- - Post-install hook (`scripts/post-install.js`) auto-updates commands after `npm update -g prjct-cli`
3443
- - **Auto-installation on first install** - Detects AI editors and installs commands automatically
3444
- - Ensures version consistency across all configured editors (Claude, Cursor, Windsurf, Codex)
3445
- - No manual reinstallation needed - updates happen automatically
3446
- - Respects user's original editor choices from initial setup
3447
-
3448
- - **Automatic Cleanup on Uninstall** - Clean uninstallation removes all traces
3449
- - New `scripts/preuninstall.js` runs before `npm uninstall -g prjct-cli`
3450
- - Automatically removes commands from all tracked editors
3451
- - Deletes tracking configuration from `~/.prjct-cli/config/`
3452
- - Added `uninstallFromEditor()` and `uninstallFromAll()` methods to command installer
3453
- - Added `deleteConfig()` method to editors config
3454
- - Prevents orphaned commands when package is uninstalled
3455
- - Clean exit even if cleanup fails (doesn't block uninstall)
3456
-
3457
- - **GitHub Packages Support** - Dual registry publication for better reliability
3458
- - Package now published to both npm and GitHub Packages automatically
3459
- - GitHub Actions workflow updated to publish to both registries in parallel
3460
- - Added comprehensive GitHub Packages documentation (`docs/GITHUB_PACKAGES.md`)
3461
- - Includes `.npmrc.example` for easy local configuration
3462
- - Provides fallback option if npm registry is unavailable
3463
- - Free hosting for public repositories with automatic authentication
3464
-
3465
- ### Changed
3466
-
3467
- - **Installation Documentation** - Updated README with dual installation options
3468
- - Primary: npm registry (recommended for most users)
3469
- - Alternative: GitHub Packages (for advanced users or npm fallback)
3470
- - Clear instructions for both installation methods
3471
-
3472
- - **Command Installer Improvements**
3473
- - `installToSelected()` now always saves editor config (removed force-update restriction)
3474
- - Better tracking ensures updates work correctly even for force updates
3475
- - Improved error handling and reporting
3476
-
3477
- ### Technical Details
3478
-
3479
- - **Editor Tracking**: Configuration saved after all successful command installations
3480
- - **Post-Install Hook**:
3481
- - Runs only for global installations, skips for local/dev installs
3482
- - Auto-detects and installs to all AI editors on first install
3483
- - Auto-updates commands when version changes
3484
- - **Pre-Uninstall Hook**:
3485
- - Runs only for global uninstallations
3486
- - Removes slash commands from `~/.claude/`, `~/.cursor/`, `~/.windsurf/`
3487
- - Removes AGENTS.md from `~/.codex/` if present
3488
- - Deletes tracking configuration
3489
- - **Version Detection**: Compares current version with last installed version
3490
- - **Force Update**: Automatically updates commands when version changes
3491
- - **Parallel Publication**: npm and GitHub Packages jobs run simultaneously for faster releases
3492
-
3493
- ## [0.4.2] - 2025-10-02
3494
-
3495
- ### Fixed
3496
-
3497
- - **Analyzer Compatibility** - Fixed ENOENT error when running `/p:init` in non-prjct projects
3498
- - Added validation to check if `bin/prjct` exists before reading
3499
- - Analyzer now works correctly in any project type (React, Vue, etc.)
3500
- - No longer throws "no such file or directory" error for normal projects
3501
- - Maintains full functionality for prjct-cli development projects
3502
-
3503
- - **Website Build Process** - Improved build script and component imports
3504
- - Fixed Badge component import casing (badge → Badge)
3505
- - Removed obsolete install.sh and setup.sh copying from build script
3506
- - Cleaner and faster website builds
3507
-
3508
- ## [0.4.1] - 2025-10-01
3509
-
3510
- ### Added
3511
-
3512
- - **Automatic Update Detection** - Built-in update checker that notifies users of new versions
3513
- - Checks npm registry every 24 hours for new versions
3514
- - Non-blocking background check during command execution
3515
- - Formatted notification with update command
3516
- - Shows only once per session to avoid notification spam
3517
- - Respects 24-hour cache to minimize npm registry requests
3518
-
3519
- - **Automated npm Publication** - GitHub Actions workflow for automatic npm publishing
3520
- - Triggered on version tags (v\*)
3521
- - Automatic version verification against package.json
3522
- - Provenance publishing with npm attestation
3523
- - Post-publication verification
3524
- - Publication summary in GitHub Actions
3525
-
3526
- ### Changed
3527
-
3528
- - **Installation Method** - npm is now the primary and recommended installation method
3529
- - Simplified to single installation method: `npm install -g prjct-cli`
3530
- - Removed Homebrew and Bun installation scripts
3531
- - Cleaner package with optimized file inclusion
3532
- - Reduced package size: 104.6 KB (71 files)
3533
-
3534
- ### Fixed
3535
-
3536
- - **Package Structure** - Improved npm package configuration
3537
- - Added `files` field to control package contents
3538
- - Created `.npmignore` for development file exclusion
3539
- - Proper global data directory separation (`~/.prjct-cli/` for data only)
3540
- - Fixed CI/CD tests to verify CLI functionality instead of individual modules
3541
-
3542
- ### Technical Details
3543
-
3544
- - **Update Checker**: `core/update-checker.js` with semantic version comparison
3545
- - **Cache Management**: Update checks cached for 24 hours in `~/.prjct-cli/config/update-cache.json`
3546
- - **Architecture**: Clean separation between npm installation (`/opt/homebrew/lib/node_modules/prjct-cli/`) and user data (`~/.prjct-cli/`)
3547
- - **GitHub Actions**: `.github/workflows/publish-npm.yml` for automated npm publication
3548
-
3549
- ## [0.4.0] - 2025-10-01
3550
-
3551
- ### Added
3552
-
3553
- - **Interactive Workflow System** - Intelligent agent workflows with user-guided capability installation
3554
- - **Adaptive Workflows**: Workflows detect missing capabilities and prompt user for decisions
3555
- - **Smart Recommendations**: Stack-aware tool suggestions (React → Bun test, Vue → Bun test, Angular → Jest)
3556
- - **Installation Tracking**: Every tool installation becomes a visible, tracked workflow task
3557
- - **Interactive Prompts**: Never auto-skips steps - always asks user (install/skip/continue/pause)
3558
- - **Capability Detection**: Automatically detects design systems, test frameworks, and documentation tools
3559
- - **Auto-Configuration**: Installed tools are automatically configured with framework-specific settings
3560
- - **Workflow Types**: UI, API, Bug Fix, Refactor, and Feature workflows with specialized agent assignments
3561
-
3562
- - **New Core Modules**:
3563
- - `core/workflow-engine.js`: Orchestrates adaptive workflows with step management
3564
- - `core/workflow-rules.js`: Defines workflow pipelines by task type
3565
- - `core/workflow-prompts.js`: Interactive prompting engine with stack detection
3566
- - `core/capability-installer.js`: Handles tool installation, configuration, and verification
3567
- - `core/project-capabilities.js`: Detects existing project capabilities (design/test/docs)
3568
-
3569
- - **New Commands**:
3570
- - `workflowRespond(choice)`: Handle user responses to workflow prompts
3571
- - Enhanced `done()`: Checks for prompts, advances workflows intelligently
3572
- - Enhanced `idea()`: Auto-initializes workflows for actionable tasks
3573
-
3574
- ### Changed
3575
-
3576
- - **Workflow Behavior**: Transformed from auto-skip to interactive prompting
3577
- - Before: Missing capability → auto-skip step
3578
- - After: Missing capability → prompt user → track installation → continue
3579
- - **Step Tracking**: All workflow steps now tracked with status, duration, and metadata
3580
- - **Installation Visibility**: Tool installations appear as first-class workflow tasks
3581
-
3582
- ### Technical Details
3583
-
3584
- - **Stack Detection**: Identifies React/Vue/Angular, TypeScript, bundler (Vite/Webpack/esbuild)
3585
- - **Tool Recommendations**:
3586
- - React + TS → Bun test + Testing Library
3587
- - Vue → Bun test + @vue/test-utils
3588
- - Angular → Jest + @types/jest
3589
- - **Auto-Configuration**:
3590
- - Creates config files for the selected tooling (e.g., jest.config.js, jsdoc.json)
3591
- - Updates package.json scripts
3592
- - Verifies installation success
3593
- - **Duration Tracking**: Installation tasks show completion time (e.g., "1.2 min")
3594
-
3595
- ## [0.3.2] - 2025-10-01
3596
-
3597
- ### Fixed
3598
-
3599
- - **Interactive Installation Compatibility** - Fixed interactive editor selection failing due to inquirer ESM compatibility issues
3600
- - Replaced inquirer v12 with prompts v2.4.2 for better CommonJS compatibility
3601
- - inquirer v12 required complex ESM dynamic imports causing "prompt is not a function" errors
3602
- - prompts provides simpler API with native CommonJS support
3603
- - Reduced package count from 68 to 40 dependencies
3604
- - Fixed "inquirer.prompt is not a function" and "createPromptModule is not a function" errors
3605
- - Interactive UI now works reliably across all Node.js versions
3606
- - Updated `scripts/interactive-install.js` and `core/command-installer.js` to use prompts
3607
-
3608
- ## [0.3.1] - 2025-10-01
3609
-
3610
- ### Fixed
3611
-
3612
- - **Installation Path Resolution Error** - Fixed "setup.sh: No such file or directory" error during installation (#11)
3613
- - Corrected path resolution in installation scripts (docs/install.sh, scripts/install.sh, scripts/setup.sh)
3614
- - Added verification tests in `tests/verify-install-paths.sh`
3615
- - Added comprehensive documentation in `tests/INSTALL_PATH_FIX.md`
3616
- - Thanks to [@danrocha](https://github.com/danrocha) for reporting the issue
3617
-
3618
- ## [0.3.0] - 2025-09-30
3619
-
3620
- ### Added
3621
-
3622
- - **Intelligent Codebase Analysis & Sync** - Auto-detect implemented features and sync project state
3623
- - `/p:analyze` command to analyze codebase and detect implemented commands/features
3624
- - `/p:analyze --sync` to automatically update `.prjct/` files with real implementation state
3625
- - Auto-execution during `/p:init` when cloning repos with existing code
3626
- - Detects implemented commands by scanning `bin/prjct` and `core/commands.js`
3627
- - Detects completed features from:
3628
- - Git commit history (feat:, ship:, feature: prefixes)
3629
- - Package.json dependencies (major frameworks and libraries)
3630
- - Directory structure (auth/, api/, dashboard/, etc.)
3631
- - Automatically updates `next.md` by marking completed tasks
3632
- - Automatically adds detected features to `shipped.md`
3633
- - Generates detailed analysis reports in `analysis/repo-summary.md`
3634
- - Prevents duplicate work when multiple developers work on same codebase
3635
- - Provides real project status visibility across team members
3636
- - Zero-configuration sync for better collaboration without cloud storage
3637
-
3638
- - **Interactive Editor Selection** - Choose which AI editors to install commands to
3639
- - Interactive checkbox UI during `prjct install` and `prjct init`
3640
- - Detects all installed editors (Claude Code, Cursor, Codex, Windsurf)
3641
- - Shows installation paths for each detected editor
3642
- - Allows users to select only the editors they use
3643
- - `--no-interactive` flag to install to all detected editors without prompts
3644
- - Optimizes installation by avoiding unnecessary editor installations
3645
-
3646
- ### Changed
3647
-
3648
- - **Updated branding** - New header design with kaomoji (ノ◕ヮ◕)ノ\*:・゚✧
3649
- - Refreshed README.md header with fun, friendly design
3650
- - Updated installer (scripts/install.sh) to match new branding
3651
- - Consistent visual identity across documentation and installation experience
3652
-
3653
- ## [0.2.1] - 2025-09-30
3654
-
3655
- ### Added
3656
-
3657
- - **Multi-Editor Command Installation** - Automatic slash command deployment across AI editors
3658
- - `prjct install` command to install/update commands in all detected editors
3659
- - Automatic detection of Claude Code, Cursor AI, and Codeium installations
3660
- - Template-based command system in `~/.prjct-cli/templates/commands/`
3661
- - Commands automatically installed during `prjct init`
3662
- - Support for `--force`, `--editor`, and `--create-templates` flags
3663
- - Cross-editor data synchronization through global architecture
3664
- - Installation verification and detailed reports
3665
-
3666
- - **Global Migration System** - Automatic migration for all projects on user's machine
3667
- - `prjct migrate-all` command to find and migrate all legacy projects
3668
- - Scans common project directories: `~/Projects`, `~/Documents`, `~/Developer`, etc.
3669
- - Optional `--deep-scan` flag to scan entire home directory
3670
- - Optional `--remove-legacy` flag to clean up old `.prjct/` directories after migration
3671
- - Optional `--dry-run` flag to preview changes without making them
3672
- - Progress tracking with real-time updates during migration
3673
- - Comprehensive summary report with statistics and results
3674
-
3675
- - **Automated Project Discovery**
3676
- - `findAllProjects()` method to recursively search for `.prjct/` directories
3677
- - Intelligent directory skipping (node_modules, .git, dist, build, etc.)
3678
- - Configurable recursion depth for safety
3679
- - Handles permission errors gracefully
3680
-
3681
- - **Bulk Migration Support**
3682
- - `migrateAll()` method to process multiple projects in batch
3683
- - Per-project validation and error handling
3684
- - Continues on individual project failures
3685
- - Detailed error reporting for failed migrations
3686
- - Preserves 100% of data during migration (files and directories)
3687
-
3688
- ### Changed
3689
-
3690
- - **Multi-Editor Support**
3691
- - Updated command templates to use global architecture paths
3692
- - Modified `prjct init` to automatically detect and install commands
3693
- - Enhanced command-installer.js with editor-specific logic
3694
- - Standardized command format across all supported editors
3695
-
3696
- - **Repository Structure Reorganization**
3697
- - Moved source code to `src/` directory
3698
- - Moved scripts to `scripts/` directory
3699
- - Moved configuration to `.config/` directory
3700
- - Renamed `lp/` to `website/` for clarity
3701
- - Renamed `test/` to `tests/` for consistency
3702
- - Removed `.serena/` integration (unused)
3703
- - Cleaned up backup files and duplicates
3704
- - Added `templates/commands/` for command distribution
3705
-
3706
- - **Documentation Updates**
3707
- - Updated CONTRIBUTING.md with new repository structure
3708
- - Added detailed migration documentation
3709
- - Documented v0.2.1 global structure and multi-editor support
3710
- - Added automatic migration instructions
3711
- - Updated README.md with Cursor and Codeium support
3712
- - Enhanced MIGRATION.md with command installation instructions
3713
-
3714
- - **CLI Interface**
3715
- - Added `install` command to CLI entry point for manual command installation
3716
- - Added `migrate-all` command to CLI entry point
3717
- - Added help text for new migration and installation commands
3718
- - Improved command error messages
3719
- - Enhanced init command with automatic editor installation
3720
-
3721
- ### Fixed
3722
-
3723
- - Added missing `getGlobalBasePath()` method to path-manager.js
3724
- - Improved error handling in migration system
3725
- - Fixed paths in GitHub Actions workflow after reorganization
3726
- - Updated Prettier configuration paths after reorganization
3727
-
3728
- ## [0.2.0] - 2025-09-30
3729
-
3730
- ### 🚨 BREAKING CHANGES
3731
-
3732
- **⚠️ IMPORTANT**: This is a DATA RELOCATION, not deletion. ALL your data is preserved and moved to a better location.
3733
-
3734
- - **Data Storage Relocation**: All project data moved from `.prjct/` to `~/.prjct-cli/projects/[project-id]/`
3735
- - ✅ 100% data preservation - every file, log, and timestamp
3736
- - ✅ Automatic migration with validation
3737
- - ✅ Reversible process (`.prjct/` kept as backup by default)
3738
-
3739
- - **Migration Required**: Projects from v0.1.0 need one-time migration
3740
- - Zero data loss guarantee
3741
- - Automatic integrity validation
3742
- - Simple process via installer or `/p:migrate`
3743
-
3744
- - **Collaboration-Ready Architecture**: Designed for teams WITHOUT exposing personal data
3745
- - `.prjct/prjct.config.json` in project (safe to commit)
3746
- - Personal logs stay in `~/.prjct-cli/` (never committed)
3747
- - Author tracking enables future collaboration features
3748
- - Non-intrusive: Your velocity and notes stay private
3749
-
3750
- - **Author Tracking**: All operations now include author information
3751
- - Prepares for multi-user collaboration
3752
- - Tracks who did what without exposing personal metrics
3753
- - Automatic detection via GitHub CLI or git config
3754
-
3755
- ### Added
3756
-
3757
- - **Global Data Storage System**
3758
- - Project data stored in `~/.prjct-cli/projects/[hash-id]/`
3759
- - Prevents bundle size inflation and accidental commits to git
3760
- - Maintains data locally while keeping projects clean
3761
- - Layered directory structure: core, progress, planning, analysis, memory
3762
-
3763
- - **Author Detection & Tracking**
3764
- - Multi-source author detection (GitHub CLI, git config)
3765
- - Author information included in all memory logs
3766
- - Automatic GitHub username detection via `gh api user`
3767
- - Fallback to git config for name and email
3768
- - Preparation for multi-user collaboration features
3769
-
3770
- - **Project Configuration System**
3771
- - New `.prjct/prjct.config.json` file in project
3772
- - Tracks project ID, data location, and author info
3773
- - Manages synchronization timestamps
3774
- - Version tracking for future migrations
3775
-
3776
- - **Automatic Migration System**
3777
- - Detects v0.1.0 projects automatically
3778
- - Migrates data to new global structure
3779
- - Preserves all existing data and history
3780
- - Creates configuration file automatically
3781
- - Validates migration integrity
3782
- - Optional legacy directory cleanup
3783
-
3784
- - **New Core Modules**
3785
- - `core/path-manager.js`: Manages local and global paths with hash-based project IDs
3786
- - `core/config-manager.js`: Handles prjct.config.json operations
3787
- - `core/author-detector.js`: Multi-method author detection system
3788
- - `core/migrator.js`: Complete migration logic and validation
3789
-
3790
- - **Enhanced Installer Visual Design** (from previous unreleased)
3791
- - New ASCII art logo for prjct/cli branding
3792
- - Improved visual hierarchy with better spacing and borders
3793
- - Professional appearance similar to modern CLI tools
3794
-
3795
- - **Version Management System** (from previous unreleased)
3796
- - Automatic version checking during installation
3797
- - Smart update prompts only when new versions are available
3798
- - Force reinstall option with `--force` flag
3799
-
3800
- - **Installation Options** (from previous unreleased)
3801
- - `--force`, `-y`, `--silent`, `--dev`, `--help` flags
3802
- - Auto-accept mode when running through pipe (curl)
3803
-
3804
- ### Changed
3805
-
3806
- - **Data Location**: Moved from `.prjct/` to `~/.prjct-cli/projects/[id]/`
3807
- - **Memory Logs**: Now include `author` field in all entries
3808
- - **File Structure**: Organized into layers (core, progress, planning, analysis, memory)
3809
- - **Initialization**: Creates global structure and config file
3810
- - **All Commands**: Updated to use global paths and track authorship
3811
-
3812
- ### Removed
3813
-
3814
- - Local `.prjct/` directory usage (replaced with global storage)
3815
- - Legacy flat file structure (replaced with layered architecture)
3816
-
3817
- ### Migration Guide
3818
-
3819
- See [MIGRATION.md](MIGRATION.md) for detailed migration instructions.
3820
-
3821
- **Quick Migration**:
3822
-
3823
- ```bash
3824
- # Projects will auto-detect migration need
3825
- # Run init to trigger migration
3826
- /p:init
3827
-
3828
- # Or run explicit migration
3829
- /p:migrate
3830
- ```
3831
-
3832
- ### Breaking Change Impact
3833
-
3834
- **For Individuals**:
3835
-
3836
- - ✅ One-time migration required (automatic, zero data loss)
3837
- - ✅ Cleaner repositories (no `.prjct/` bloat)
3838
- - ✅ No accidental commits of personal work logs
3839
- - ✅ Better privacy for your productivity tracking
3840
-
3841
- **For Teams**:
3842
-
3843
- - ✅ Share `.prjct/prjct.config.json` for coordination
3844
- - ✅ Each member tracks privately with author info
3845
- - ✅ No exposure of individual work patterns
3846
- - ✅ Future collaboration features enabled
3847
- - ✅ Perfect for open source, remote teams, consulting
3848
-
3849
- **For Projects**:
3850
-
3851
- - ✅ Git Repositories: `.prjct/` safely removed after migration
3852
- - ✅ CI/CD Pipelines: No changes needed - data fully external
3853
- - ✅ Bundle Size: Zero impact from prjct tracking
3854
- - ✅ Collaboration: Non-intrusive team workflow ready
3855
-
3856
- ### Fixed
89
+ - **Silent memory application** (PRJ-103)
90
+ - Memory decisions applied without verbose output
91
+ - Cleaner sync experience
3857
92
 
3858
- - Arithmetic operation syntax error in command counting (from previous unreleased)
3859
- - Version detection for existing installations (from previous unreleased)
3860
93
 
3861
- ## [0.1.0] - 2024-01-XX
94
+ ## [0.45.0] - 2026-01-28
3862
95
 
3863
96
  ### Added
3864
97
 
3865
- - Initial release of prjct-cli
3866
- - AI-integrated developer momentum tool
3867
- - Support for Claude Code, OpenAI Codex, and Terminal
3868
- - Core commands: init, now, done, ship, recap, etc.
3869
- - MCP integration for AI assistants
3870
- - Automatic environment detection
3871
- - Project structure in `.prjct/` directory
98
+ - Initial public release
99
+ - Core workflow: sync, task, done, ship
100
+ - Domain agents: frontend, backend, database, testing, devops
101
+ - Linear integration via MCP
102
+ - Context layer for Claude Code and Gemini CLI