prjct-cli 1.52.3 → 1.54.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 +21 -0
- package/README.md +180 -166
- package/dist/bin/prjct-core.mjs +304 -295
- package/dist/daemon/entry.mjs +328 -319
- package/dist/mcp/server.mjs +145 -141
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.54.0] - 2026-04-05
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- multi-agent parallel sessions with auto-worktree isolation (#237)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- guard feedback array spreads preventing s.push crash (#236)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.53.1] - 2026-04-04
|
|
15
|
+
|
|
16
|
+
### Docs
|
|
17
|
+
- update README with full command reference, Windsurf support, MCP server, parallel sessions, code intelligence, web dashboard, cloud sync, and architecture overview
|
|
18
|
+
|
|
19
|
+
## [1.52.4] - 2026-03-26
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
- fix: guard feedback array spreads with `Array.isArray()` in `getAggregatedFeedback` — prevents `s.push is not a function` crash when stored feedback contains non-array values
|
|
23
|
+
|
|
3
24
|
## [1.52.3] - 2026-03-08
|
|
4
25
|
|
|
5
26
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
**Context layer for AI coding agents.**
|
|
4
4
|
|
|
5
|
-
Works with Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, and more.
|
|
5
|
+
Works with Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, Windsurf, and more.
|
|
6
6
|
|
|
7
7
|
[](CLAUDE.md)
|
|
8
8
|
[]()
|
|
9
9
|
[]()
|
|
10
10
|
[]()
|
|
11
11
|
[]()
|
|
12
|
+
[]()
|
|
12
13
|
[](https://www.npmjs.com/package/prjct-cli)
|
|
13
14
|
|
|
14
15
|
## What is prjct?
|
|
@@ -17,18 +18,18 @@ prjct gives AI coding agents the context they need about your project. It mainta
|
|
|
17
18
|
|
|
18
19
|
```
|
|
19
20
|
Your AI Agent prjct
|
|
20
|
-
(Claude/Gemini/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Writes code with full context
|
|
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 |
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
## Install
|
|
@@ -52,232 +53,245 @@ prjct init
|
|
|
52
53
|
# 3. Open in Claude Code, Gemini CLI, or Codex and use:
|
|
53
54
|
p. sync # Analyze project
|
|
54
55
|
p. task "add user auth" # Start a task
|
|
55
|
-
p. done # Complete
|
|
56
|
+
p. done # Complete task
|
|
56
57
|
p. ship # Ship with PR
|
|
57
58
|
```
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
### Google Antigravity
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
# 1. One-time global setup (installs prjct as a skill)
|
|
65
|
-
prjct start
|
|
66
|
-
|
|
67
|
-
# 2. Initialize your project
|
|
68
|
-
cd my-project
|
|
69
|
-
prjct init
|
|
70
|
-
|
|
71
|
-
# 3. Open in Antigravity and use:
|
|
72
|
-
p. sync # Analyze project
|
|
73
|
-
p. task "add user auth" # Start a task
|
|
74
|
-
p. done # Complete subtask
|
|
75
|
-
p. ship # Ship with PR
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
> **Note:** prjct integrates as a Skill (not MCP server) for zero-overhead operation.
|
|
79
|
-
|
|
80
|
-
### Cursor IDE
|
|
60
|
+
### Cursor IDE / Windsurf
|
|
81
61
|
|
|
82
62
|
```bash
|
|
83
63
|
# 1. Initialize your project (no global setup needed)
|
|
84
64
|
cd my-project
|
|
85
65
|
prjct init
|
|
86
66
|
|
|
87
|
-
# 2. Open in Cursor and use:
|
|
67
|
+
# 2. Open in Cursor or Windsurf and use:
|
|
88
68
|
/sync # Analyze project
|
|
89
69
|
/task "add user auth" # Start a task
|
|
90
|
-
/done # Complete
|
|
70
|
+
/done # Complete task
|
|
91
71
|
/ship # Ship with PR
|
|
92
72
|
```
|
|
93
73
|
|
|
94
|
-
>
|
|
74
|
+
> Cursor uses `.cursor/commands/`, Windsurf uses `.windsurf/` with YAML frontmatter. Run `/sync` to regenerate if deleted.
|
|
95
75
|
|
|
96
76
|
### Core Workflow
|
|
97
77
|
|
|
98
78
|
```
|
|
99
|
-
Claude/Gemini/Codex
|
|
100
|
-
Cursor:
|
|
79
|
+
Claude/Gemini/Codex: p. sync -> p. task "..." -> [code] -> p. done -> p. ship
|
|
80
|
+
Cursor/Windsurf: /sync -> /task "..." -> [code] -> /done -> /ship
|
|
101
81
|
```
|
|
102
82
|
|
|
103
83
|
## How It Works
|
|
104
84
|
|
|
105
|
-
| Component | Claude Code | Gemini CLI | OpenAI Codex | Antigravity | Cursor IDE |
|
|
106
|
-
|
|
107
|
-
| Router | `~/.claude/commands/p.md` | `~/.gemini/commands/p.toml` |
|
|
108
|
-
| Config | `~/.claude/CLAUDE.md` | `~/.gemini/GEMINI.md` | `AGENTS.md` | `~/.gemini/antigravity/skills/prjct/` | `.cursor/rules/prjct.mdc` |
|
|
109
|
-
| Storage | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` | `~/.prjct-cli/projects/` |
|
|
110
|
-
|
|
|
111
|
-
| Syntax | `p. command` | `p. command` | `p. command` | `p. command` | `/command` |
|
|
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` |
|
|
112
91
|
|
|
113
|
-
All agents share the same project storage, so you can switch between them freely.
|
|
92
|
+
All agents share the same SQLite-backed project storage, so you can switch between them freely.
|
|
114
93
|
|
|
115
94
|
## Commands
|
|
116
95
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
|
96
|
+
### Core Workflow
|
|
97
|
+
|
|
98
|
+
| Claude/Gemini | Cursor/Windsurf | Description |
|
|
99
|
+
|---------------|-----------------|-------------|
|
|
100
|
+
| `p. sync` | `/sync` | Analyze project, build indexes, generate skills |
|
|
120
101
|
| `p. task "desc"` | `/task "desc"` | Start task with auto-classification |
|
|
121
|
-
| `p. done` | `/done` | Complete current
|
|
102
|
+
| `p. done` | `/done` | Complete current task |
|
|
122
103
|
| `p. ship "name"` | `/ship "name"` | Ship feature with PR + version bump |
|
|
123
104
|
| `p. pause` | `/pause` | Pause current task |
|
|
124
105
|
| `p. resume` | `/resume` | Resume paused task |
|
|
125
|
-
| `p.
|
|
126
|
-
| `p.
|
|
127
|
-
| `p.
|
|
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 |
|
|
128
112
|
|
|
129
|
-
|
|
113
|
+
### Analysis & Performance
|
|
130
114
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
|
134
129
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
141
|
|
|
142
|
-
|
|
143
|
-
- **Bounded**: Maximum 20 entries with FIFO (First-In-First-Out) eviction
|
|
144
|
-
- **Contextual**: Filtered by task type when starting similar work
|
|
145
|
-
- **Persistent**: Survives across sessions and agent types
|
|
142
|
+
### Parallel Agent Sessions
|
|
146
143
|
|
|
147
|
-
|
|
144
|
+
Run multiple AI agents on different tasks simultaneously, each in an isolated git worktree.
|
|
148
145
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
146
|
+
| Command | Description |
|
|
147
|
+
|---------|-------------|
|
|
148
|
+
| `p. parallel spawn "task"` | Spawn agent in isolated worktree |
|
|
149
|
+
| `p. parallel status` | Show all active agents |
|
|
150
|
+
| `p. parallel join` | Merge completed branches back |
|
|
151
|
+
| `p. worktree create` | Create worktree (auto-copies .env, installs deps) |
|
|
152
|
+
| `p. worktree list` | List active worktrees |
|
|
153
|
+
| `p. worktree remove` | Clean up completed worktrees |
|
|
154
|
+
| `p. conductor init` | Scaffold Conductor.build integration |
|
|
153
155
|
|
|
154
|
-
|
|
156
|
+
## CLI Commands
|
|
155
157
|
|
|
156
|
-
|
|
157
|
-
import { stateStorage } from './storage/state-storage'
|
|
158
|
+
Commands you run directly in the terminal (outside your AI agent):
|
|
158
159
|
|
|
159
|
-
|
|
160
|
-
|
|
160
|
+
```bash
|
|
161
|
+
prjct start # First-time setup wizard
|
|
162
|
+
prjct init # Initialize project
|
|
163
|
+
prjct sync # Analyze project and build indexes
|
|
164
|
+
prjct doctor # Check system health and dependencies
|
|
165
|
+
prjct serve # Start web dashboard (port 3478)
|
|
166
|
+
prjct watch # Auto-sync on file changes
|
|
167
|
+
prjct hooks # Manage git hooks for auto-sync
|
|
168
|
+
prjct context # Smart context filtering tools
|
|
169
|
+
prjct enrich # Prepare issue enrichment context
|
|
170
|
+
prjct linear # Linear MCP gateway
|
|
171
|
+
prjct jira # Jira MCP gateway
|
|
172
|
+
prjct login # Authenticate with prjct cloud (opens browser)
|
|
173
|
+
prjct logout # Sign out from prjct cloud
|
|
174
|
+
prjct update # Update CLI system-wide
|
|
175
|
+
prjct stop # Stop the background daemon
|
|
176
|
+
prjct restart # Restart the background daemon
|
|
177
|
+
prjct uninstall # Complete system removal
|
|
178
|
+
prjct --version # Show version + provider status
|
|
179
|
+
prjct --help # Show help
|
|
180
|
+
```
|
|
161
181
|
|
|
162
|
-
|
|
163
|
-
const recent = await stateStorage.getMostRecentTask(projectId)
|
|
182
|
+
## Code Intelligence
|
|
164
183
|
|
|
165
|
-
|
|
166
|
-
const bugs = await stateStorage.getTaskHistoryByType(projectId, 'bug')
|
|
167
|
-
const features = await stateStorage.getTaskHistoryByType(projectId, 'feature')
|
|
168
|
-
```
|
|
184
|
+
`prjct sync` builds a triple-index system over your codebase:
|
|
169
185
|
|
|
170
|
-
|
|
186
|
+
| Index | Purpose |
|
|
187
|
+
|-------|---------|
|
|
188
|
+
| **BM25** | Full-text search over file names, symbols, comments |
|
|
189
|
+
| **Import Graph** | Dependency graph with forward and reverse edges |
|
|
190
|
+
| **Git Co-change** | Files that frequently change together |
|
|
171
191
|
|
|
172
|
-
|
|
173
|
-
prjct start # First-time setup (Claude/Gemini/Codex skill install)
|
|
174
|
-
prjct init # Initialize project (+ AI tool setup)
|
|
175
|
-
prjct sync # Analyze project and generate context
|
|
176
|
-
prjct verify # Verify analysis integrity (cryptographic)
|
|
177
|
-
prjct verify --semantic # Verify analysis consistency (semantic)
|
|
178
|
-
prjct --version # Show version + provider status
|
|
179
|
-
prjct --help # Show help
|
|
180
|
-
```
|
|
192
|
+
These indexes power file ranking, impact analysis, and related-context suggestions for your AI agent.
|
|
181
193
|
|
|
182
|
-
|
|
194
|
+
## MCP Server
|
|
183
195
|
|
|
184
|
-
prjct
|
|
196
|
+
prjct exposes an MCP server with tools that AI agents can call directly:
|
|
185
197
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
198
|
+
| Category | Tools | Examples |
|
|
199
|
+
|----------|-------|---------|
|
|
200
|
+
| **Memory** | 8 | Save/search memories, record decisions, manage preferences |
|
|
201
|
+
| **Session** | 4 | Start sessions, recover context, record outcomes |
|
|
202
|
+
| **Code Intelligence** | 3 | Impact analysis, related files, staleness check |
|
|
203
|
+
| **Workflow** | 4 | Task and session management |
|
|
204
|
+
| **File** | 3 | File reading and filtering |
|
|
205
|
+
| **Pattern** | 3 | Pattern extraction and matching |
|
|
206
|
+
| **Review** | 3 | Code review context |
|
|
207
|
+
| **Project** | 4 | Project-level operations |
|
|
190
208
|
|
|
191
|
-
|
|
192
|
-
- Analysis data hasn't been tampered with
|
|
193
|
-
- Sealed analysis matches the original analysis
|
|
194
|
-
- Hash signatures are valid
|
|
209
|
+
The memory system uses FTS5 full-text search, tracks decision outcomes ("did this work before?"), and auto-captures patterns during normal workflow.
|
|
195
210
|
|
|
196
|
-
|
|
211
|
+
## Web Dashboard
|
|
197
212
|
|
|
198
|
-
#### Semantic Verification (PRJ-270)
|
|
199
213
|
```bash
|
|
200
|
-
prjct
|
|
214
|
+
prjct serve
|
|
201
215
|
```
|
|
202
216
|
|
|
203
|
-
|
|
204
|
-
- ✓ **Frameworks** exist in `package.json` dependencies
|
|
205
|
-
- ✓ **Languages** match actual file extensions (.ts → TypeScript)
|
|
206
|
-
- ✓ **Pattern locations** reference real files in the project
|
|
207
|
-
- ✓ **File count** is accurate (within 10% tolerance)
|
|
208
|
-
- ✓ **Anti-pattern files** exist when referenced
|
|
217
|
+
Starts an HTTP server on port 3478 with:
|
|
209
218
|
|
|
210
|
-
|
|
219
|
+
- REST API for project state, task queue, ideas, roadmap, shipped features
|
|
220
|
+
- SSE (Server-Sent Events) for real-time updates
|
|
221
|
+
- Status bar endpoint for IDE integration (`/api/status-bar/compact`)
|
|
222
|
+
- Global statistics across all projects
|
|
211
223
|
|
|
212
|
-
|
|
213
|
-
```
|
|
214
|
-
Semantic Verification Report
|
|
215
|
-
────────────────────────────
|
|
216
|
-
✓ Framework verification: passed (2 frameworks validated)
|
|
217
|
-
✓ Language verification: passed (1 language validated)
|
|
218
|
-
✓ Pattern locations: passed (12 patterns verified)
|
|
219
|
-
✓ File count verification: passed (324 files, within tolerance)
|
|
220
|
-
✓ Anti-pattern files: passed (3 anti-patterns verified)
|
|
221
|
-
|
|
222
|
-
Result: PASSED (5/5 checks)
|
|
223
|
-
Total time: 145ms
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
Both verification modes support `--json` flag for programmatic use.
|
|
224
|
+
Built with Hono, supports both Bun and Node.js runtimes.
|
|
227
225
|
|
|
228
|
-
##
|
|
226
|
+
## Cloud Sync
|
|
229
227
|
|
|
230
|
-
|
|
228
|
+
```bash
|
|
229
|
+
prjct login # Browser-based OTP authentication
|
|
230
|
+
prjct sync # Bidirectional push/pull with prjct cloud
|
|
231
|
+
```
|
|
231
232
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
| `DEBUG` | _(unset)_ | Fallback debug flag (used if `PRJCT_DEBUG` is not set). Values: `1`, `true`, or `prjct`. |
|
|
237
|
-
| `CI` | _(unset)_ | Set automatically in CI environments. Skips interactive prompts. |
|
|
233
|
+
Cloud sync enables:
|
|
234
|
+
- Cross-device project state synchronization
|
|
235
|
+
- Event-sourced bidirectional push/pull
|
|
236
|
+
- Automatic sync on task completion
|
|
238
237
|
|
|
239
|
-
|
|
238
|
+
## Issue Tracker Integration
|
|
240
239
|
|
|
241
240
|
Issue trackers are configured via MCP (OAuth in your AI client), not API tokens.
|
|
242
241
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
242
|
+
```bash
|
|
243
|
+
# Linear
|
|
244
|
+
prjct linear setup # Configure Linear MCP server
|
|
245
|
+
prjct linear status # Verify config
|
|
246
|
+
# Then use: p. linear sync|list|get|create|update|start|done|comment
|
|
247
|
+
|
|
248
|
+
# Jira
|
|
249
|
+
prjct jira setup # Configure Jira MCP server
|
|
250
|
+
prjct jira status # Verify config
|
|
251
|
+
# Then use: p. jira sync|list|get|create|update|start|done|transition|comment
|
|
252
|
+
```
|
|
251
253
|
|
|
252
|
-
|
|
254
|
+
## Analysis Verification
|
|
253
255
|
|
|
254
|
-
|
|
256
|
+
```bash
|
|
257
|
+
prjct verify # Cryptographic: hash signature integrity
|
|
258
|
+
prjct verify --semantic # Semantic: frameworks, languages, file counts match reality
|
|
259
|
+
```
|
|
255
260
|
|
|
256
|
-
|
|
257
|
-
|----------|-------------|
|
|
258
|
-
| `CLAUDE_AGENT` | Set when running inside Claude Code. |
|
|
259
|
-
| `ANTHROPIC_CLAUDE` | Alternative Claude environment indicator. |
|
|
260
|
-
| `MCP_AVAILABLE` | Set when MCP (Model Context Protocol) is available. |
|
|
261
|
-
| `HOME` / `USERPROFILE` | Standard OS home directory (used for path resolution). |
|
|
261
|
+
Both modes support `--json` for programmatic use.
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
## Environment Variables
|
|
264
264
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
| Variable | Default | Description |
|
|
266
|
+
|----------|---------|-------------|
|
|
267
|
+
| `PRJCT_CLI_HOME` | `~/.prjct-cli` | Override global storage location |
|
|
268
|
+
| `PRJCT_DEBUG` | _(unset)_ | Enable debug logging (`1`, `true`, or log level) |
|
|
269
|
+
| `DEBUG` | _(unset)_ | Fallback debug flag (`1`, `true`, or `prjct`) |
|
|
270
|
+
| `CI` | _(unset)_ | Set in CI environments; skips interactive prompts |
|
|
268
271
|
|
|
269
|
-
|
|
270
|
-
PRJCT_CLI_HOME=/tmp/prjct-test prjct init
|
|
272
|
+
## Architecture
|
|
271
273
|
|
|
272
|
-
|
|
273
|
-
prjct
|
|
274
|
-
|
|
274
|
+
```
|
|
275
|
+
prjct-cli/
|
|
276
|
+
core/
|
|
277
|
+
commands/ # CLI command handlers
|
|
278
|
+
domain/ # BM25, import graph, co-change, velocity
|
|
279
|
+
infrastructure/ # Config, path manager, AI provider detection
|
|
280
|
+
mcp/ # MCP server (48 tools)
|
|
281
|
+
schemas/ # Zod schemas (PRD, model, etc.)
|
|
282
|
+
server/ # Hono HTTP server + SSE
|
|
283
|
+
services/ # Memory, sync, code intel, skills, doctor
|
|
284
|
+
storage/ # SQLite via better-sqlite3
|
|
285
|
+
sync/ # Cloud sync client + event mapping
|
|
286
|
+
types/ # TypeScript type definitions
|
|
287
|
+
utils/ # Shared utilities
|
|
288
|
+
templates/ # Skill templates per editor
|
|
275
289
|
```
|
|
276
290
|
|
|
277
291
|
## Requirements
|
|
278
292
|
|
|
279
293
|
- Node.js 18+ or Bun 1.0+
|
|
280
|
-
- One of: Claude Code, Gemini CLI, Antigravity,
|
|
294
|
+
- One of: Claude Code, Gemini CLI, OpenAI Codex, Antigravity, Cursor IDE, or Windsurf
|
|
281
295
|
|
|
282
296
|
## Links
|
|
283
297
|
|