@cliangdev/conductor 0.1.4 → 0.2.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.
@@ -164,6 +164,7 @@ Write the file directly using the Write tool to `.conductor/issues/{issueId}/tas
164
164
  "issue_id": "{issueId}",
165
165
  "issue_title": "{issue title from PRD}",
166
166
  "created_at": "{ISO timestamp}",
167
+ "schema_version": 2,
167
168
  "status": "PENDING",
168
169
  "epics": [
169
170
  {
@@ -181,6 +182,17 @@ Write the file directly using the Write tool to `.conductor/issues/{issueId}/tas
181
182
  "complexity": "small",
182
183
  "depends_on": [],
183
184
  "status": "PENDING",
185
+ "files_owned": ["conductor-backend/src/main/resources/db/migration/V42__add_reviews.sql"],
186
+ "covers_acs": ["AC-P0-1.1"],
187
+ "contract": {
188
+ "input": "A Flyway migration script applied against the existing schema",
189
+ "output": "A `reviews` table with columns id, issue_id, reviewer_id, decision, created_at and the matching FK indexes",
190
+ "invariant": "Migration is idempotent under Flyway's checksum (no retroactive edits once shipped); existing tables untouched"
191
+ },
192
+ "test_plan": [
193
+ "Apply migration on a fresh test DB and assert `reviews` table exists with expected columns",
194
+ "Re-running `mvn flyway:migrate` is a no-op (validate checksum stable)"
195
+ ],
184
196
  "criteria": [
185
197
  {
186
198
  "text": "Specific verifiable outcome",
@@ -197,6 +209,16 @@ Write the file directly using the Write tool to `.conductor/issues/{issueId}/tas
197
209
 
198
210
  Valid values: `status` — `PENDING | IN_PROGRESS | COMPLETED | BLOCKED`; `priority` — `HIGH | MEDIUM | LOW`; `complexity` — `small | medium | large`; `type` — `auto | manual`.
199
211
 
212
+ **v2 required fields** (top-level `schema_version: 2`): every task must additionally carry
213
+ - `files_owned` — string array of repo-relative paths the task is authorized to edit (≥1 entry)
214
+ - `covers_acs` — string array of AC IDs from the PRD in the form `AC-P{0|1}-{n}.{m}` (≥1 entry; each ID must reference a real AC in the PRD)
215
+ - `contract` — object with non-empty string fields `input`, `output`, `invariant` describing the task boundary
216
+ - `test_plan` — string array of short test descriptions (NOT pseudocode; ≥1 entry)
217
+
218
+ The existing task fields (`id`, `title`, `description`, `priority`, `complexity`, `depends_on`, `status`, `criteria`) are preserved unchanged in v2; the criteria entry shape (`text` / `type` / `met`) is also unchanged.
219
+
220
+ **v1 fallback**: tasks files without a top-level `schema_version` (i.e. legacy v1) load and run unchanged; the orchestrator skips file-conflict detection for them (see Step 5) and does not require the four new fields.
221
+
200
222
  ---
201
223
 
202
224
  ## Step 4 — Git Branch Setup
@@ -253,6 +275,14 @@ Group independent tasks (no unresolved dependencies, no file-level conflicts) in
253
275
 
254
276
  Tasks with `depends_on` within the same epic always run sequentially (wait for dependency to complete first).
255
277
 
278
+ ### File-conflict check
279
+
280
+ Before dispatching a batch, compute the union of `files_owned` across tasks in the batch. If any path appears more than once, split the batch into sequential sub-batches.
281
+
282
+ When splitting, place the conflicting tasks in different sub-batches such that each sub-batch's `files_owned` union has no duplicates; sub-batches then run one after another (the second sub-batch waits for the first to complete).
283
+
284
+ For v1 tasks (no top-level `schema_version`, or no `files_owned` on tasks), behavior falls back to the existing heuristic-based grouping — the file-conflict check is skipped and v1 batches are formed from the complexity table above without change.
285
+
256
286
  ### Subagent Dispatch
257
287
 
258
288
  For each batch, spawn `conductor-coder` subagents in parallel using the Agent tool. The conductor-coder skill is defined at `conductor-tools/assets/claude/skills/conductor-coder/SKILL.md` and handles stack detection internally. Pass each agent this prompt:
@@ -100,7 +100,13 @@ Use AskUserQuestion:
100
100
  Write the PRD using the format below. Target 1-2 pages — keep it concise enough to review in under 5 minutes.
101
101
 
102
102
  **Guidelines:**
103
- - Every P0 feature must include the What/Not pattern and at least one testable acceptance criterion
103
+ - Frontmatter MUST include `schemaVersion: 2`
104
+ - The seven required H2 sections must appear in this exact order: `Problem`, `Glossary`, `Goals`, `Non-Goals`, `Users`, `Reference Patterns`, `Features`
105
+ - If `Glossary` or `Reference Patterns` truly has nothing to add, write `_None._` rather than omitting the section
106
+ - Features get stable IDs that restart within each priority: `P0-1`, `P0-2`, ... and `P1-1`, `P1-2`, ...
107
+ - Every P0 feature must include all six bold-prefix lines: `**What**`, `**Not**`, `**Inputs**`, `**Outputs**`, `**Invariants**`, `**Acceptance Criteria**`
108
+ - For P0 features with no exclusions, write `**Not**: _None._` rather than omitting the line; P1 features may omit `Not`
109
+ - Every acceptance criterion line gets a stable ID matching the regex `^AC-P[01]-\d+\.\d+$` (e.g. `AC-P0-1.1`, `AC-P1-2.3`); AC IDs must be unique within the PRD
104
110
  - Acceptance criteria should be verifiable: use "Given/When/Then" or measurable thresholds — not vague descriptions like "works correctly"
105
111
  - Keep technical implementation details out of the main PRD (they go in `architecture.md`)
106
112
  - Keep edge cases out of the main PRD (they go in implementation specs)
@@ -113,6 +119,7 @@ Write the PRD using the format below. Target 1-2 pages — keep it concise enoug
113
119
  issueId: {issueId}
114
120
  title: {title}
115
121
  createdAt: {ISO timestamp}
122
+ schemaVersion: 2
116
123
  ---
117
124
 
118
125
  # {title}
@@ -120,6 +127,12 @@ createdAt: {ISO timestamp}
120
127
  ## Problem
121
128
  {2-3 sentences: what hurts, for whom, and how we know}
122
129
 
130
+ ## Glossary
131
+ - **{Term}**: {project-specific definition, distinguishing it from generic usage}
132
+ - **{Term}**: {definition}
133
+
134
+ (If truly nothing to define, write `_None._`)
135
+
123
136
  ## Goals
124
137
  - {Measurable outcome 1}
125
138
  - {Measurable outcome 2}
@@ -131,22 +144,41 @@ createdAt: {ISO timestamp}
131
144
  ## Users
132
145
  {Target users and their primary needs — 2-4 sentences}
133
146
 
147
+ ## Reference Patterns
148
+ - **{Aspect}**: {existing file or convention to mirror, e.g. "follow `src/commands/doctor.ts` — same Commander registration, `--json` output mode, exit codes"}
149
+ - **{Aspect}**: {pattern}
150
+
151
+ (If truly no reference patterns apply, write `_None._`)
152
+
134
153
  ## Features
135
154
 
136
155
  ### P0: Must Have
137
156
 
138
- #### {Feature Name}
157
+ #### P0-1: {Feature Name}
139
158
  - **What**: {precise scope in 1 sentence}
140
- - **Not**: {explicit exclusions}
159
+ - **Not**: {explicit exclusions, or `_None._` if nothing is excluded}
160
+ - **Inputs**: {what triggers this feature / what data flows in}
161
+ - **Outputs**: {what artifact, response, or state change results}
162
+ - **Invariants**: {properties that must always hold — uniqueness, ordering, idempotency, etc.}
141
163
  - **Acceptance Criteria**:
142
- - [ ] {Given/When/Then or measurable threshold}
164
+ - [ ] `AC-P0-1.1` {Given/When/Then or measurable threshold}
165
+ - [ ] `AC-P0-1.2` {testable criterion}
166
+
167
+ #### P0-2: {Feature Name}
168
+ - **What**: {precise scope in 1 sentence}
169
+ - **Not**: _None._
170
+ - **Inputs**: {inputs}
171
+ - **Outputs**: {outputs}
172
+ - **Invariants**: {invariants}
173
+ - **Acceptance Criteria**:
174
+ - [ ] `AC-P0-2.1` {testable criterion}
143
175
 
144
176
  ### P1: Should Have
145
177
 
146
- #### {Feature Name}
178
+ #### P1-1: {Feature Name}
147
179
  - **What**: {precise scope in 1 sentence}
148
180
  - **Acceptance Criteria**:
149
- - [ ] {testable criterion}
181
+ - [ ] `AC-P1-1.1` {testable criterion}
150
182
 
151
183
  ### Out of Scope
152
184
  - {Item explicitly deferred}
@@ -158,7 +190,22 @@ createdAt: {ISO timestamp}
158
190
  {Links will be added here as supporting documents are created}
159
191
  ```
160
192
 
161
- ### 3c. Review
193
+ ### 3c. Self-Check
194
+
195
+ Before showing the PRD to the user in Step 3d, run through this checklist mentally and fix any items that fail. Do not skip — this is the gate that keeps schema v2 PRDs deterministic for downstream agents.
196
+
197
+ - [ ] Frontmatter contains `schemaVersion: 2`
198
+ - [ ] All seven H2 sections are present in this exact order: `Problem`, `Glossary`, `Goals`, `Non-Goals`, `Users`, `Reference Patterns`, `Features`
199
+ - [ ] `Glossary` and `Reference Patterns` are non-empty (either real entries, or the literal text `_None._`)
200
+ - [ ] Every P0 feature has all six bold-prefix lines: `**What**`, `**Not**`, `**Inputs**`, `**Outputs**`, `**Invariants**`, `**Acceptance Criteria**` (P0 features with no exclusions write `**Not**: _None._`)
201
+ - [ ] Every feature heading uses a stable ID — `P0-1`, `P0-2`, ... within P0; `P1-1`, `P1-2`, ... within P1 (numbering restarts per priority)
202
+ - [ ] Every acceptance criterion line matches the regex `^- \[[ x]\] \`AC-P[01]-\d+\.\d+\`` (the AC ID is wrapped in backticks immediately after the checkbox)
203
+ - [ ] Every AC ID is unique within the PRD (no two ACs share the same `AC-P{0|1}-{n}.{m}` token)
204
+ - [ ] AC IDs match their feature: a feature `P0-3` only has ACs of the form `AC-P0-3.{m}`
205
+
206
+ If any check fails, edit the draft until all pass, then proceed to 3d.
207
+
208
+ ### 3d. Review
162
209
 
163
210
  Present the full PRD and ask via AskUserQuestion:
164
211
  - "Save as-is" (Recommended)
@@ -21,6 +21,48 @@ Read all of it before writing any code.
21
21
 
22
22
  ---
23
23
 
24
+ ## Step 1.5: Validate task contract
25
+
26
+ Before doing anything else, verify the dispatched task carries a complete v2 contract. The task object MUST contain all five of the following fields with non-empty values:
27
+
28
+ - `contract.input` (string) — what this task receives as input
29
+ - `contract.output` (string) — what this task must produce
30
+ - `contract.invariant` (string) — what must remain true after this task
31
+ - `test_plan` (array, ≥1 entry) — concrete checks that prove the task is done
32
+ - `files_owned` (array, ≥1 entry) — the exhaustive list of file paths this task is allowed to edit
33
+
34
+ **Validation rules — no inference, no guessing:**
35
+
36
+ - Do NOT infer any of these fields from the task description, title, epic context, or PRD.
37
+ - Do NOT proceed to Step 2 if any required field is missing or empty.
38
+ - Do NOT silently fill in defaults.
39
+
40
+ **On any missing or empty field, immediately emit a BLOCKED report.** The blocker line MUST use this exact wording:
41
+
42
+ ```
43
+ task contract incomplete: {missing fields}
44
+ ```
45
+
46
+ where `{missing fields}` is a comma-separated list of the missing field names drawn from the set `{contract.input, contract.output, contract.invariant, test_plan, files_owned}`. For example:
47
+
48
+ ```
49
+ ## Task Blocked: {task.id}
50
+
51
+ Blocker: task contract incomplete: contract.input, files_owned
52
+
53
+ Attempted:
54
+ - contract validation in Step 1.5
55
+
56
+ Needs:
57
+ - task to be re-dispatched with the missing contract fields populated
58
+ ```
59
+
60
+ After emitting BLOCKED, stop. Do not continue to Step 2.
61
+
62
+ **v1 task fallback (backward compat):** If the task object has NONE of the v2 contract fields at all (no `contract`, no `test_plan`, no `files_owned`), treat it as a legacy v1 task: skip Step 1.5 entirely and proceed to Step 2 with the existing v1 behavior. The all-or-nothing rule prevents partial-contract tasks from slipping through — a task with `contract.input` but no `files_owned`, for instance, is a malformed v2 task and MUST emit BLOCKED, not fall back to v1.
63
+
64
+ ---
65
+
24
66
  ## Step 2: Detect Tech Stack
25
67
 
26
68
  Use Glob to check for stack indicator files in the project root. Check these in order:
@@ -106,6 +148,23 @@ Write the minimum code needed to make the tests pass. Follow the loaded stack sk
106
148
 
107
149
  Run tests after each meaningful change. Do not move on until all `[auto]` tests are green.
108
150
 
151
+ **File-scope rule (v2 contract tasks):** Edit only files listed in the task's `files_owned`. If implementation requires a file not in `files_owned`, emit BLOCKED with reason `out-of-scope file required: {path}` instead of editing it. The coder may not extend `files_owned` mid-task. This applies to both source files and any companion files (configs, fixtures, generated artifacts) discovered during implementation. If an out-of-scope edit is genuinely required, the task must be redispatched with an updated `files_owned`. (v1 tasks that fell through Step 1.5's backward-compat path are exempt from this rule, since they have no `files_owned`.)
152
+
153
+ Example BLOCKED report for an out-of-scope file:
154
+
155
+ ```
156
+ ## Task Blocked: {task.id}
157
+
158
+ Blocker: out-of-scope file required: src/lib/utils/parser.ts
159
+
160
+ Attempted:
161
+ - implementation per files_owned
162
+
163
+ Needs:
164
+ - task redispatched with src/lib/utils/parser.ts added to files_owned, OR
165
+ - a separate task to handle that file
166
+ ```
167
+
109
168
  **Code quality rules (always apply):**
110
169
  - Small, focused functions — one responsibility each
111
170
  - Dependencies injected, not hardcoded — enables testing
@@ -205,6 +264,13 @@ Needs:
205
264
  - `[auto]` — write a failing test first, implement until it passes
206
265
  - `[manual]` — document verification steps in commit body or code comment
207
266
 
267
+ ### Contract Validation (v2 tasks)
268
+
269
+ - All five fields required: `contract.input`, `contract.output`, `contract.invariant`, `test_plan` (≥1 entry), `files_owned` (≥1 entry)
270
+ - Missing → emit `task contract incomplete: {fields}` and STOP
271
+ - Out-of-scope file needed → emit `out-of-scope file required: {path}` and STOP
272
+ - Never extend `files_owned` mid-task; never infer missing contract fields
273
+
208
274
  ### Never
209
275
 
210
276
  - Commit without running tests
@@ -212,3 +278,5 @@ Needs:
212
278
  - Implement more than the acceptance criteria require
213
279
  - Skip the stack skill if it exists
214
280
  - Use `git add -A` or `git add .` — stage specific files by name
281
+ - Edit a file outside `files_owned` (v2 tasks) — emit BLOCKED instead
282
+ - Guess or infer missing contract fields — emit BLOCKED instead
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAOD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGvE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAQvD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8KnD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAOD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGvE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAQvD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6KnD"}
@@ -263,7 +263,6 @@ Examples:
263
263
  console.log(chalk.red('✗ Daemon failed to start — run `conductor start` to retry'));
264
264
  }
