@cluesmith/codev 3.1.4 → 3.1.7
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/dashboard-dist/assets/{index-DSENHqFj.js → index-CaJH8x6Z.js} +24 -24
- package/dashboard-dist/assets/index-CaJH8x6Z.js.map +1 -0
- package/dashboard-dist/assets/{index-Cl5tt1AP.css → index-DB1KBSNE.css} +1 -1
- package/dashboard-dist/index.html +2 -2
- package/dist/agent-farm/commands/spawn-worktree.d.ts +8 -2
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +53 -9
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts +4 -0
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +12 -5
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts +23 -131
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +52 -31
- package/dist/agent-farm/servers/overview.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +79 -1
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/types.d.ts +13 -3
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/commands/adopt.js +2 -1
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts +7 -1
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +2 -2
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/usage-extractor.d.ts.map +1 -1
- package/dist/commands/consult/usage-extractor.js +1 -0
- package/dist/commands/consult/usage-extractor.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +22 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.js +2 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +15 -17
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts.map +1 -1
- package/dist/commands/porch/next.js +5 -20
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts +8 -13
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +9 -27
- package/dist/commands/porch/protocol.js.map +1 -1
- package/dist/commands/porch/types.d.ts +4 -18
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/commands/update.d.ts +4 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +41 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/forge-contracts.d.ts +7 -0
- package/dist/lib/forge-contracts.d.ts.map +1 -1
- package/dist/lib/forge-contracts.js.map +1 -1
- package/dist/lib/forge.js +1 -1
- package/dist/lib/forge.js.map +1 -1
- package/dist/lib/github.d.ts +32 -0
- package/dist/lib/github.d.ts.map +1 -1
- package/dist/lib/github.js +45 -0
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/gitignore.d.ts +60 -0
- package/dist/lib/gitignore.d.ts.map +1 -0
- package/dist/lib/gitignore.js +114 -0
- package/dist/lib/gitignore.js.map +1 -0
- package/dist/lib/pr-gate-audit.d.ts +54 -0
- package/dist/lib/pr-gate-audit.d.ts.map +1 -0
- package/dist/lib/pr-gate-audit.js +106 -0
- package/dist/lib/pr-gate-audit.js.map +1 -0
- package/dist/lib/scaffold.d.ts +4 -23
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +4 -49
- package/dist/lib/scaffold.js.map +1 -1
- package/package.json +4 -4
- package/scripts/forge/gitea/issue-search.sh +28 -0
- package/scripts/forge/github/issue-search.sh +13 -0
- package/scripts/forge/gitlab/issue-search.sh +19 -0
- package/scripts/forge/linear/issue-search.sh +49 -0
- package/skeleton/.claude/skills/update-arch-docs/SKILL.md +1 -1
- package/skeleton/protocols/aspir/protocol.json +5 -5
- package/skeleton/protocols/bugfix/prompts/pr.md +5 -2
- package/skeleton/protocols/bugfix/protocol.json +2 -1
- package/skeleton/protocols/spir/protocol.json +5 -5
- package/skeleton/roles/architect.md +27 -0
- package/skeleton/templates/AGENTS.md +22 -0
- package/skeleton/templates/CLAUDE.md +22 -0
- package/dashboard-dist/assets/index-DSENHqFj.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PR-gate audit (#943) — guardrail enforcing #927's universal `pr` gate contract.
|
|
3
|
+
*
|
|
4
|
+
* #927 made Needs Attention surface PRs via the universal `pr` gate: porch
|
|
5
|
+
* requests the `pr` gate when a protocol's PR-creating phase completes
|
|
6
|
+
* (`isPrCreatingPhase`, i.e. `phase.gate === 'pr'`), and the dashboard / VSCode
|
|
7
|
+
* surface the PR from that pending gate (`derivePrReady`). A PR-producing
|
|
8
|
+
* protocol whose resolved definition carries NO `pr` gate is therefore never
|
|
9
|
+
* requested, and its PRs silently vanish from Needs Attention.
|
|
10
|
+
*
|
|
11
|
+
* `codev update` deliberately preserves user-modified files as local overrides
|
|
12
|
+
* (tier-1 `.codev/` / tier-2 `codev/`), so a customized override that predates
|
|
13
|
+
* #927 — and lacks a `pr` gate — keeps winning the 4-tier resolution while
|
|
14
|
+
* silently breaking surfacing. This module detects exactly that case so doctor
|
|
15
|
+
* and update can turn the silent breakage into an actionable migration prompt.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Bundled PR-producing protocols — the set whose PR-creating phase carries a
|
|
19
|
+
* `pr` gate in the stock skeleton (mirrors `derivePrReady`'s documented set in
|
|
20
|
+
* overview.ts). experiment/maintain are NOT PR-producing (their completion
|
|
21
|
+
* gates are `experiment-complete` / `maintain-complete`, not `pr`) and are
|
|
22
|
+
* excluded by design. A new PR-producing protocol must be added here.
|
|
23
|
+
*/
|
|
24
|
+
export declare const PR_PRODUCING_PROTOCOLS: readonly ["bugfix", "air", "spir", "aspir", "pir"];
|
|
25
|
+
/** Resolution tier the offending protocol.json was resolved from. */
|
|
26
|
+
export type PrGateSource = 'override' | 'cache' | 'skeleton';
|
|
27
|
+
export interface PrGateWarning {
|
|
28
|
+
/** Protocol name (e.g. "bugfix"). */
|
|
29
|
+
protocol: string;
|
|
30
|
+
/** Absolute path to the resolved protocol.json. */
|
|
31
|
+
resolvedPath: string;
|
|
32
|
+
/** Path relative to the workspace root, for display. */
|
|
33
|
+
displayPath: string;
|
|
34
|
+
/** Which resolution tier the offending file came from. */
|
|
35
|
+
source: PrGateSource;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Audit the bundled PR-producing protocols for a missing `pr` gate.
|
|
39
|
+
*
|
|
40
|
+
* Each protocol is resolved through the 4-tier resolver (local overrides win),
|
|
41
|
+
* and any whose resolved definition has no phase gated `pr` is flagged. Returns
|
|
42
|
+
* one entry per offending protocol; an empty array means every PR-producing
|
|
43
|
+
* protocol is correctly gated.
|
|
44
|
+
*
|
|
45
|
+
* Protocols that don't resolve at all, or whose override is unparseable, are
|
|
46
|
+
* skipped — neither is the "lost pr gate" condition this guardrail targets.
|
|
47
|
+
*/
|
|
48
|
+
export declare function auditPrGates(workspaceRoot?: string): PrGateWarning[];
|
|
49
|
+
/**
|
|
50
|
+
* Format a PR-gate warning into a single loud, actionable line (no icon/indent
|
|
51
|
+
* — callers add those). Shared by doctor and update so the wording stays in sync.
|
|
52
|
+
*/
|
|
53
|
+
export declare function formatPrGateWarning(w: PrGateWarning): string;
|
|
54
|
+
//# sourceMappingURL=pr-gate-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-gate-audit.d.ts","sourceRoot":"","sources":["../../src/lib/pr-gate-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,oDAAqD,CAAC;AAEzF,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,MAAM,EAAE,YAAY,CAAC;CACtB;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CA2BpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAU5D"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PR-gate audit (#943) — guardrail enforcing #927's universal `pr` gate contract.
|
|
3
|
+
*
|
|
4
|
+
* #927 made Needs Attention surface PRs via the universal `pr` gate: porch
|
|
5
|
+
* requests the `pr` gate when a protocol's PR-creating phase completes
|
|
6
|
+
* (`isPrCreatingPhase`, i.e. `phase.gate === 'pr'`), and the dashboard / VSCode
|
|
7
|
+
* surface the PR from that pending gate (`derivePrReady`). A PR-producing
|
|
8
|
+
* protocol whose resolved definition carries NO `pr` gate is therefore never
|
|
9
|
+
* requested, and its PRs silently vanish from Needs Attention.
|
|
10
|
+
*
|
|
11
|
+
* `codev update` deliberately preserves user-modified files as local overrides
|
|
12
|
+
* (tier-1 `.codev/` / tier-2 `codev/`), so a customized override that predates
|
|
13
|
+
* #927 — and lacks a `pr` gate — keeps winning the 4-tier resolution while
|
|
14
|
+
* silently breaking surfacing. This module detects exactly that case so doctor
|
|
15
|
+
* and update can turn the silent breakage into an actionable migration prompt.
|
|
16
|
+
*/
|
|
17
|
+
import * as fs from 'node:fs';
|
|
18
|
+
import * as path from 'node:path';
|
|
19
|
+
import { resolveCodevFile, findWorkspaceRoot } from './skeleton.js';
|
|
20
|
+
/**
|
|
21
|
+
* Bundled PR-producing protocols — the set whose PR-creating phase carries a
|
|
22
|
+
* `pr` gate in the stock skeleton (mirrors `derivePrReady`'s documented set in
|
|
23
|
+
* overview.ts). experiment/maintain are NOT PR-producing (their completion
|
|
24
|
+
* gates are `experiment-complete` / `maintain-complete`, not `pr`) and are
|
|
25
|
+
* excluded by design. A new PR-producing protocol must be added here.
|
|
26
|
+
*/
|
|
27
|
+
export const PR_PRODUCING_PROTOCOLS = ['bugfix', 'air', 'spir', 'aspir', 'pir'];
|
|
28
|
+
/**
|
|
29
|
+
* Extract a phase's gate name, accepting both the string form (`"gate": "pr"`)
|
|
30
|
+
* and the object form (`"gate": { "name": "pr", ... }`). Mirrors the gate
|
|
31
|
+
* parsing in porch's `normalizePhase` (commands/porch/protocol.ts) so this
|
|
32
|
+
* check stays faithful to how porch actually reads gates.
|
|
33
|
+
*/
|
|
34
|
+
function gateName(phase) {
|
|
35
|
+
if (!phase || typeof phase !== 'object')
|
|
36
|
+
return undefined;
|
|
37
|
+
const gate = phase.gate;
|
|
38
|
+
if (typeof gate === 'string')
|
|
39
|
+
return gate;
|
|
40
|
+
if (gate && typeof gate === 'object') {
|
|
41
|
+
const name = gate.name;
|
|
42
|
+
return typeof name === 'string' ? name : undefined;
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
/** Classify which resolution tier a resolved path belongs to. */
|
|
47
|
+
function classifySource(root, resolvedPath) {
|
|
48
|
+
const dotCodev = path.join(root, '.codev') + path.sep;
|
|
49
|
+
const localCodev = path.join(root, 'codev') + path.sep;
|
|
50
|
+
if (resolvedPath.startsWith(dotCodev) || resolvedPath.startsWith(localCodev)) {
|
|
51
|
+
return 'override';
|
|
52
|
+
}
|
|
53
|
+
if (resolvedPath.includes(`${path.sep}skeleton${path.sep}`))
|
|
54
|
+
return 'skeleton';
|
|
55
|
+
return 'cache';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Audit the bundled PR-producing protocols for a missing `pr` gate.
|
|
59
|
+
*
|
|
60
|
+
* Each protocol is resolved through the 4-tier resolver (local overrides win),
|
|
61
|
+
* and any whose resolved definition has no phase gated `pr` is flagged. Returns
|
|
62
|
+
* one entry per offending protocol; an empty array means every PR-producing
|
|
63
|
+
* protocol is correctly gated.
|
|
64
|
+
*
|
|
65
|
+
* Protocols that don't resolve at all, or whose override is unparseable, are
|
|
66
|
+
* skipped — neither is the "lost pr gate" condition this guardrail targets.
|
|
67
|
+
*/
|
|
68
|
+
export function auditPrGates(workspaceRoot) {
|
|
69
|
+
const root = workspaceRoot || findWorkspaceRoot();
|
|
70
|
+
const warnings = [];
|
|
71
|
+
for (const protocol of PR_PRODUCING_PROTOCOLS) {
|
|
72
|
+
const resolvedPath = resolveCodevFile(`protocols/${protocol}/protocol.json`, root);
|
|
73
|
+
if (!resolvedPath)
|
|
74
|
+
continue;
|
|
75
|
+
let phases;
|
|
76
|
+
try {
|
|
77
|
+
const json = JSON.parse(fs.readFileSync(resolvedPath, 'utf-8'));
|
|
78
|
+
phases = Array.isArray(json?.phases) ? json.phases : [];
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
continue; // Unparseable override — out of scope for the pr-gate check.
|
|
82
|
+
}
|
|
83
|
+
if (phases.some(p => gateName(p) === 'pr'))
|
|
84
|
+
continue;
|
|
85
|
+
warnings.push({
|
|
86
|
+
protocol,
|
|
87
|
+
resolvedPath,
|
|
88
|
+
displayPath: path.relative(root, resolvedPath) || resolvedPath,
|
|
89
|
+
source: classifySource(root, resolvedPath),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return warnings;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Format a PR-gate warning into a single loud, actionable line (no icon/indent
|
|
96
|
+
* — callers add those). Shared by doctor and update so the wording stays in sync.
|
|
97
|
+
*/
|
|
98
|
+
export function formatPrGateWarning(w) {
|
|
99
|
+
const where = w.source === 'override'
|
|
100
|
+
? `local override at \`${w.displayPath}\``
|
|
101
|
+
: `resolved from ${w.source} at \`${w.displayPath}\``;
|
|
102
|
+
return (`Protocol \`${w.protocol}\` (${where}) has no \`pr\` gate on its PR-creating phase. ` +
|
|
103
|
+
`Its PRs will not surface in Needs Attention (Codev ≥ 3.1.5). ` +
|
|
104
|
+
`Add \`"gate": "pr"\` to that phase, or remove the override to use the stock pr-gated protocol.`);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=pr-gate-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-gate-audit.js","sourceRoot":"","sources":["../../src/lib/pr-gate-audit.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/scaffold.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Scaffold utilities
|
|
3
|
-
*
|
|
2
|
+
* Scaffold utilities shared across codev init / adopt / update.
|
|
3
|
+
*
|
|
4
|
+
* Directory creation, skeleton copying, and root-file templating. Gitignore
|
|
5
|
+
* management lives in `./gitignore.ts` (extracted in issue #882).
|
|
4
6
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* Standard gitignore entries for codev projects
|
|
7
|
-
*/
|
|
8
|
-
export declare const CODEV_GITIGNORE_ENTRIES = "# Codev\n.agent-farm/\n.consult/\ncodev/.update-hashes.json\n.builders/\n";
|
|
9
|
-
/**
|
|
10
|
-
* Full gitignore content for new projects
|
|
11
|
-
*/
|
|
12
|
-
export declare const FULL_GITIGNORE_CONTENT = "# Codev\n.agent-farm/\n.consult/\ncodev/.update-hashes.json\n.builders/\n\n# Dependencies\nnode_modules/\n\n# Build output\ndist/\n\n# OS files\n.DS_Store\n*.swp\n*.swo\n";
|
|
13
7
|
interface CreateUserDirsOptions {
|
|
14
8
|
skipExisting?: boolean;
|
|
15
9
|
}
|
|
@@ -56,19 +50,6 @@ interface CopyRootFilesResult {
|
|
|
56
50
|
* Copy root files (CLAUDE.md, AGENTS.md) with project name substitution
|
|
57
51
|
*/
|
|
58
52
|
export declare function copyRootFiles(targetDir: string, skeletonDir: string, projectName: string, options?: CopyRootFilesOptions): CopyRootFilesResult;
|
|
59
|
-
/**
|
|
60
|
-
* Create a new .gitignore file with full content (for init)
|
|
61
|
-
*/
|
|
62
|
-
export declare function createGitignore(targetDir: string): void;
|
|
63
|
-
interface UpdateGitignoreResult {
|
|
64
|
-
updated: boolean;
|
|
65
|
-
created: boolean;
|
|
66
|
-
alreadyPresent: boolean;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Update existing .gitignore or create if not exists (for adopt)
|
|
70
|
-
*/
|
|
71
|
-
export declare function updateGitignore(targetDir: string): UpdateGitignoreResult;
|
|
72
53
|
interface CreateProjectsDirOptions {
|
|
73
54
|
skipExisting?: boolean;
|
|
74
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/scaffold.js
CHANGED
|
@@ -1,33 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Scaffold utilities
|
|
3
|
-
*
|
|
2
|
+
* Scaffold utilities shared across codev init / adopt / update.
|
|
3
|
+
*
|
|
4
|
+
* Directory creation, skeleton copying, and root-file templating. Gitignore
|
|
5
|
+
* management lives in `./gitignore.ts` (extracted in issue #882).
|
|
4
6
|
*/
|
|
5
7
|
import * as fs from 'node:fs';
|
|
6
8
|
import * as path from 'node:path';
|
|
7
|
-
/**
|
|
8
|
-
* Standard gitignore entries for codev projects
|
|
9
|
-
*/
|
|
10
|
-
export const CODEV_GITIGNORE_ENTRIES = `# Codev
|
|
11
|
-
.agent-farm/
|
|
12
|
-
.consult/
|
|
13
|
-
codev/.update-hashes.json
|
|
14
|
-
.builders/
|
|
15
|
-
`;
|
|
16
|
-
/**
|
|
17
|
-
* Full gitignore content for new projects
|
|
18
|
-
*/
|
|
19
|
-
export const FULL_GITIGNORE_CONTENT = `${CODEV_GITIGNORE_ENTRIES}
|
|
20
|
-
# Dependencies
|
|
21
|
-
node_modules/
|
|
22
|
-
|
|
23
|
-
# Build output
|
|
24
|
-
dist/
|
|
25
|
-
|
|
26
|
-
# OS files
|
|
27
|
-
.DS_Store
|
|
28
|
-
*.swp
|
|
29
|
-
*.swo
|
|
30
|
-
`;
|
|
31
9
|
/**
|
|
32
10
|
* Create user data directories (specs, plans, reviews) with .gitkeep files
|
|
33
11
|
*/
|
|
@@ -140,29 +118,6 @@ export function copyRootFiles(targetDir, skeletonDir, projectName, options = {})
|
|
|
140
118
|
}
|
|
141
119
|
return { copied, conflicts };
|
|
142
120
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Create a new .gitignore file with full content (for init)
|
|
145
|
-
*/
|
|
146
|
-
export function createGitignore(targetDir) {
|
|
147
|
-
const gitignorePath = path.join(targetDir, '.gitignore');
|
|
148
|
-
fs.writeFileSync(gitignorePath, FULL_GITIGNORE_CONTENT);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Update existing .gitignore or create if not exists (for adopt)
|
|
152
|
-
*/
|
|
153
|
-
export function updateGitignore(targetDir) {
|
|
154
|
-
const gitignorePath = path.join(targetDir, '.gitignore');
|
|
155
|
-
if (!fs.existsSync(gitignorePath)) {
|
|
156
|
-
fs.writeFileSync(gitignorePath, CODEV_GITIGNORE_ENTRIES.trim() + '\n');
|
|
157
|
-
return { updated: false, created: true, alreadyPresent: false };
|
|
158
|
-
}
|
|
159
|
-
const existing = fs.readFileSync(gitignorePath, 'utf-8');
|
|
160
|
-
if (existing.includes('.agent-farm/')) {
|
|
161
|
-
return { updated: false, created: false, alreadyPresent: true };
|
|
162
|
-
}
|
|
163
|
-
fs.appendFileSync(gitignorePath, '\n' + CODEV_GITIGNORE_ENTRIES);
|
|
164
|
-
return { updated: true, created: false, alreadyPresent: false };
|
|
165
|
-
}
|
|
166
121
|
/**
|
|
167
122
|
* Create codev/projects/ directory for porch state files
|
|
168
123
|
*/
|
package/dist/lib/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAWlC;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAiB,EACjB,UAAiC,EAAE;IAEnC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,UAAmC,EAAE;IAErC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,wCAAwC;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,iDAAiD;IACjD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAExC,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,WAAmB,EACnB,UAAwC,EAAE;IAE1C,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,oCAAoC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACrF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE9D,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,WAAmB,EACnB,WAAmB,EACnB,UAAgC,EAAE;IAElC,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;aAC9C,OAAO,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAEjD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,eAAe,EAAE,CAAC;gBACpB,8BAA8B;gBAC9B,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,4CAA4C;QAC9C,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAoC,EAAE;IAEtC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9D,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,WAAmB,EACnB,UAA6B,EAAE;IAE/B,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,yCAAyC;IACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,WAAmB,EACnB,UAA4B,EAAE;IAE9B,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,gCAAgC;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAExC,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,WAAmB,EACnB,UAAgC,EAAE;IAElC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,oCAAoC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,mDAAmD;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cluesmith/codev",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7",
|
|
4
4
|
"description": "Codev CLI - AI-assisted software development framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"open": "^10.1.0",
|
|
34
34
|
"tree-kill": "^1.2.2",
|
|
35
35
|
"ws": "^8.18.0",
|
|
36
|
-
"@cluesmith/codev-core": "3.1.
|
|
36
|
+
"@cluesmith/codev-core": "3.1.7"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@playwright/test": "^1.58.0",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"tsx": "^4.19.2",
|
|
49
49
|
"typescript": "^5.7.2",
|
|
50
50
|
"vitest": "^4.0.15",
|
|
51
|
-
"@cluesmith/codev-
|
|
52
|
-
"@cluesmith/codev-
|
|
51
|
+
"@cluesmith/codev-types": "3.1.7",
|
|
52
|
+
"@cluesmith/codev-dashboard": "0.0.0"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=20.0.0"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Forge concept: issue-search (Gitea via tea CLI)
|
|
3
|
+
#
|
|
4
|
+
# ⚠️ UNVERIFIED — mirrors gitea/issue-list.sh with `body` added to --fields,
|
|
5
|
+
# a --state parameter, and `body` mapped in the jq normalization. `tea` is
|
|
6
|
+
# not available in the authoring environment (#920); smoke-test before
|
|
7
|
+
# relying on it. Confirm: tea's `--state` accepts open|closed|all and the
|
|
8
|
+
# issue body field is named `body`.
|
|
9
|
+
#
|
|
10
|
+
# Input (optional): CODEV_ISSUE_STATE — open|closed|all (default: open)
|
|
11
|
+
# Output: JSON [{number, title, url, labels, createdAt, author, assignees, body}]
|
|
12
|
+
exec tea issues list --limit 200 \
|
|
13
|
+
--state "${CODEV_ISSUE_STATE:-open}" \
|
|
14
|
+
--fields index,title,state,author,url,created,labels,assignees,body \
|
|
15
|
+
--output json \
|
|
16
|
+
| jq '[.[] | {
|
|
17
|
+
number: (.index | tonumber),
|
|
18
|
+
title,
|
|
19
|
+
state,
|
|
20
|
+
url,
|
|
21
|
+
createdAt: .created,
|
|
22
|
+
author: {login: .author},
|
|
23
|
+
labels: (if (.labels // "") == "" then []
|
|
24
|
+
else (.labels | split(",") | map({name: ltrimstr(" ")})) end),
|
|
25
|
+
assignees: (if (.assignees // "") == "" then []
|
|
26
|
+
else (.assignees | split(",") | map({login: ltrimstr(" ")})) end),
|
|
27
|
+
body: (.body // "")
|
|
28
|
+
}]'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Forge concept: issue-search (GitHub via gh CLI)
|
|
3
|
+
#
|
|
4
|
+
# Like issue-list, but purpose-built for the backlog-search webview (#920):
|
|
5
|
+
# always includes `body` (so search can match descriptions) and honors a
|
|
6
|
+
# requested state. issue-list stays lean for the always-on sidebar / overview.
|
|
7
|
+
#
|
|
8
|
+
# Input (optional): CODEV_ISSUE_STATE — open|closed|all (default: open)
|
|
9
|
+
# Output: JSON [{number, title, url, labels, createdAt, author, assignees, body}]
|
|
10
|
+
exec gh issue list \
|
|
11
|
+
--limit 200 \
|
|
12
|
+
--state "${CODEV_ISSUE_STATE:-open}" \
|
|
13
|
+
--json number,title,url,labels,createdAt,author,assignees,body
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Forge concept: issue-search (GitLab via glab CLI)
|
|
3
|
+
#
|
|
4
|
+
# ⚠️ UNVERIFIED — mirrors gitlab/issue-list.sh (raw `glab ... --output json`,
|
|
5
|
+
# no field normalization) plus a state flag and a `body` field surfaced from
|
|
6
|
+
# glab's `description`. `glab` is not available in the authoring environment
|
|
7
|
+
# (#920); smoke-test before relying on it. Confirm: glab's closed/all flags
|
|
8
|
+
# (`--closed` / `--all`) and that the body lives in `.description`.
|
|
9
|
+
#
|
|
10
|
+
# Input (optional): CODEV_ISSUE_STATE — open|closed|all (default: open)
|
|
11
|
+
# Output: JSON [{... glab issue fields ..., body}]
|
|
12
|
+
case "${CODEV_ISSUE_STATE:-open}" in
|
|
13
|
+
closed) STATE_FLAG="--closed" ;;
|
|
14
|
+
all) STATE_FLAG="--all" ;;
|
|
15
|
+
*) STATE_FLAG="" ;;
|
|
16
|
+
esac
|
|
17
|
+
# shellcheck disable=SC2086
|
|
18
|
+
exec glab issue list --per-page 200 $STATE_FLAG --output json \
|
|
19
|
+
| jq '[.[] | . + { body: (.description // .body // "") }]'
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Forge concept: issue-search (Linear via GraphQL API)
|
|
3
|
+
#
|
|
4
|
+
# ⚠️ UNVERIFIED — mirrors linear/issue-list.sh with `description` added to the
|
|
5
|
+
# query (mapped to `body`) and the state filter parameterized. No Linear
|
|
6
|
+
# credentials in the authoring environment (#920); smoke-test before relying
|
|
7
|
+
# on it. Confirm the completed/canceled state-type mapping matches the
|
|
8
|
+
# workspace's workflow.
|
|
9
|
+
#
|
|
10
|
+
# Input (optional): CODEV_ISSUE_STATE — open|closed|all (default: open)
|
|
11
|
+
# CODEV_LINEAR_TEAM — team key (e.g. "ENG")
|
|
12
|
+
# Output: JSON [{number, title, url, labels, createdAt, author, assignees, body}]
|
|
13
|
+
set -e
|
|
14
|
+
|
|
15
|
+
if [ -z "$LINEAR_API_KEY" ]; then
|
|
16
|
+
echo "LINEAR_API_KEY is not set" >&2
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
case "${CODEV_ISSUE_STATE:-open}" in
|
|
21
|
+
closed) STATE_FILTER='{ "state": { "type": { "in": ["completed", "canceled"] } } }' ;;
|
|
22
|
+
all) STATE_FILTER='{}' ;;
|
|
23
|
+
*) STATE_FILTER='{ "state": { "type": { "nin": ["completed", "canceled"] } } }' ;;
|
|
24
|
+
esac
|
|
25
|
+
|
|
26
|
+
if [ -n "$CODEV_LINEAR_TEAM" ]; then
|
|
27
|
+
FILTER="$(jq -n --arg team "$CODEV_LINEAR_TEAM" --argjson st "$STATE_FILTER" \
|
|
28
|
+
'{ team: { key: { eq: $team } } } + $st')"
|
|
29
|
+
else
|
|
30
|
+
FILTER="$STATE_FILTER"
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
curl -sf -X POST https://api.linear.app/graphql \
|
|
34
|
+
-H "Content-Type: application/json" \
|
|
35
|
+
-H "Authorization: $LINEAR_API_KEY" \
|
|
36
|
+
-d "$(jq -n --argjson filter "$FILTER" '{
|
|
37
|
+
query: "query($filter: IssueFilter) { issues(filter: $filter, first: 200) { nodes { identifier title url description labels { nodes { name } } createdAt assignee { displayName } creator { displayName } } } }",
|
|
38
|
+
variables: { filter: $filter }
|
|
39
|
+
}')" \
|
|
40
|
+
| jq '[.data.issues.nodes[] | {
|
|
41
|
+
number: .identifier,
|
|
42
|
+
title: .title,
|
|
43
|
+
url: .url,
|
|
44
|
+
labels: [.labels.nodes[] | { name: .name }],
|
|
45
|
+
createdAt: .createdAt,
|
|
46
|
+
author: (if .creator then { login: .creator.displayName } else null end),
|
|
47
|
+
assignees: (if .assignee then [{ login: .assignee.displayName }] else [] end),
|
|
48
|
+
body: (.description // "")
|
|
49
|
+
}]'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: update-arch-docs
|
|
3
|
-
description: Audit, prune, and update the project's architecture documentation — `codev/resources/arch.md` and `codev/resources/lessons-learned.md`. Use this skill when running MAINTAIN's arch-doc step, or when asked to update / audit / prune `codev/resources/arch.md` or `codev/resources/lessons-learned.md`. The skill is opinionated about what NOT to include in these files (per-spec changelogs, exhaustive enumerations, aspirational state, duplicate meta-spec content) and ships two operating modes: diff-mode (apply a specific change) and audit-mode (propose cuts with reasons). It edits files directly via normal file-edit tooling and does not invoke destructive shell commands.
|
|
3
|
+
description: "Audit, prune, and update the project's architecture documentation — `codev/resources/arch.md` and `codev/resources/lessons-learned.md`. Use this skill when running MAINTAIN's arch-doc step, or when asked to update / audit / prune `codev/resources/arch.md` or `codev/resources/lessons-learned.md`. The skill is opinionated about what NOT to include in these files (per-spec changelogs, exhaustive enumerations, aspirational state, duplicate meta-spec content) and ships two operating modes: diff-mode (apply a specific change) and audit-mode (propose cuts with reasons). It edits files directly via normal file-edit tooling and does not invoke destructive shell commands."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# update-arch-docs
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"models": ["gemini", "codex", "claude"],
|
|
24
24
|
"parallel": true
|
|
25
25
|
},
|
|
26
|
-
"max_iterations":
|
|
26
|
+
"max_iterations": 3,
|
|
27
27
|
"on_complete": {
|
|
28
28
|
"commit": true,
|
|
29
29
|
"push": true
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"models": ["gemini", "codex", "claude"],
|
|
45
45
|
"parallel": true
|
|
46
46
|
},
|
|
47
|
-
"max_iterations":
|
|
47
|
+
"max_iterations": 3,
|
|
48
48
|
"on_complete": {
|
|
49
49
|
"commit": true,
|
|
50
50
|
"push": true
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"models": ["gemini", "codex", "claude"],
|
|
71
71
|
"parallel": true
|
|
72
72
|
},
|
|
73
|
-
"max_iterations":
|
|
73
|
+
"max_iterations": 3,
|
|
74
74
|
"on_complete": {
|
|
75
75
|
"commit": true,
|
|
76
76
|
"push": true
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"models": ["gemini", "codex", "claude"],
|
|
108
108
|
"parallel": true
|
|
109
109
|
},
|
|
110
|
-
"max_iterations":
|
|
110
|
+
"max_iterations": 3,
|
|
111
111
|
"on_complete": {
|
|
112
112
|
"commit": true,
|
|
113
113
|
"push": true
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
},
|
|
161
161
|
"defaults": {
|
|
162
162
|
"mode": "strict",
|
|
163
|
-
"max_iterations":
|
|
163
|
+
"max_iterations": 3,
|
|
164
164
|
"verify": {
|
|
165
165
|
"models": ["gemini", "codex", "claude"],
|
|
166
166
|
"parallel": true
|
|
@@ -89,8 +89,11 @@ Send a **single** notification that includes the PR link and each model's verdic
|
|
|
89
89
|
afx send architect "PR #<number> ready for review (fixes issue #{{issue.number}}). CMAP: gemini=<APPROVE|REQUEST_CHANGES>, codex=<APPROVE|REQUEST_CHANGES>, claude=<APPROVE|REQUEST_CHANGES>"
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
Then run `porch done <project-id>` to auto-request the `pr` gate. The PR surfaces
|
|
93
|
+
in Needs Attention from this point; **STOP and wait** for the architect to call
|
|
94
|
+
`porch approve <project-id> pr`. After gate approval, porch will emit a merge task
|
|
95
|
+
(via the next `porch next` call) — follow it to merge the PR and advance to
|
|
96
|
+
`verified`.
|
|
94
97
|
|
|
95
98
|
## Signals
|
|
96
99
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../../protocol-schema.json",
|
|
3
3
|
"name": "bugfix",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "Lightweight protocol for minor bugfixes using GitHub Issues",
|
|
6
6
|
"input": {
|
|
7
7
|
"type": "github-issue",
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"parallel": true,
|
|
81
81
|
"max_rounds": 1
|
|
82
82
|
},
|
|
83
|
+
"gate": "pr",
|
|
83
84
|
"transition": {
|
|
84
85
|
"on_complete": null
|
|
85
86
|
}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"models": ["gemini", "codex", "claude"],
|
|
25
25
|
"parallel": true
|
|
26
26
|
},
|
|
27
|
-
"max_iterations":
|
|
27
|
+
"max_iterations": 3,
|
|
28
28
|
"on_complete": {
|
|
29
29
|
"commit": true,
|
|
30
30
|
"push": true
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"models": ["gemini", "codex", "claude"],
|
|
47
47
|
"parallel": true
|
|
48
48
|
},
|
|
49
|
-
"max_iterations":
|
|
49
|
+
"max_iterations": 3,
|
|
50
50
|
"on_complete": {
|
|
51
51
|
"commit": true,
|
|
52
52
|
"push": true
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"models": ["gemini", "codex", "claude"],
|
|
74
74
|
"parallel": true
|
|
75
75
|
},
|
|
76
|
-
"max_iterations":
|
|
76
|
+
"max_iterations": 3,
|
|
77
77
|
"on_complete": {
|
|
78
78
|
"commit": true,
|
|
79
79
|
"push": true
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"models": ["gemini", "codex", "claude"],
|
|
111
111
|
"parallel": true
|
|
112
112
|
},
|
|
113
|
-
"max_iterations":
|
|
113
|
+
"max_iterations": 3,
|
|
114
114
|
"on_complete": {
|
|
115
115
|
"commit": true,
|
|
116
116
|
"push": true
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
},
|
|
164
164
|
"defaults": {
|
|
165
165
|
"mode": "strict",
|
|
166
|
-
"max_iterations":
|
|
166
|
+
"max_iterations": 3,
|
|
167
167
|
"verify": {
|
|
168
168
|
"models": ["gemini", "codex", "claude"],
|
|
169
169
|
"parallel": true
|