prjct-cli 1.56.10 → 2.0.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,328 +1,276 @@
1
1
  # prjct
2
2
 
3
- **Context layer for AI coding agents.**
3
+ **Persona-aware context broker for AI coding agents.**
4
4
 
5
5
  Works with Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, Windsurf, and more.
6
6
 
7
- [![Claude Code](https://img.shields.io/badge/Claude%20Code-Ready-6366f1)](CLAUDE.md)
7
+ [![npm](https://img.shields.io/npm/v/prjct-cli)](https://www.npmjs.com/package/prjct-cli)
8
+ [![Claude Code](https://img.shields.io/badge/Claude%20Code-Ready-6366f1)]()
8
9
  [![Gemini CLI](https://img.shields.io/badge/Gemini%20CLI-Ready-4285F4)]()
9
10
  [![OpenAI Codex](https://img.shields.io/badge/OpenAI%20Codex-Ready-10A37F)]()
10
- [![Antigravity](https://img.shields.io/badge/Antigravity-Ready-EA4335)]()
11
11
  [![Cursor IDE](https://img.shields.io/badge/Cursor%20IDE-Ready-00D4AA)]()
12
12
  [![Windsurf](https://img.shields.io/badge/Windsurf-Ready-7C3AED)]()
13
- [![npm](https://img.shields.io/npm/v/prjct-cli)](https://www.npmjs.com/package/prjct-cli)
13
+
14
+ > **v2.x is alpha.** Install with `npm install -g prjct-cli@alpha`. v1.56.x remains on `latest` while the v2 surface stabilizes.
14
15
 
15
16
  ## What is prjct?
16
17
 
17
- prjct gives AI coding agents the context they need about your project. It maintains state between sessions, tracks progress, and ensures agents understand your codebase.
18
+ prjct is a **context broker**, not a task manager. It declares **who your agent is in this project** (PM, founder, DEV, research…), routes the right MCPs + memory types + workflow slots for that persona, and feeds everything back to the LLM through native hooks — no skills to remember, no prescriptive pipelines.
19
+
20
+ The contract is simple: **prjct exposes the WHAT, the agent decides the HOW.**
18
21
 
19
22
  ```
20
- Your AI Agent prjct
21
- (Claude/Gemini/Codex/Cursor/Windsurf) |
22
- | |
23
- | "What am I working on?" |
24
- | --------------------------------> |
25
- | | Reads project context
26
- | Task: "Add user auth" |
27
- | Branch: feature/auth |
28
- | Subtask 2/5: API routes |
29
- | <-------------------------------- |
30
- | |
31
- v |
32
- Writes code with full context |
23
+ Claude Code / Gemini / Cursor prjct
24
+ | |
25
+ | SessionStart hook fires |
26
+ | -----------------------------------> | reads .prjct/prjct.config.json
27
+ | | resolves persona + memory + MCPs
28
+ | You are <role> for <project>. |
29
+ | MCPs: Linear, PostHog. |
30
+ | Recent insights: |
31
+ | <----------------------------------- |
32
+ v |
33
+ Writes code / specs / updates |
34
+ with full project context |
33
35
  ```
34
36
 
35
37
  ## Install
36
38
 
37
39
  ```bash
40
+ # v2 alpha (recommended for early adopters)
41
+ npm install -g prjct-cli@alpha
42
+
43
+ # v1 stable (backwards-compatible)
38
44
  npm install -g prjct-cli
39
45
  ```
40
46
 
41
47
  ## Quick Start
42
48
 
43
- ### Claude Code / Gemini CLI / OpenAI Codex
44
-
45
49
  ```bash
46
- # 1. One-time global setup
50
+ # 1. One-time global setup (installs routers, MCP config, skills)
47
51
  prjct start
48
52
 
49
- # 2. Initialize your project
53
+ # 2. Initialize your project with a persona + pack
50
54
  cd my-project
51
- prjct init
55
+ prjct init --pack code,daily # DEV persona, default
56
+ prjct init --pack pm,research,daily # PM persona
57
+ prjct init --pack founder,daily # Founder persona
58
+
59
+ # 3. Install Claude Code hooks (7 passive hooks in ~/.claude/settings.json)
60
+ prjct install
52
61
 
53
- # 3. Open in Claude Code, Gemini CLI, or Codex and use:
54
- p. sync # Analyze project
55
- p. task "add user auth" # Start a task
56
- p. done # Complete task
57
- p. ship # Ship with PR
62
+ # 4. Open in your agent and work normally hooks inject context automatically.
58
63
  ```
59
64
 
60
- ### Cursor IDE / Windsurf
65
+ ### Core verbs
61
66
 
62
- ```bash
63
- # 1. Initialize your project (no global setup needed)
64
- cd my-project
65
- prjct init
67
+ | Verb | What it does |
68
+ |---|---|
69
+ | `prjct capture "<anything>"` | GTD-style universal inbox. Bare `prjct "<text>"` also routes here. |
70
+ | `prjct task "<desc>"` / `prjct task` | Register a task or show the active one. |
71
+ | `prjct tag <k:v>` | Tag the active task (`type:bug`, `domain:auth`, …). |
72
+ | `prjct status <value>` | Inline status change on the active task. |
73
+ | `prjct remember <type> "<content>"` | Persist a memory entry (fact, decision, learning, insight, …). |
74
+ | `prjct ship [name]` | Run the project's `ship` workflow (commit, push, PR, persist shipped). |
75
+ | `prjct workflow run <name>` | Run any registered workflow (`script`, `mcp`, `persona:context` steps). |
76
+ | `prjct seed <add\|list>` | Manage packs (persona, memory types, workflow slots). |
77
+ | `prjct sync` | Sync project state and regenerate skills / wiki. |
66
78
 
67
- # 2. Open in Cursor or Windsurf and use:
68
- /sync # Analyze project
69
- /task "add user auth" # Start a task
70
- /done # Complete task
71
- /ship # Ship with PR
79
+ ### Inside Claude Code / Gemini CLI
80
+
81
+ ```bash
82
+ p. capture "llamar a Ana re: pricing"
83
+ p. task "add OAuth refresh"
84
+ p. remember decision "we chose JWT + refresh rotation"
85
+ p. ship "auth"
72
86
  ```
73
87
 
74
- > Cursor uses `.cursor/commands/`, Windsurf uses `.windsurf/` with YAML frontmatter. Run `/sync` to regenerate if deleted.
88
+ Cursor / Windsurf use the same commands with `/` prefix: `/capture`, `/task`, `/ship`.
75
89
 
76
- ### Core Workflow
90
+ ## Personas & Packs
77
91
 
78
- ```
79
- Claude/Gemini/Codex: p. sync -> p. task "..." -> [code] -> p. done -> p. ship
80
- Cursor/Windsurf: /sync -> /task "..." -> [code] -> /done -> /ship
92
+ `.prjct/prjct.config.json` declares the persona. Hooks inject it every session.
93
+
94
+ ```json
95
+ {
96
+ "projectId": "…",
97
+ "persona": {
98
+ "role": "PM",
99
+ "focus": "B2B SaaS onboarding optimization",
100
+ "mcps": ["linear", "posthog", "gmail"],
101
+ "packs": ["pm", "research", "daily"]
102
+ }
103
+ }
81
104
  ```
82
105
 
83
- ## How It Works
84
-
85
- | Component | Claude Code | Gemini CLI | OpenAI Codex | Antigravity | Cursor IDE | Windsurf |
86
- |-----------|-------------|------------|--------------|-------------|------------|----------|
87
- | Router | `~/.claude/commands/p.md` | `~/.gemini/commands/p.toml` | `~/.codex/skills/prjct/SKILL.md` | Skill | `.cursor/commands/*.md` | `.windsurf/*.md` |
88
- | Config | `~/.claude/CLAUDE.md` | `~/.gemini/GEMINI.md` | `AGENTS.md` | `~/.gemini/antigravity/skills/prjct/` | `.cursor/rules/prjct.mdc` | `.windsurf/` (YAML) |
89
- | Storage | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` |
90
- | Syntax | `p. command` | `p. command` | `p. command` | `p. command` | `/command` | `/command` |
91
-
92
- All agents share the same SQLite-backed project storage, so you can switch between them freely.
93
-
94
- ## Commands
95
-
96
- ### Core Workflow
97
-
98
- | Claude/Gemini | Cursor/Windsurf | Description |
99
- |---------------|-----------------|-------------|
100
- | `p. sync` | `/sync` | Analyze project, build indexes, generate skills |
101
- | `p. task "desc"` | `/task "desc"` | Start task with auto-classification |
102
- | `p. done` | `/done` | Complete current task |
103
- | `p. ship "name"` | `/ship "name"` | Ship feature with PR + version bump |
104
- | `p. pause` | `/pause` | Pause current task |
105
- | `p. resume` | `/resume` | Resume paused task |
106
- | `p. next` | `/next` | Show priority queue or roadmap |
107
- | `p. bug "desc"` | `/bug "desc"` | Report and track a bug |
108
- | `p. idea "desc"` | `/idea "desc"` | Transform idea into technical architecture |
109
- | `p. spec` | `/spec` | Create detailed spec for complex features |
110
- | `p. dash` | `/dash` | Unified dashboard (status, progress, roadmap) |
111
- | `p. suggest` | `/suggest` | Smart recommendations based on project state |
112
-
113
- ### Analysis & Performance
114
-
115
- | Command | Description |
116
- |---------|-------------|
117
- | `p. status` | Check if context is stale |
118
- | `p. perf` | Performance dashboard (startup, memory, context) |
119
- | `p. velocity` | Sprint-based velocity with trend detection |
120
- | `p. tokens <in> <out>` | Record token usage on active task |
121
- | `p. stats` | Value dashboard (token savings, impact) |
122
- | `p. sessions` | Show recent sessions across projects |
123
- | `p. diff` | Diff between draft and sealed analysis |
124
- | `p. seal` | Seal analysis with commit-hash signature |
125
- | `p. verify` | Verify integrity (cryptographic or `--semantic`) |
126
- | `p. rollback` | Rollback to previous sealed analysis |
127
-
128
- ### Advanced
129
-
130
- | Command | Description |
131
- |---------|-------------|
132
- | `p. design` | Design system architecture, APIs, components |
133
- | `p. enrich "issue"` | Build enrichment context for an issue |
134
- | `p. workflow` | Configure workflow hooks via natural language |
135
- | `p. git` | Smart git operations with context |
136
- | `p. test` | Run tests with auto-fix |
137
- | `p. undo` / `p. redo` | Snapshot-based undo/redo |
138
- | `p. recover` | Recover abandoned session with context |
139
- | `p. linear` | Linear integration via MCP |
140
- | `p. jira` | Jira integration via MCP |
141
- | `p. obsidian` | Obsidian vault integration (setup, export, status) |
142
-
143
- ### Parallel Agent Sessions
144
-
145
- Run multiple AI agents on different tasks simultaneously, each in an isolated git worktree.
146
-
147
- | Command | Description |
148
- |---------|-------------|
149
- | `p. parallel spawn "task"` | Spawn agent in isolated worktree |
150
- | `p. parallel status` | Show all active agents |
151
- | `p. parallel join` | Merge completed branches back |
152
- | `p. worktree create` | Create worktree (auto-copies .env, installs deps) |
153
- | `p. worktree list` | List active worktrees |
154
- | `p. worktree remove` | Clean up completed worktrees |
155
- | `p. conductor init` | Scaffold Conductor.build integration |
156
-
157
- ## CLI Commands
158
-
159
- Commands you run directly in the terminal (outside your AI agent):
106
+ Five built-in packs (manifests, not bash pipelines):
160
107
 
161
- ```bash
162
- prjct start # First-time setup wizard
163
- prjct init # Initialize project
164
- prjct sync # Analyze project and build indexes
165
- prjct doctor # Check system health and dependencies
166
- prjct serve # Start web dashboard (port 3478)
167
- prjct watch # Auto-sync on file changes
168
- prjct hooks # Manage git hooks for auto-sync
169
- prjct context # Smart context filtering tools
170
- prjct enrich # Prepare issue enrichment context
171
- prjct linear # Linear MCP gateway
172
- prjct jira # Jira MCP gateway
173
- prjct obsidian setup # Link project to Obsidian vault
174
- prjct obsidian export # Export board, queue, shipped, roadmap to vault
175
- prjct obsidian status # Check Obsidian integration status
176
- prjct login # Authenticate with prjct cloud (opens browser)
177
- prjct logout # Sign out from prjct cloud
178
- prjct update # Update CLI system-wide
179
- prjct stop # Stop the background daemon
180
- prjct restart # Restart the background daemon
181
- prjct uninstall # Complete system removal
182
- prjct --version # Show version + provider status
183
- prjct --help # Show help
184
- ```
108
+ | Pack | Persona | Memory types enabled | Workflow slots |
109
+ |---|---|---|---|
110
+ | `code` | DEV | `fact`, `decision`, `learning`, `gotcha`, `pattern`, `anti-pattern`, `shipped` | `ship`, `review` |
111
+ | `daily` | | `inbox`, `todo`, `idea` | `morning`, `clarify`, `review` |
112
+ | `pm` | PM | `decision`, `insight`, `question`, `stakeholder` | `spec`, `triage`, `update` |
113
+ | `founder` | Founder | `goal`, `okr`, `person`, `stakeholder`, `decision` | `ship`, `review` |
114
+ | `research` | Research | `source`, `claim`, `question`, `insight` | `research`, `review` |
185
115
 
186
- ## Code Intelligence
116
+ Slots ship **empty** — the human or the agent authors the scripts on demand.
187
117
 
188
- `prjct sync` builds a triple-index system over your codebase:
118
+ ## Hooks (v2, opt-in)
189
119
 
190
- | Index | Purpose |
191
- |-------|---------|
192
- | **BM25** | Full-text search over file names, symbols, comments |
193
- | **Import Graph** | Dependency graph with forward and reverse edges |
194
- | **Git Co-change** | Files that frequently change together |
120
+ `prjct install` writes 7 passive hooks to `~/.claude/settings.json`. They inject `additionalContext`; none of them block unless a hand-rolled workflow rule says so.
121
+
122
+ | Event | Injects |
123
+ |---|---|
124
+ | `SessionStart` | Persona + active task + last 3 learnings |
125
+ | `UserPromptSubmit` | Topical recall from memory (≤500 chars) |
126
+ | `PreToolUse` (Bash git commit) | Surfaces anti-patterns tagged with touched files |
127
+ | `PostToolUse` (Edit/Write) | Silently annotates `files_touched` on active task |
128
+ | `Stop` | Async prompt: "learned anything reusable?" |
129
+ | `SubagentStart` | Injects persona + memories for fresh-brain subagents |
130
+ | `CwdChanged` | Re-contextualizes on project switch |
195
131
 
196
- These indexes power file ranking, impact analysis, and related-context suggestions for your AI agent.
132
+ `prjct uninstall` cleanly removes them.
197
133
 
198
134
  ## MCP Server
199
135
 
200
- prjct exposes an MCP server with tools that AI agents can call directly:
136
+ prjct exposes an MCP server with 5 tool groups (was 9 in v1):
201
137
 
202
- | Category | Tools | Examples |
203
- |----------|-------|---------|
204
- | **Memory** | 8 | Save/search memories, record decisions, manage preferences |
205
- | **Session** | 4 | Start sessions, recover context, record outcomes |
206
- | **Code Intelligence** | 3 | Impact analysis, related files, staleness check |
207
- | **Workflow** | 4 | Task and session management |
208
- | **File** | 3 | File reading and filtering |
209
- | **Pattern** | 3 | Pattern extraction and matching |
210
- | **Review** | 3 | Code review context |
211
- | **Project** | 4 | Project-level operations |
212
- | **Obsidian** | 8 | Read, write, search, list, export, import, stats, status |
138
+ | Group | Tools |
139
+ |---|---|
140
+ | **memory** | `prjct_mem_save`, `_list`, `_similar`, `_forget` |
141
+ | **project** | `prjct_patterns`, status, summary |
142
+ | **files** | `prjct_files`, `prjct_recent` |
143
+ | **workflow** | `prjct_workflow_list`, `_run`, `_log` |
144
+ | **code-intel** | `prjct_related`, `_impact`, `_stale` |
213
145
 
214
- The memory system uses FTS5 full-text search, tracks decision outcomes ("did this work before?"), and auto-captures patterns during normal workflow.
146
+ The broker model: if you already have `linear`, `jira`, `posthog`, `gmail` MCPs wired, prjct **does not duplicate them** it just tells Claude they're available for the current persona and caches your insights locally.
215
147
 
216
- ## Web Dashboard
148
+ ## CLI
217
149
 
218
150
  ```bash
219
- prjct serve
151
+ prjct start First-time setup wizard
152
+ prjct init [--pack …] Initialize project with persona + packs
153
+ prjct install Install Claude Code hooks
154
+ prjct uninstall Remove hooks / complete uninstall
155
+ prjct sync Sync project state + regenerate wiki
156
+ prjct serve Start web dashboard (port 3478)
157
+ prjct watch Auto-sync on file changes
158
+ prjct doctor Check system health
159
+ prjct hooks Manage git hooks for auto-sync
160
+ prjct context Smart context filtering for agents
161
+ prjct stop / restart Background daemon control
162
+ prjct update Update CLI system-wide
163
+ prjct --version / --help
220
164
  ```
221
165
 
222
- Starts an HTTP server on port 3478 with:
223
-
224
- - REST API for project state, task queue, ideas, roadmap, shipped features
225
- - SSE (Server-Sent Events) for real-time updates
226
- - Status bar endpoint for IDE integration (`/api/status-bar/compact`)
227
- - Global statistics across all projects
166
+ ## Memory
228
167
 
229
- Built with Hono, supports both Bun and Node.js runtimes.
168
+ 14 built-in types + user-defined lowercase identifiers:
230
169
 
231
- ## Cloud Sync
170
+ `fact`, `decision`, `learning`, `gotcha`, `pattern`, `anti-pattern`, `shipped`, `inbox`, `todo`, `idea`, `insight`, `question`, `source`, `person` — plus anything you invent (`recipe`, `workout`, `interview`, …).
232
171
 
233
172
  ```bash
234
- prjct login # Browser-based OTP authentication
235
- prjct sync # Bidirectional push/pull with prjct cloud
173
+ prjct remember decision "we chose SQLite because app is local"
174
+ prjct capture "check why webhook retries on 502"
175
+ prjct memory list --type insight --since 2026-04-01
176
+ prjct memory similar "auth refresh"
236
177
  ```
237
178
 
238
- Cloud sync enables:
239
- - Cross-device project state synchronization
240
- - Event-sourced bidirectional push/pull
241
- - Automatic sync on task completion
179
+ Memory is FTS5-backed (SQLite), persona-filtered by default, and regenerated into an Obsidian-compatible wiki at `.prjct/wiki/_generated/` on each `remember` / `ship` / `sync`.
242
180
 
243
- ## Obsidian Integration
181
+ ## Workflows
244
182
 
245
- Use Obsidian as your project management tool with Kanban boards, dashboards, and knowledge base.
183
+ Workflow slots declared by packs are **empty scripts**. You (or the agent) fill them:
246
184
 
247
185
  ```bash
248
- prjct obsidian setup --vault-path ~/Obsidian/my-vault # Link project to vault
249
- prjct obsidian export # Export data to vault
250
- prjct obsidian status # Check config
186
+ prjct workflow list # shows `ship (unassigned)`, `review (unassigned)`,
187
+ prjct workflow edit ship # opens in $EDITOR
188
+
189
+ # Or: ask the agent — "Claude, author me a ship.sh for investor updates"
190
+ # It reads the pack manifest + memory, authors the script, you approve.
251
191
  ```
252
192
 
253
- Features:
254
- - **Kanban board** with Obsidian Kanban plugin (per-project filtered views)
255
- - **Dataview dashboards** (active sprint, backlog, stats, by project/priority)
256
- - **Canvas roadmap** with dependency arrows between features
257
- - **Daily standup notes** with task progress and queue
258
- - **8 MCP tools** for AI agents to read, write, search, and import vault notes
259
- - **`_insights.md`** generated by LLM on each `p. sync` (architecture, risks, progress)
260
- - **Tags** for Graph View coloring (status, priority, labels, project)
261
- - **Security**: path traversal prevention, extension whitelist, blocked directories
193
+ Three step types beyond plain bash actions:
262
194
 
263
- ## Issue Tracker Integration
195
+ - `script:<path>` runs `.prjct/workflows/<path>.sh` with `PRJCT_BRANCH`, `PRJCT_FILES_CHANGED`, `PRJCT_TAGS` in env.
196
+ - `mcp:<server>:<tool>` — calls an MCP tool and passes the result to the next step.
197
+ - `persona:context` — re-injects the persona block mid-workflow.
264
198
 
265
- Issue trackers are configured via MCP (OAuth in your AI client), not API tokens.
199
+ Declarative `when_expr` filters (`tags:key=value`, `branch~main`, `files:*.ts`) survived the v2 sweep the bilingual NL parser did not.
266
200
 
267
- ```bash
268
- # Linear
269
- prjct linear setup # Configure Linear MCP server
270
- prjct linear status # Verify config
271
- # Then use: p. linear sync|list|get|create|update|start|done|comment
272
-
273
- # Jira
274
- prjct jira setup # Configure Jira MCP server
275
- prjct jira status # Verify config
276
- # Then use: p. jira sync|list|get|create|update|start|done|transition|comment
277
- ```
201
+ ## Code Intelligence
202
+
203
+ `prjct sync` builds three indexes:
278
204
 
279
- ## Analysis Verification
205
+ | Index | Purpose |
206
+ |---|---|
207
+ | BM25 | Full-text search over names, symbols, comments |
208
+ | Import graph | Forward + reverse dependency edges |
209
+ | Git co-change | Files that change together |
210
+
211
+ These power `prjct_related`, `prjct_impact`, and `prjct_stale` in the MCP.
212
+
213
+ ## Web Dashboard
280
214
 
281
215
  ```bash
282
- prjct verify # Cryptographic: hash signature integrity
283
- prjct verify --semantic # Semantic: frameworks, languages, file counts match reality
216
+ prjct serve
284
217
  ```
285
218
 
286
- Both modes support `--json` for programmatic use.
219
+ Hono-based HTTP server on port 3478. REST API for tasks / ideas / roadmap / shipped, SSE for real-time updates, status bar endpoint for IDE integration.
220
+
221
+ ## Issue Tracker Integration
222
+
223
+ Bring your own MCP — prjct doesn't duplicate trackers.
224
+
225
+ - **Linear**: configure the official Linear MCP in your agent, declare it in `persona.mcps`.
226
+ - **Jira**: same — use the official Atlassian MCP.
227
+ - The `linear` and `jira` CLI sub-commands are v1 helpers kept for backwards compat; MCP is the v2 path.
287
228
 
288
229
  ## Environment Variables
289
230
 
290
231
  | Variable | Default | Description |
291
- |----------|---------|-------------|
292
- | `PRJCT_CLI_HOME` | `~/.prjct-cli` | Override global storage location |
293
- | `PRJCT_DEBUG` | _(unset)_ | Enable debug logging (`1`, `true`, or log level) |
294
- | `DEBUG` | _(unset)_ | Fallback debug flag (`1`, `true`, or `prjct`) |
295
- | `CI` | _(unset)_ | Set in CI environments; skips interactive prompts |
232
+ |---|---|---|
233
+ | `PRJCT_CLI_HOME` | `~/.prjct-cli` | Override global storage |
234
+ | `PRJCT_DEBUG` | | Enable debug logging (`1`, `true`, log level) |
235
+ | `PRJCT_NO_DAEMON` | | Force non-daemon path (debugging) |
236
+ | `DEBUG` | | Fallback debug flag |
237
+ | `CI` | — | Skips interactive prompts |
296
238
 
297
239
  ## Architecture
298
240
 
299
241
  ```
300
242
  prjct-cli/
243
+ bin/prjct Thin JS shim (daemon-first)
301
244
  core/
302
- commands/ # CLI command handlers
303
- domain/ # BM25, import graph, co-change, velocity
304
- infrastructure/ # Config, path manager, AI provider detection
305
- mcp/ # MCP server (56 tools)
306
- schemas/ # Zod schemas (PRD, model, etc.)
307
- server/ # Hono HTTP server + SSE
308
- services/ # Memory, sync, code intel, skills, doctor
309
- storage/ # SQLite via better-sqlite3
310
- sync/ # Cloud sync client + event mapping
311
- types/ # TypeScript type definitions
312
- utils/ # Shared utilities
313
- templates/ # Skill templates per editor
245
+ commands/ CLI command handlers
246
+ hooks/ 7 passive Claude Code hook subcommands
247
+ packs/ Pack manifests + pack-manager
248
+ mcp/ MCP server (5 tool groups)
249
+ memory/ projectMemory (v2 unified surface)
250
+ workflow/ Engine + state-machine + when-evaluator
251
+ domain/ BM25, import-graph, git-cochange
252
+ services/ sync, skill-generator, wiki-generator
253
+ storage/ SQLite (one DB per project)
254
+ schemas/ Zod source of truth
255
+ daemon/ Background daemon (file watching)
256
+ server/ Hono HTTP + SSE
257
+ sync/ Cloud sync client
258
+ templates/
259
+ packs/ JSON pack manifests
260
+ global/ Per-editor router templates
314
261
  ```
315
262
 
316
263
  ## Requirements
317
264
 
318
- - Node.js 18+ or Bun 1.0+
319
- - One of: Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, or Windsurf
265
+ - Node.js 22.22.2+ or Bun 1.0+
266
+ - One of: Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, Windsurf
320
267
 
321
268
  ## Links
322
269
 
323
270
  - [Website](https://prjct.app)
324
271
  - [GitHub](https://github.com/jlopezlira/prjct-cli)
325
272
  - [npm](https://www.npmjs.com/package/prjct-cli)
273
+ - [Changelog](CHANGELOG.md)
326
274
 
327
275
  ## License
328
276
 
@@ -3,9 +3,7 @@
3
3
  "theme": "default",
4
4
  "cacheTTL": {
5
5
  "prjct": 30,
6
- "git": 5,
7
- "linear": 60,
8
- "jira": 60
6
+ "git": 5
9
7
  },
10
8
  "components": {
11
9
  "prjct_icon": {
@@ -17,17 +15,6 @@
17
15
  "position": 1,
18
16
  "maxLength": 25
19
17
  },
20
- "linear": {
21
- "enabled": true,
22
- "position": 2,
23
- "showPriority": true
24
- },
25
- "jira": {
26
- "enabled": false,
27
- "position": 2,
28
- "showPriority": true,
29
- "showStatus": false
30
- },
31
18
  "dir": {
32
19
  "enabled": true,
33
20
  "position": 3