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