265
265
  printNextSteps();
266
- process.exit(0);
267
266
  });
268
267
  }
269
268
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Command } from 'commander';
2
+ interface PrdResult {
3
+ errors: string[];
4
+ warnings: string[];
5
+ acIds: string[];
6
+ isV2: boolean;
7
+ }
8
+ interface TasksResult {
9
+ errors: string[];
10
+ warnings: string[];
11
+ coveredAcs: Set<string>;
12
+ isV2: boolean;
13
+ }
14
+ export declare function parseFrontmatter(content: string): Record<string, string> | null;
15
+ export declare function validatePrd(content: string): PrdResult;
16
+ export declare function validateTasks(content: string, prdAcIds: string[]): TasksResult;
17
+ export declare function registerLint(program: Command): void;
18
+ export {};
19
+ //# sourceMappingURL=lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAyBnC,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;CACd;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAY/E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAuEtD;AA8ED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CA6E9E;AAkED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2GnD"}
@@ -0,0 +1,412 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { readConfig } from '../lib/config.js';
4
+ const REQUIRED_SECTIONS = [
5
+ 'Problem',
6
+ 'Glossary',
7
+ 'Goals',
8
+ 'Non-Goals',
9
+ 'Users',
10
+ 'Reference Patterns',
11
+ 'Features',
12
+ ];
13
+ const REQUIRED_FEATURE_LINES = [
14
+ '**What**',
15
+ '**Not**',
16
+ '**Inputs**',
17
+ '**Outputs**',
18
+ '**Invariants**',
19
+ '**Acceptance Criteria**',
20
+ ];
21
+ const AC_LINE_REGEX = /^- \[[ x]\] `AC-P[01]-\d+\.\d+`/;
22
+ const AC_ID_IN_LINE = /`(AC-P[01]-\d+\.\d+)`/;
23
+ export function parseFrontmatter(content) {
24
+ const lines = content.split(/\r?\n/);
25
+ if (lines[0] !== '---')
26
+ return null;
27
+ const result = {};
28
+ for (let i = 1; i < lines.length; i++) {
29
+ if (lines[i] === '---')
30
+ return result;
31
+ const match = lines[i].match(/^([A-Za-z_][\w-]*)\s*:\s*(.*)$/);
32
+ if (match) {
33
+ result[match[1]] = match[2].trim();
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ export function validatePrd(content) {
39
+ const errors = [];
40
+ const warnings = [];
41
+ const acIds = [];
42
+ const frontmatter = parseFrontmatter(content);
43
+ const schemaVersion = frontmatter ? frontmatter['schemaVersion'] : undefined;
44
+ if (schemaVersion !== '2') {
45
+ warnings.push('prd.md: schemaVersion: 1 — upgrade recommended');
46
+ return { errors, warnings, acIds, isV2: false };
47
+ }
48
+ const lines = content.split(/\r?\n/);
49
+ // Find H2 sections present
50
+ const presentSections = new Set();
51
+ for (const line of lines) {
52
+ const m = line.match(/^## (.+)$/);
53
+ if (m)
54
+ presentSections.add(m[1].trim());
55
+ }
56
+ for (const section of REQUIRED_SECTIONS) {
57
+ if (!presentSections.has(section)) {
58
+ errors.push(`prd.md: missing required section: ${section}`);
59
+ }
60
+ }
61
+ // Walk features grouped by priority. Contract-block check applies only to P0;
62
+ // AC line + ID collection applies to all features.
63
+ const features = collectFeatures(lines);
64
+ for (const feature of features) {
65
+ if (feature.priority === 'P0') {
66
+ for (const required of REQUIRED_FEATURE_LINES) {
67
+ const has = feature.body.some(l => l.includes(`- ${required}`) || l.includes(`${required}:`));
68
+ if (!has) {
69
+ errors.push(`prd.md: feature ${feature.heading}: missing required line: ${required}`);
70
+ }
71
+ }
72
+ }
73
+ const acLines = collectAcLines(feature.body);
74
+ for (const acLine of acLines) {
75
+ if (!AC_LINE_REGEX.test(acLine.trimEnd())) {
76
+ errors.push(`prd.md: feature ${feature.heading}: malformed acceptance criterion line: ${acLine.trim()}`);
77
+ }
78
+ }
79
+ }
80
+ // Collect AC IDs from declared AC lines only (lines inside an Acceptance
81
+ // Criteria block). Mentions of AC IDs in prose (Glossary, What lines, etc.)
82
+ // are not declarations.
83
+ const seen = new Set();
84
+ for (const feature of features) {
85
+ const acLines = collectAcLines(feature.body);
86
+ for (const line of acLines) {
87
+ const m = line.match(AC_ID_IN_LINE);
88
+ if (!m)
89
+ continue;
90
+ const id = m[1];
91
+ if (seen.has(id)) {
92
+ errors.push(`prd.md: duplicate AC id: ${id}`);
93
+ }
94
+ else {
95
+ seen.add(id);
96
+ acIds.push(id);
97
+ }
98
+ }
99
+ }
100
+ return { errors, warnings, acIds, isV2: true };
101
+ }
102
+ function collectFeatures(lines) {
103
+ const features = [];
104
+ let currentPriority = null;
105
+ let current = null;
106
+ const flush = () => {
107
+ if (current) {
108
+ features.push(current);
109
+ current = null;
110
+ }
111
+ };
112
+ for (const line of lines) {
113
+ const h3 = line.match(/^### (.+)$/);
114
+ if (h3) {
115
+ flush();
116
+ const m = h3[1].trim().match(/^(P\d+)\b/);
117
+ currentPriority = m ? m[1] : null;
118
+ continue;
119
+ }
120
+ const h4 = line.match(/^#### (.+)$/);
121
+ if (h4) {
122
+ flush();
123
+ if (currentPriority) {
124
+ current = { heading: h4[1].trim(), priority: currentPriority, body: [] };
125
+ }
126
+ continue;
127
+ }
128
+ const h2 = line.match(/^## (.+)$/);
129
+ if (h2) {
130
+ flush();
131
+ currentPriority = null;
132
+ continue;
133
+ }
134
+ if (current) {
135
+ current.body.push(line);
136
+ }
137
+ }
138
+ flush();
139
+ return features;
140
+ }
141
+ function collectAcLines(body) {
142
+ const out = [];
143
+ let inAc = false;
144
+ for (const line of body) {
145
+ if (/^- \*\*Acceptance Criteria\*\*/.test(line)) {
146
+ inAc = true;
147
+ continue;
148
+ }
149
+ if (inAc) {
150
+ // Stop when we hit a non-indented bullet that's a different field (starts with "- **" at column 0)
151
+ if (/^- \*\*/.test(line)) {
152
+ inAc = false;
153
+ continue;
154
+ }
155
+ // Indented AC lines start with at least two spaces and a dash
156
+ if (/^\s{2,}- /.test(line)) {
157
+ out.push(line.replace(/^\s+/, ''));
158
+ }
159
+ else if (line.trim() === '') {
160
+ // blank line — keep going (allow blank within block)
161
+ continue;
162
+ }
163
+ else if (/^#{1,4} /.test(line)) {
164
+ inAc = false;
165
+ }
166
+ }
167
+ }
168
+ return out;
169
+ }
170
+ export function validateTasks(content, prdAcIds) {
171
+ const errors = [];
172
+ const warnings = [];
173
+ const coveredAcs = new Set();
174
+ let parsed;
175
+ try {
176
+ parsed = JSON.parse(content);
177
+ }
178
+ catch (e) {
179
+ const msg = e instanceof Error ? e.message : String(e);
180
+ errors.push(`tasks.json: invalid JSON: ${msg}`);
181
+ return { errors, warnings, coveredAcs, isV2: false };
182
+ }
183
+ if (typeof parsed !== 'object' || parsed === null) {
184
+ errors.push('tasks.json: top-level value must be an object');
185
+ return { errors, warnings, coveredAcs, isV2: false };
186
+ }
187
+ const root = parsed;
188
+ const schemaVersion = root['schema_version'];
189
+ if (schemaVersion !== 2) {
190
+ return { errors, warnings, coveredAcs, isV2: false };
191
+ }
192
+ const prdAcSet = new Set(prdAcIds);
193
+ const epics = Array.isArray(root['epics']) ? root['epics'] : [];
194
+ for (const epic of epics) {
195
+ if (typeof epic !== 'object' || epic === null)
196
+ continue;
197
+ const e = epic;
198
+ const tasks = Array.isArray(e['tasks']) ? e['tasks'] : [];
199
+ for (const task of tasks) {
200
+ if (typeof task !== 'object' || task === null)
201
+ continue;
202
+ const t = task;
203
+ const id = typeof t['id'] === 'string' ? t['id'] : '?';
204
+ const filesOwned = t['files_owned'];
205
+ if (!Array.isArray(filesOwned) || filesOwned.length === 0) {
206
+ errors.push(`${id}: missing files_owned`);
207
+ }
208
+ const coversAcs = t['covers_acs'];
209
+ if (!Array.isArray(coversAcs) || coversAcs.length === 0) {
210
+ errors.push(`${id}: missing covers_acs`);
211
+ }
212
+ else {
213
+ for (const ac of coversAcs) {
214
+ if (typeof ac !== 'string')
215
+ continue;
216
+ coveredAcs.add(ac);
217
+ if (!prdAcSet.has(ac)) {
218
+ errors.push(`${id}: covers unknown AC ${ac}`);
219
+ }
220
+ }
221
+ }
222
+ const contract = t['contract'];
223
+ if (typeof contract !== 'object' || contract === null) {
224
+ errors.push(`${id}: missing contract.input`);
225
+ errors.push(`${id}: missing contract.output`);
226
+ errors.push(`${id}: missing contract.invariant`);
227
+ }
228
+ else {
229
+ const c = contract;
230
+ for (const field of ['input', 'output', 'invariant']) {
231
+ const v = c[field];
232
+ if (typeof v !== 'string' || v.trim() === '') {
233
+ errors.push(`${id}: missing contract.${field}`);
234
+ }
235
+ }
236
+ }
237
+ const testPlan = t['test_plan'];
238
+ if (!Array.isArray(testPlan) || testPlan.length === 0) {
239
+ errors.push(`${id}: missing test_plan`);
240
+ }
241
+ }
242
+ }
243
+ return { errors, warnings, coveredAcs, isV2: true };
244
+ }
245
+ function lintIssue(localPath, issueId) {
246
+ const issueDir = path.join(localPath, '.conductor', 'issues', issueId);
247
+ const prdPath = path.join(issueDir, 'prd.md');
248
+ const tasksPath = path.join(issueDir, 'tasks.json');
249
+ const prdResult = { ok: true, errors: [] };
250
+ const tasksResult = { ok: true, errors: [] };
251
+ const warnings = [];
252
+ let prdValidation = null;
253
+ let tasksValidation = null;
254
+ if (!fs.existsSync(prdPath)) {
255
+ prdResult.ok = false;
256
+ prdResult.errors.push(`prd.md: file not found at ${prdPath}`);
257
+ }
258
+ else {
259
+ const content = String(fs.readFileSync(prdPath, 'utf8'));
260
+ prdValidation = validatePrd(content);
261
+ prdResult.errors = prdValidation.errors;
262
+ prdResult.ok = prdValidation.errors.length === 0;
263
+ warnings.push(...prdValidation.warnings);
264
+ }
265
+ if (!fs.existsSync(tasksPath)) {
266
+ tasksResult.ok = false;
267
+ tasksResult.errors.push(`tasks.json: file not found at ${tasksPath}`);
268
+ }
269
+ else {
270
+ const content = String(fs.readFileSync(tasksPath, 'utf8'));
271
+ const acIds = prdValidation ? prdValidation.acIds : [];
272
+ tasksValidation = validateTasks(content, acIds);
273
+ tasksResult.errors = [...tasksValidation.errors];
274
+ warnings.push(...tasksValidation.warnings);
275
+ }
276
+ // Cross-file coverage check: only when both files are v2
277
+ if (prdValidation && prdValidation.isV2 && tasksValidation && tasksValidation.isV2) {
278
+ for (const acId of prdValidation.acIds) {
279
+ if (!tasksValidation.coveredAcs.has(acId)) {
280
+ tasksResult.errors.push(`coverage: ${acId} has no covering task`);
281
+ }
282
+ }
283
+ }
284
+ tasksResult.ok = tasksResult.errors.length === 0;
285
+ return { issueId, prd: prdResult, tasks: tasksResult, warnings };
286
+ }
287
+ function listLocalIssues(localPath) {
288
+ const issuesDir = path.join(localPath, '.conductor', 'issues');
289
+ if (!fs.existsSync(issuesDir))
290
+ return [];
291
+ try {
292
+ const entries = fs.readdirSync(issuesDir, { withFileTypes: true });
293
+ return entries.filter(e => e.isDirectory()).map(e => e.name);
294
+ }
295
+ catch {
296
+ // Fallback: readdirSync without withFileTypes
297
+ try {
298
+ const names = fs.readdirSync(issuesDir);
299
+ return Array.isArray(names) ? names : [];
300
+ }
301
+ catch {
302
+ return [];
303
+ }
304
+ }
305
+ }
306
+ export function registerLint(program) {
307
+ program
308
+ .command('lint [issueId]')
309
+ .description('Lint local Conductor PRD and tasks.json artifacts against schema v2')
310
+ .option('--json', 'Output results as JSON')
311
+ .addHelpText('after', `
312
+ Examples:
313
+ conductor lint
314
+ conductor lint <issueId>
315
+ conductor lint <issueId> --json`)
316
+ .action(async (issueId, options) => {
317
+ const config = readConfig();
318
+ if (!config) {
319
+ if (!options.json) {
320
+ console.log('No config found at ~/.conductor/config.json — run `conductor login` first');
321
+ }
322
+ else {
323
+ process.stdout.write(JSON.stringify({ error: 'No config found at ~/.conductor/config.json' }, null, 2) + '\n');
324
+ }
325
+ process.exit(78);
326
+ return;
327
+ }
328
+ const localPath = resolveLocalPath(config);
329
+ if (!localPath) {
330
+ if (!options.json) {
331
+ console.log('No localPath configured for the active project — run `conductor init` to set one up');
332
+ }
333
+ else {
334
+ process.stdout.write(JSON.stringify({ error: 'No localPath configured' }, null, 2) + '\n');
335
+ }
336
+ process.exit(1);
337
+ return;
338
+ }
339
+ const targets = issueId ? [issueId] : listLocalIssues(localPath);
340
+ if (targets.length === 0) {
341
+ if (!options.json) {
342
+ console.log('No issues found to lint');
343
+ }
344
+ else {
345
+ process.stdout.write(JSON.stringify({ issues: [] }, null, 2) + '\n');
346
+ }
347
+ process.exit(0);
348
+ return;
349
+ }
350
+ const results = targets.map(id => lintIssue(localPath, id));
351
+ if (options.json) {
352
+ const payload = {
353
+ issues: results.map(r => ({
354
+ issueId: r.issueId,
355
+ prd: { ok: r.prd.ok, errors: r.prd.errors },
356
+ tasks: { ok: r.tasks.ok, errors: r.tasks.errors },
357
+ })),
358
+ };
359
+ process.stdout.write(JSON.stringify(payload, null, 2) + '\n');
360
+ const anyError = results.some(r => !r.prd.ok || !r.tasks.ok);
361
+ process.exit(anyError ? 1 : 0);
362
+ return;
363
+ }
364
+ let anyError = false;
365
+ for (const r of results) {
366
+ if (results.length > 1) {
367
+ console.log(`\n${r.issueId}`);
368
+ }
369
+ for (const w of r.warnings) {
370
+ console.log(w);
371
+ }
372
+ if (r.prd.ok && r.prd.errors.length === 0) {
373
+ if (!r.warnings.some(w => w.startsWith('prd.md:'))) {
374
+ console.log('✓ prd.md');
375
+ }
376
+ }
377
+ else {
378
+ anyError = true;
379
+ for (const e of r.prd.errors) {
380
+ console.log(e.startsWith('prd.md:') || e.startsWith('coverage:') ? e : `prd.md: ${e}`);
381
+ }
382
+ }
383
+ if (r.tasks.ok && r.tasks.errors.length === 0) {
384
+ console.log('✓ tasks.json');
385
+ }
386
+ else {
387
+ anyError = true;
388
+ for (const e of r.tasks.errors) {
389
+ console.log(e);
390
+ }
391
+ }
392
+ }
393
+ process.exit(anyError ? 1 : 0);
394
+ });
395
+ }
396
+ function resolveLocalPath(config) {
397
+ if (!config)
398
+ return null;
399
+ if (config.localPath)
400
+ return config.localPath;
401
+ if (config.projects) {
402
+ const active = config.projects[config.projectId];
403
+ if (active?.localPath)
404
+ return active.localPath;
405
+ for (const entry of Object.values(config.projects)) {
406
+ if (entry?.localPath)
407
+ return entry.localPath;
408
+ }
409
+ }
410
+ return null;
411
+ }
412
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import { registerMcp } from './commands/mcp.js';
13
13
  import { registerConfig } from './commands/config.js';
14
14
  import { registerDashboard } from './commands/dashboard.js';
15
15
  import { registerStatus } from './commands/status.js';
16
+ import { registerLint } from './commands/lint.js';
16
17
  const DEPRECATED_MSG = 'The issue and doc commands have been removed. Use Claude Code with the Conductor MCP server instead.';
17
18
  const program = new Command();
18
19
  program
@@ -29,9 +30,11 @@ registerMcp(program);
29
30
  registerConfig(program);
30
31
  registerDashboard(program);
31
32
  registerStatus(program);
33
+ registerLint(program);
32
34
  program
33
35
  .command('issue', { hidden: true })
34
36
  .allowUnknownOption()
37
+ .allowExcessArguments()
35
38
  .action(() => {
36
39
  console.log(DEPRECATED_MSG);
37
40
  process.exit(1);
@@ -39,6 +42,7 @@ program
39
42
  program
40
43
  .command('doc', { hidden: true })
41
44
  .allowUnknownOption()
45
+ .allowExcessArguments()
42
46
  .action(() => {
43
47
  console.log(DEPRECATED_MSG);
44
48
  process.exit(1);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,cAAc,GAAG,sGAAsG,CAAA;AAE7H,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAA;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAClC,kBAAkB,EAAE;KACpB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAChC,kBAAkB,EAAE;KACpB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,cAAc,GAAG,sGAAsG,CAAA;AAE7H,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,YAAY,CAAC,OAAO,CAAC,CAAA;AAErB,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAClC,kBAAkB,EAAE;KACpB,oBAAoB,EAAE;KACtB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAChC,kBAAkB,EAAE;KACpB,oBAAoB,EAAE;KACtB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
@@ -12,5 +12,6 @@ export interface Config {
12
12
  projects?: Record<string, ProjectEntry>;
13
13
  }
14
14
  export declare const CONFIG_PATH: string;
15
+ export declare function resolveProjectIdByCwd(config: Config, cwd?: string): string;
15
16
  export declare function getConfig(): Config;
16
17
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,WAAW,QAAuD,CAAA;AAc/E,wBAAgB,SAAS,IAAI,MAAM,CAoBlC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,WAAW,QAAuD,CAAA;AAc/E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAazF;AAED,wBAAgB,SAAS,IAAI,MAAM,CAoBlC"}
@@ -12,6 +12,21 @@ function isConfig(value) {
12
12
  typeof obj['email'] === 'string' &&
13
13
  typeof obj['apiUrl'] === 'string');
14
14
  }
15
+ export function resolveProjectIdByCwd(config, cwd = process.cwd()) {
16
+ if (!config.projects)
17
+ return config.projectId;
18
+ const normalizedCwd = cwd.replace(/\\/g, '/');
19
+ let bestMatch = null;
20
+ for (const [projectId, proj] of Object.entries(config.projects)) {
21
+ const normalizedPath = proj.localPath.replace(/\\/g, '/');
22
+ if (normalizedCwd === normalizedPath || normalizedCwd.startsWith(normalizedPath + '/')) {
23
+ if (!bestMatch || normalizedPath.length > bestMatch.pathLen) {
24
+ bestMatch = { projectId, pathLen: normalizedPath.length };
25
+ }
26
+ }
27
+ }
28
+ return bestMatch?.projectId ?? config.projectId;
29
+ }
15
30
  export function getConfig() {
16
31
  try {
17
32
  const raw = fs.readFileSync(CONFIG_PATH, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAiBxB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;AAE/E,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,OAAO,CACL,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ;QACtC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QACD,gFAAgF;QAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,CAAC,QAAQ,GAAG;gBAChB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;aACrF,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,CAAA;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAiBxB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;AAE/E,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,OAAO,CACL,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ;QACtC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,SAAS,CAAA;IAC7C,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC7C,IAAI,SAAS,GAAkD,IAAI,CAAA;IACnE,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACzD,IAAI,aAAa,KAAK,cAAc,IAAI,aAAa,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC5D,SAAS,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,CAAA;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QACD,gFAAgF;QAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,CAAC,QAAQ,GAAG;gBAChB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;aACrF,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,CAAA;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAkJA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAkHlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAkJA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAmHlD"}
package/dist/mcp/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
- import { getConfig } from './config.js';
5
+ import { getConfig, resolveProjectIdByCwd } from './config.js';
6
6
  import { createIssue, updateIssue, setIssueStatus, listIssues, getIssue } from './tools/issues.js';
7
7
  import { deleteDocument, scaffoldDocument } from './tools/documents.js';
8
8
  import { listIssueComments } from './tools/comments.js';
@@ -148,6 +148,7 @@ export async function runMcpServer() {
148
148
  let config;
149
149
  try {
150
150
  config = getConfig();
151
+ config.projectId = resolveProjectIdByCwd(config);
151
152
  }
152
153
  catch {
153
154
  return authErrorResponse();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@cliangdev/conductor",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Agentic software development platform — AI-driven PRD, implementation, and beyond",
5
+ "license": "SEE LICENSE IN ../LICENSE",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "https://github.com/cliangdev/conductor"
@@ -27,14 +28,14 @@
27
28
  "@modelcontextprotocol/sdk": "^1.0.0",
28
29
  "chalk": "^5.3.0",
29
30
  "chokidar": "^5.0.0",
30
- "commander": "^12.0.0",
31
- "open": "^10.0.0",
32
- "ora": "^8.0.0"
31
+ "commander": "^14.0.3",
32
+ "open": "^11.0.0",
33
+ "ora": "^9.4.0"
33
34
  },
34
35
  "devDependencies": {
35
- "@types/node": "^20.0.0",
36
+ "@types/node": "^25.6.0",
36
37
  "ts-node": "^10.9.0",
37
38
  "typescript": "^5.4.0",
38
- "vitest": "^1.6.0"
39
+ "vitest": "^4.1.5"
39
40
  }
40
41
  }