@jaybeeuu/agent-cortex 1.41.1 → 1.42.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/.github/workflows/ci.yml +5 -5
- package/CHANGELOG.md +23 -0
- package/agents/ralph-plan/agent.md +7 -3
- package/agents/ralph-plan.agent.md +7 -3
- package/claude-extras/scripts/statusline-command.sh +0 -0
- package/docs/ideas/ban-content-assertion-tests.md +3 -1
- package/docs/ideas/dedicated-review-tests-skill.md +71 -0
- package/docs/ideas/unify-the-ticket-and-task-decomposition-workflows.md +71 -0
- package/package.json +5 -2
- package/plugin.json +1 -1
- package/scripts/install-instructions.sh +0 -0
- package/scripts/sync-plugin-version.sh +0 -0
- package/skills/engineering/grill-with-docs/SKILL.md +3 -2
- package/skills/engineering/improve-codebase-architecture/REFERENCE.md +5 -0
- package/skills/engineering/improve-codebase-architecture/SKILL.md +2 -1
- package/skills/planning/create-task/SKILL.md +8 -3
- package/skills/planning/create-task/scripts/create-chores.ts +4 -1
- package/skills/planning/prd-to-tasks/REFERENCE.md +2 -2
- package/skills/planning/prd-to-tasks/SKILL.md +9 -4
- package/skills/planning/request-refactor-plan/FORMAT.md +5 -0
- package/skills/planning/request-refactor-plan/SKILL.md +3 -2
- package/skills/planning/spec-to-tickets/REFERENCE.md +82 -0
- package/skills/planning/spec-to-tickets/SKILL.md +143 -0
- package/skills/planning/write-a-prd/FORMAT.md +6 -0
- package/skills/planning/write-a-prd/SKILL.md +9 -6
- package/skills/planning/write-a-ticket/EXAMPLES.md +133 -0
- package/skills/planning/write-a-ticket/SKILL.md +77 -59
- package/skills/productivity/bd-tool/SKILL.md +27 -2
- package/skills/productivity/grill-me/SKILL.md +11 -0
- package/skills/review/review-security/scripts/install-gitleaks.sh +0 -0
- package/skills/workflow/plan/SKILL.md +20 -8
- package/skills/workflow/ralph/REFERENCE.md +3 -1
- package/skills/workflow/run-pipeline-stage/SKILL.md +6 -1
- package/skills/workflow/using-agent-skills/SKILL.md +1 -0
- package/test/create-chores.test.mjs +12 -0
- package/test/fake-bd.test.mjs +72 -0
- package/test/helpers/fake-bd.mjs +26 -6
- package/extensions/agent-guardrails/node_modules/.bin/pi +0 -21
- package/extensions/agent-guardrails/node_modules/.bin/tsc +0 -21
- package/extensions/agent-guardrails/node_modules/.bin/tsserver +0 -21
- package/extensions/agent-guardrails/node_modules/.bin/tsx +0 -21
- package/extensions/agent-modes/node_modules/.bin/pi +0 -21
- package/extensions/agent-modes/node_modules/.bin/tsc +0 -21
- package/extensions/agent-modes/node_modules/.bin/tsserver +0 -21
- package/extensions/agent-modes/node_modules/.bin/tsx +0 -21
- package/extensions/skill-stats/node_modules/.bin/pi +0 -21
- package/extensions/skill-stats/node_modules/.bin/tsc +0 -21
- package/extensions/skill-stats/node_modules/.bin/tsserver +0 -21
- package/extensions/skill-stats/node_modules/.bin/tsx +0 -21
- package/extensions/skill-stats/pnpm-lock.yaml +0 -329
- package/extensions/subagent/node_modules/.bin/pi +0 -21
- package/extensions/subagent/node_modules/.bin/pi-ai +0 -21
- package/extensions/subagent/node_modules/.bin/tsc +0 -21
- package/extensions/subagent/node_modules/.bin/tsserver +0 -21
- package/extensions/subagent/node_modules/.bin/tsx +0 -21
- package/skills/planning/create-task/scripts/node_modules/.bin/tsc +0 -21
- package/skills/planning/create-task/scripts/node_modules/.bin/tsserver +0 -21
- package/skills/planning/create-task/scripts/node_modules/.bin/tsx +0 -21
- package/skills/planning/create-task/scripts/pnpm-lock.yaml +0 -342
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsc +0 -21
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsserver +0 -21
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsx +0 -21
- package/skills/productivity/validate-agent-dir/scripts/pnpm-lock.yaml +0 -329
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsc +0 -21
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsserver +0 -21
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsx +0 -21
- package/skills/workflow/run-pipeline-stage/scripts/pnpm-lock.yaml +0 -342
|
@@ -47,6 +47,10 @@ Establish what needs to be built through investigation and collaborative design.
|
|
|
47
47
|
- Technical constraints and trade-offs
|
|
48
48
|
- How each change will be verified
|
|
49
49
|
|
|
50
|
+
The epic's required sections — `## Success Criteria` for the PRD epic — are the interview's target:
|
|
51
|
+
it is complete only when every required section can be filled from agreed answers. Never invent
|
|
52
|
+
section content; surface assumptions and confirm them with the user.
|
|
53
|
+
|
|
50
54
|
4. Sketch the major modules that will be built or modified. Look for opportunities to extract deep modules — ones that encapsulate significant behaviour behind a simple, testable interface.
|
|
51
55
|
|
|
52
56
|
5. Draft a PRD using the template from `write-a-prd`. Include:
|
|
@@ -60,8 +64,9 @@ Establish what needs to be built through investigation and collaborative design.
|
|
|
60
64
|
7. Create an epic bead from the approved PRD:
|
|
61
65
|
```bash
|
|
62
66
|
bd create "<Feature Title> — PRD" --type epic \
|
|
63
|
-
--description "<rendered PRD as markdown>" --priority p2
|
|
67
|
+
--description "<rendered PRD as markdown>" --priority p2 --validate
|
|
64
68
|
bd tag <epic-id> workflow:plan
|
|
69
|
+
bd lint <epic-id>
|
|
65
70
|
```
|
|
66
71
|
|
|
67
72
|
#### Phase 1 gate
|
|
@@ -70,7 +75,7 @@ Establish what needs to be built through investigation and collaborative design.
|
|
|
70
75
|
- [ ] Design decisions resolved through interview
|
|
71
76
|
- [ ] Modules sketched and reviewed with the user
|
|
72
77
|
- [ ] PRD drafted and approved by the user
|
|
73
|
-
- [ ] Epic bead created from approved PRD
|
|
78
|
+
- [ ] Epic bead created from approved PRD and lints clean (`bd lint <epic-id>`)
|
|
74
79
|
|
|
75
80
|
### Phase 2 — Break into tasks
|
|
76
81
|
|
|
@@ -82,13 +87,14 @@ Take the approved PRD and produce a set of epics and tasks using tracer-bullet v
|
|
|
82
87
|
- **Title**: short descriptive name
|
|
83
88
|
- **User stories covered**: which PRD stories this phase addresses
|
|
84
89
|
- **What to build**: end-to-end behaviour description
|
|
85
|
-
- **
|
|
90
|
+
- **Success criteria**: verifiable outcomes — the epic's required `## Success Criteria`
|
|
86
91
|
|
|
87
92
|
10. If the work is small enough for a single epic (one phase, a few tasks), skip epics and proceed directly to Phase 3. A single epic with a few tasks dispatches through ralph more efficiently than creating unnecessary epic hierarchy. If the work has multiple distinct phases, create epics:
|
|
88
93
|
```bash
|
|
89
94
|
bd create "<Phase Title>" --type epic \
|
|
90
|
-
--description "<epic body with scope, criteria, dependencies>" --priority <same as parent>
|
|
95
|
+
--description "<epic body with scope, success criteria, dependencies>" --priority <same as parent> --validate
|
|
91
96
|
bd tag <epic-id> workflow:plan
|
|
97
|
+
bd lint <epic-id>
|
|
92
98
|
bd dep add <epic-id> <parent-epic-id> --type parent-child
|
|
93
99
|
```
|
|
94
100
|
|
|
@@ -146,8 +152,13 @@ Deliver a handoff bead and instructions for running ralph.
|
|
|
146
152
|
- **Multiple independent epics**: create a parent meta-epic that groups them:
|
|
147
153
|
```bash
|
|
148
154
|
bd create "<Feature Title> — Implementation" --type epic \
|
|
149
|
-
--description "Meta-epic grouping all phases for execution. See child epics for detail.
|
|
150
|
-
|
|
155
|
+
--description "Meta-epic grouping all phases for execution. See child epics for detail.
|
|
156
|
+
|
|
157
|
+
## Success Criteria
|
|
158
|
+
|
|
159
|
+
- [ ] All child epics complete and the feature verified end-to-end." \
|
|
160
|
+
--priority <same> --validate
|
|
161
|
+
bd lint <meta-epic>
|
|
151
162
|
bd dep add <epic-1> <meta-epic> --type parent-child
|
|
152
163
|
bd dep add <epic-2> <meta-epic> --type parent-child
|
|
153
164
|
```
|
|
@@ -187,13 +198,14 @@ Deliver a handoff bead and instructions for running ralph.
|
|
|
187
198
|
#### Phase 4 gate
|
|
188
199
|
|
|
189
200
|
- [ ] Handoff bead identified and tagged `workflow:ralph`
|
|
201
|
+
- [ ] Every handoff-path bead lints clean (`bd lint`)
|
|
190
202
|
- [ ] Bead state pushed with `bd dolt push`
|
|
191
203
|
- [ ] Handoff summary presented with the exact instruction to give an agent
|
|
192
204
|
|
|
193
205
|
## Phase-gate checklist
|
|
194
206
|
|
|
195
|
-
- [ ] Phase 1: PRD drafted and approved, epic bead created
|
|
196
|
-
- [ ] Phase 2: Task breakdown approved, epics created (if needed)
|
|
207
|
+
- [ ] Phase 1: PRD drafted and approved, epic bead created and validated
|
|
208
|
+
- [ ] Phase 2: Task breakdown approved, epics created (if needed) and validated
|
|
197
209
|
- [ ] Phase 3: All tasks created, classified, expanded, tree presented
|
|
198
210
|
- [ ] Phase 4: Handoff bead prepared, state pushed, summary delivered
|
|
199
211
|
|
|
@@ -79,7 +79,9 @@ When a verify or review stage fails:
|
|
|
79
79
|
```bash
|
|
80
80
|
fix_id=$(bd create "[<parent-id>] Fix (round <N>)" --type chore \
|
|
81
81
|
--priority <same as parent> \
|
|
82
|
-
--description "
|
|
82
|
+
--description "Requirements: see <parent-id> acceptance criteria (`bd show <parent-id>`).
|
|
83
|
+
|
|
84
|
+
<CHANGES_REQUESTED list or VERIFY_FAILURES list from the triggering REPORT>" -q)
|
|
83
85
|
bd tag $fix_id stage:fix
|
|
84
86
|
bd dep add $fix_id <parent-id> --type parent-child # fix-chore is child of parent
|
|
85
87
|
```
|
|
@@ -61,12 +61,17 @@ On stage failure, create a chore bead whose description carries the feedback so
|
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
63
|
new_id=$(bd create "[<parent-id>] <title>" --type chore \
|
|
64
|
-
--description "<
|
|
64
|
+
--description "Requirements: see <parent-id> acceptance criteria (`bd show <parent-id>`).
|
|
65
|
+
|
|
66
|
+
<feedback content from REPORT>" --priority <parent-priority> -q)
|
|
65
67
|
bd tag $new_id stage:<next-stage>
|
|
66
68
|
bd tag $new_id workflow:ralph
|
|
67
69
|
bd dep add $new_id <parent-id> --type parent-child
|
|
68
70
|
```
|
|
69
71
|
|
|
72
|
+
Chore beads carry no required sections, so the feedback description must point at the
|
|
73
|
+
parent/requirements bead (`<parent-id>`) rather than restating its acceptance criteria.
|
|
74
|
+
|
|
70
75
|
| Triggering outcome | Suggested title | Next stage tag | Description content |
|
|
71
76
|
|---|---|---|---|
|
|
72
77
|
| `OUTCOME: BLOCKED` from verify | `Fix: verify failures` | `stage:code` | Full BLOCKING_ISSUES list |
|
|
@@ -23,6 +23,7 @@ Task arrives
|
|
|
23
23
|
├── Have a rough idea? ─────────────────→ record-idea
|
|
24
24
|
├── New feature / PRD needed? ──────────→ write-a-prd
|
|
25
25
|
├── PRD approved, need tasks? ──────────→ prd-to-tasks
|
|
26
|
+
├── Spec approved, need tickets? ───────→ spec-to-tickets
|
|
26
27
|
├── Need a single task tracked? ────────→ create-task
|
|
27
28
|
├── Need to plan a feature end-to-end? ─→ plan
|
|
28
29
|
├── Running beads / task execution? ────→ ralph
|
|
@@ -70,4 +70,16 @@ describe("create-chores", () => {
|
|
|
70
70
|
["implementation-type:afk", "stage:code"],
|
|
71
71
|
);
|
|
72
72
|
});
|
|
73
|
+
|
|
74
|
+
it("validates the PR gate task but not the stage chores", async () => {
|
|
75
|
+
const { ids, beads } = await createChoresAgainstFakeBd(["implementation-type:afk"]);
|
|
76
|
+
|
|
77
|
+
const gate = beads.find((b) => b.id === ids.featurePrReview);
|
|
78
|
+
assert.equal(gate.type, "task");
|
|
79
|
+
assert.equal(gate.validated, true);
|
|
80
|
+
assert.match(gate.description, /## Acceptance Criteria/);
|
|
81
|
+
|
|
82
|
+
const codeChore = beads.find((b) => b.id === ids.code);
|
|
83
|
+
assert.equal(codeChore.validated, false);
|
|
84
|
+
});
|
|
73
85
|
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Tests for the stateful fake `bd` helper's `--validate` model.
|
|
2
|
+
// The fake mirrors `bd create --validate`: a substantive bead whose description lacks the
|
|
3
|
+
// required section(s) for its type is rejected; chores have no requirements.
|
|
4
|
+
|
|
5
|
+
import { describe, it } from "node:test";
|
|
6
|
+
import assert from "node:assert/strict";
|
|
7
|
+
import { execFile } from "node:child_process";
|
|
8
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
9
|
+
import { tmpdir } from "node:os";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
|
|
12
|
+
import { makeFakeBd } from "./helpers/fake-bd.mjs";
|
|
13
|
+
|
|
14
|
+
/** Run the fake `bd` binary with the given args. */
|
|
15
|
+
function runFake(bin, state, args) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
execFile(bin, args, { env: { ...process.env, FAKE_BD_STATE: state } }, (error, stdout, stderr) => {
|
|
18
|
+
resolve({ exitCode: error ? error.code ?? 1 : 0, stdout, stderr });
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Create a fresh fake workspace, run `fn`, then remove it. */
|
|
24
|
+
async function withFake(fn) {
|
|
25
|
+
const dir = await mkdtemp(join(tmpdir(), "fake-bd-"));
|
|
26
|
+
try {
|
|
27
|
+
const { bin, state } = await makeFakeBd(dir, { beads: [] });
|
|
28
|
+
await fn(bin, state);
|
|
29
|
+
} finally {
|
|
30
|
+
await rm(dir, { recursive: true, force: true });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
describe("fake bd --validate", () => {
|
|
35
|
+
it("rejects a section-less task", async () => {
|
|
36
|
+
await withFake(async (bin, state) => {
|
|
37
|
+
const { exitCode, stderr } = await runFake(bin, state, ["create", "empty", "--type", "task", "--validate"]);
|
|
38
|
+
assert.equal(exitCode, 1);
|
|
39
|
+
assert.match(stderr, /Acceptance Criteria/);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it("accepts a task carrying ## Acceptance Criteria (case-insensitive)", async () => {
|
|
44
|
+
await withFake(async (bin, state) => {
|
|
45
|
+
const { exitCode } = await runFake(bin, state, [
|
|
46
|
+
"create", "ok", "--type", "task",
|
|
47
|
+
"--description", "## Acceptance criteria\n- [ ] done",
|
|
48
|
+
"--validate",
|
|
49
|
+
]);
|
|
50
|
+
assert.equal(exitCode, 0);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("requires ## Success Criteria for an epic", async () => {
|
|
55
|
+
await withFake(async (bin, state) => {
|
|
56
|
+
const { exitCode, stderr } = await runFake(bin, state, [
|
|
57
|
+
"create", "ep", "--type", "epic",
|
|
58
|
+
"--description", "## Acceptance Criteria\n- [ ] x",
|
|
59
|
+
"--validate",
|
|
60
|
+
]);
|
|
61
|
+
assert.equal(exitCode, 1);
|
|
62
|
+
assert.match(stderr, /Success Criteria/);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("does not require sections for a chore", async () => {
|
|
67
|
+
await withFake(async (bin, state) => {
|
|
68
|
+
const { exitCode } = await runFake(bin, state, ["create", "c", "--type", "chore", "--validate"]);
|
|
69
|
+
assert.equal(exitCode, 0);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
package/test/helpers/fake-bd.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Shared test helper: a stateful fake `bd` binary for create-chores.ts.
|
|
2
2
|
// `bd` is a genuine external system (its real database must never be touched
|
|
3
3
|
// by tests), so the script is driven against this fake via the BD_PATH
|
|
4
|
-
// override. The fake reproduces the
|
|
5
|
-
// `bd create --parent`
|
|
6
|
-
//
|
|
7
|
-
// state file the test can read back.
|
|
4
|
+
// override. The fake reproduces the real behaviours the tests depend on —
|
|
5
|
+
// `bd create --parent` label inheritance (unless `--no-inherit-labels` is
|
|
6
|
+
// passed) and `bd create --validate` section enforcement — and records every
|
|
7
|
+
// created bead to a JSON state file the test can read back.
|
|
8
8
|
//
|
|
9
9
|
// State lives in `state.json` next to the binary; the test seeds it with the
|
|
10
10
|
// parent bead and reads the children back after the script runs. Written async
|
|
@@ -20,7 +20,7 @@ const FAKE_BD_SCRIPT = [
|
|
|
20
20
|
"",
|
|
21
21
|
"const stateFile = process.env.FAKE_BD_STATE;",
|
|
22
22
|
"const VALUE_FLAGS = new Set(['--type', '--description', '--priority', '--labels', '--parent']);",
|
|
23
|
-
"const BOOL_FLAGS = new Set(['--silent', '--no-inherit-labels']);",
|
|
23
|
+
"const BOOL_FLAGS = new Set(['--silent', '--no-inherit-labels', '--validate']);",
|
|
24
24
|
"",
|
|
25
25
|
"(async () => {",
|
|
26
26
|
" const argv = process.argv.slice(2);",
|
|
@@ -37,13 +37,33 @@ const FAKE_BD_SCRIPT = [
|
|
|
37
37
|
" }",
|
|
38
38
|
"",
|
|
39
39
|
" const state = JSON.parse(await fs.readFile(stateFile, 'utf8'));",
|
|
40
|
+
"",
|
|
41
|
+
" // Model `bd create --validate`: reject a substantive bead whose description lacks the",
|
|
42
|
+
" // required section(s) for its type. Chores have no requirements and always pass.",
|
|
43
|
+
" if (bools.has('--validate')) {",
|
|
44
|
+
" const type = flags['--type'] || 'task';",
|
|
45
|
+
" const required = {",
|
|
46
|
+
" task: ['## Acceptance Criteria'],",
|
|
47
|
+
" feature: ['## Acceptance Criteria'],",
|
|
48
|
+
" bug: ['## Steps to Reproduce', '## Acceptance Criteria'],",
|
|
49
|
+
" epic: ['## Success Criteria'],",
|
|
50
|
+
" chore: [],",
|
|
51
|
+
" }[type] || ['## Acceptance Criteria'];",
|
|
52
|
+
" const description = flags['--description'] || '';",
|
|
53
|
+
" const missing = required.filter((section) => !description.toLowerCase().includes(section.toLowerCase()));",
|
|
54
|
+
" if (missing.length > 0) {",
|
|
55
|
+
" console.error('missing required sections for ' + type + ': ' + missing.join(', '));",
|
|
56
|
+
" process.exit(1);",
|
|
57
|
+
" }",
|
|
58
|
+
" }",
|
|
59
|
+
"",
|
|
40
60
|
" const explicit = (flags['--labels'] || '').split(',').filter(Boolean);",
|
|
41
61
|
" const parent = state.beads.find((b) => b.id === flags['--parent']);",
|
|
42
62
|
" const inherited = parent && !bools.has('--no-inherit-labels') ? parent.labels : [];",
|
|
43
63
|
" const labels = [...new Set([...inherited, ...explicit])];",
|
|
44
64
|
"",
|
|
45
65
|
" const id = 'bd-' + state.nextId++;",
|
|
46
|
-
" state.beads.push({ id, title, labels, parent: flags['--parent'] ?? null });",
|
|
66
|
+
" state.beads.push({ id, title, labels, parent: flags['--parent'] ?? null, type: flags['--type'] || 'task', description: flags['--description'] || '', validated: bools.has('--validate') });",
|
|
47
67
|
" await fs.writeFile(stateFile, JSON.stringify(state));",
|
|
48
68
|
" process.stdout.write(id + '\\n');",
|
|
49
69
|
"})().catch((err) => {",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules/@earendil-works/pi-coding-agent/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/@earendil-works+pi-coding-agent@0.78.1_ws@8.21.0_zod@4.4.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../@earendil-works/pi-coding-agent/dist/cli.js" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
-
fi
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
-
|
|
4
|
-
case `uname` in
|
|
5
|
-
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
-
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
-
basedir=`cygpath -w "$basedir"`
|
|
8
|
-
fi
|
|
9
|
-
;;
|
|
10
|
-
esac
|
|
11
|
-
|
|
12
|
-
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules"
|
|
14
|
-
else
|
|
15
|
-
export NODE_PATH="/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules/tsx/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/tsx@4.22.4/node_modules:/home/runner/work/agent-cortex/agent-cortex/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
if [ -x "$basedir/node" ]; then
|
|
18
|
-
exec "$basedir/node" "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../tsx/dist/cli.mjs" "$@"
|
|
21
|
-
fi
|