@kleber.mottajr/juninho 1.3.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -15
- package/dist/config.d.ts +29 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +57 -3
- package/dist/config.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +159 -53
- package/dist/installer.js.map +1 -1
- package/dist/project-types.d.ts.map +1 -1
- package/dist/project-types.js +6 -0
- package/dist/project-types.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +925 -162
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/commands.d.ts.map +1 -1
- package/dist/templates/commands.js +747 -626
- package/dist/templates/commands.js.map +1 -1
- package/dist/templates/docs.d.ts.map +1 -1
- package/dist/templates/docs.js +49 -24
- package/dist/templates/docs.js.map +1 -1
- package/dist/templates/lib.d.ts +2 -0
- package/dist/templates/lib.d.ts.map +1 -0
- package/dist/templates/lib.js +506 -0
- package/dist/templates/lib.js.map +1 -0
- package/dist/templates/plugins.d.ts.map +1 -1
- package/dist/templates/plugins.js +2530 -856
- package/dist/templates/plugins.js.map +1 -1
- package/dist/templates/skills.d.ts.map +1 -1
- package/dist/templates/skills.js +30 -0
- package/dist/templates/skills.js.map +1 -1
- package/dist/templates/state.d.ts.map +1 -1
- package/dist/templates/state.js +159 -186
- package/dist/templates/state.js.map +1 -1
- package/dist/templates/support-scripts.d.ts.map +1 -1
- package/dist/templates/support-scripts.js +1014 -249
- package/dist/templates/support-scripts.js.map +1 -1
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/templates/plugins.ts"],"names":[],"mappings":";;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/templates/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/templates/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,WAA2B,EACxC,QAAQ,GAAE,OAAe,GACxB,IAAI,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/templates/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,WAA2B,EACxC,QAAQ,GAAE,OAAe,GACxB,IAAI,CA4BN"}
|
package/dist/templates/skills.js
CHANGED
|
@@ -21,6 +21,7 @@ function writeSkills(projectDir, projectType = "node-nextjs", isKotlin = false)
|
|
|
21
21
|
"j.domain-doc-writing": () => DOMAIN_DOC_WRITING,
|
|
22
22
|
"j.principle-doc-writing": () => PRINCIPLE_DOC_WRITING,
|
|
23
23
|
"j.shell-script-writing": () => SHELL_SCRIPT_WRITING,
|
|
24
|
+
"skill-creator": () => SKILL_CREATOR,
|
|
24
25
|
};
|
|
25
26
|
for (const skill of config.skills) {
|
|
26
27
|
const writer = skillWriters[skill];
|
|
@@ -1093,4 +1094,33 @@ Creating or editing shell scripts, especially in \`.opencode/scripts/\`, \`scrip
|
|
|
1093
1094
|
- Using unquoted file lists or unsafe globbing
|
|
1094
1095
|
- Mixing environment bootstrapping with small hook utilities
|
|
1095
1096
|
`;
|
|
1097
|
+
// ─── Skill Creator (universal) ─────────────────────────────────────────────
|
|
1098
|
+
const SKILL_CREATOR = `---
|
|
1099
|
+
name: skill-creator
|
|
1100
|
+
description: Create new skills, refine existing skills, and define skill eval scenarios. Use whenever the task involves authoring or improving \`.opencode/skills/*\`, expanding \`skill-map.json\`, or strengthening skill-trigger and skill-effect evals.
|
|
1101
|
+
---
|
|
1102
|
+
|
|
1103
|
+
# Skill Creator
|
|
1104
|
+
|
|
1105
|
+
Use this skill when working on the harness skill system itself.
|
|
1106
|
+
|
|
1107
|
+
## When this skill activates
|
|
1108
|
+
- Creating a new skill under \`.opencode/skills/\`
|
|
1109
|
+
- Editing an existing \`SKILL.md\`
|
|
1110
|
+
- Updating \`.opencode/skill-map.json\`
|
|
1111
|
+
- Strengthening evals that must prove a skill triggers and changes agent behavior
|
|
1112
|
+
|
|
1113
|
+
## Required Steps
|
|
1114
|
+
1. Define the intended trigger surface in the skill description, not only in the body.
|
|
1115
|
+
2. Make the skill description explicit enough that the agent will consult it in realistic user prompts.
|
|
1116
|
+
3. Add or update at least 2 realistic trigger eval prompts and at least 2 near-miss non-trigger prompts when changing a skill's description or scope.
|
|
1117
|
+
4. Add at least one behavioral eval that proves the skill changes agent behavior, not only that the file exists.
|
|
1118
|
+
5. Prefer narrow, reusable resources inside the skill directory when instructions grow beyond a compact \`SKILL.md\`.
|
|
1119
|
+
|
|
1120
|
+
## Anti-patterns to avoid
|
|
1121
|
+
- Writing a skill with a vague description that under-triggers.
|
|
1122
|
+
- Declaring a skill complete without a trigger eval and a behavior-change eval.
|
|
1123
|
+
- Stuffing workflow-specific examples into the description instead of trigger criteria.
|
|
1124
|
+
- Expanding \`skill-map.json\` without adding a scenario that proves the mapping works.
|
|
1125
|
+
`;
|
|
1096
1126
|
//# sourceMappingURL=skills.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/templates/skills.ts"],"names":[],"mappings":";;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/templates/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/templates/state.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/templates/state.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAenD"}
|
package/dist/templates/state.js
CHANGED
|
@@ -7,207 +7,180 @@ exports.writeState = writeState;
|
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
function writeState(projectDir) {
|
|
10
|
-
const
|
|
10
|
+
const opencodeDir = path_1.default.join(projectDir, ".opencode");
|
|
11
|
+
const stateDir = path_1.default.join(opencodeDir, "state");
|
|
12
|
+
const templatesDir = path_1.default.join(opencodeDir, "templates");
|
|
13
|
+
const hooksDir = path_1.default.join(opencodeDir, "hooks");
|
|
14
|
+
(0, fs_1.mkdirSync)(hooksDir, { recursive: true });
|
|
11
15
|
(0, fs_1.writeFileSync)(path_1.default.join(stateDir, "persistent-context.md"), PERSISTENT_CONTEXT);
|
|
12
16
|
(0, fs_1.writeFileSync)(path_1.default.join(stateDir, "execution-state.md"), EXECUTION_STATE);
|
|
13
|
-
(0, fs_1.writeFileSync)(path_1.default.join(stateDir, "
|
|
14
|
-
(0, fs_1.writeFileSync)(path_1.default.join(
|
|
15
|
-
(0, fs_1.writeFileSync)(path_1.default.join(
|
|
17
|
+
(0, fs_1.writeFileSync)(path_1.default.join(stateDir, "README.md"), STATE_README);
|
|
18
|
+
(0, fs_1.writeFileSync)(path_1.default.join(opencodeDir, ".gitignore"), OPENCODE_GITIGNORE);
|
|
19
|
+
(0, fs_1.writeFileSync)(path_1.default.join(templatesDir, "spec-state-readme.md"), SPEC_STATE_README_TEMPLATE);
|
|
20
|
+
(0, fs_1.writeFileSync)(path_1.default.join(hooksDir, "pre-commit"), HOOKS_PRE_COMMIT);
|
|
21
|
+
try {
|
|
22
|
+
(0, fs_1.chmodSync)(path_1.default.join(hooksDir, "pre-commit"), 0o755);
|
|
23
|
+
}
|
|
24
|
+
catch { /* skip */ }
|
|
16
25
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<!--
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
<!--
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
<!--
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<!--
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<!--
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<!--
|
|
58
|
-
<!-- Format: - **Term**: definition -->
|
|
26
|
+
const PERSISTENT_CONTEXT = `# Persistent Context
|
|
27
|
+
|
|
28
|
+
This file persists important context across sessions. Update it when you learn something
|
|
29
|
+
that should be remembered long-term about this project.
|
|
30
|
+
|
|
31
|
+
## Project Identity
|
|
32
|
+
|
|
33
|
+
- **Name**: (fill in)
|
|
34
|
+
- **Purpose**: (fill in)
|
|
35
|
+
- **Tech stack**: (fill in)
|
|
36
|
+
- **Team size**: (fill in)
|
|
37
|
+
|
|
38
|
+
## Architectural Decisions
|
|
39
|
+
|
|
40
|
+
<!-- Record significant architectural decisions here -->
|
|
41
|
+
<!-- Format: ## Decision: <title> / Date: YYYY-MM-DD / Status: ACCEPTED|DEPRECATED -->
|
|
42
|
+
|
|
43
|
+
## Known Constraints
|
|
44
|
+
|
|
45
|
+
<!-- Hard constraints that affect all decisions -->
|
|
46
|
+
<!-- Examples: "Must support IE11", "Max 200ms response time", "No new dependencies without approval" -->
|
|
47
|
+
|
|
48
|
+
## Recurring Patterns
|
|
49
|
+
|
|
50
|
+
<!-- Patterns that appear repeatedly in this codebase -->
|
|
51
|
+
<!-- Update after /j.finish-setup or when you discover a strong pattern -->
|
|
52
|
+
|
|
53
|
+
## Anti-Patterns Found
|
|
54
|
+
|
|
55
|
+
<!-- Things that have been tried and caused problems -->
|
|
56
|
+
<!-- Format: - <pattern>: <why it's bad in this codebase> -->
|
|
57
|
+
|
|
58
|
+
## External Systems
|
|
59
|
+
|
|
60
|
+
<!-- APIs, services, databases this project depends on -->
|
|
61
|
+
<!-- Format: - **Name**: purpose, auth method, rate limits -->
|
|
62
|
+
|
|
63
|
+
## Glossary
|
|
64
|
+
|
|
65
|
+
<!-- Domain-specific terms and their meanings -->
|
|
66
|
+
<!-- Format: - **Term**: definition -->
|
|
59
67
|
`;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- **
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
|
|
72
|
-
## Task List
|
|
73
|
-
|
|
74
|
-
<!--
|
|
75
|
-
<!-- Format: - [ ] task description (agent: @j.agentname) -->
|
|
76
|
-
|
|
77
|
-
## In Progress
|
|
78
|
-
|
|
79
|
-
<!-- Currently active work items -->
|
|
80
|
-
|
|
81
|
-
## Completed This Session
|
|
82
|
-
|
|
83
|
-
<!-- Finished items — move here from Task List when done -->
|
|
84
|
-
|
|
85
|
-
## Blocked
|
|
86
|
-
|
|
87
|
-
<!-- Items that can't proceed — include blocker description -->
|
|
88
|
-
<!-- Format: - [ ] task (BLOCKED: reason) -->
|
|
89
|
-
|
|
90
|
-
## Session Log
|
|
91
|
-
|
|
92
|
-
<!-- Brief log of what happened — helps with /handoff -->
|
|
93
|
-
<!-- Format: HH:MM - action taken -->
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
*Last updated: (auto-filled)*
|
|
98
|
-
*Next action: (fill in at end of session for /j.handoff)*
|
|
68
|
+
const EXECUTION_STATE = `# Execution State
|
|
69
|
+
|
|
70
|
+
Tracks the local session summary. Feature-local task state lives under
|
|
71
|
+
docs/specs/{feature-slug}/state/.
|
|
72
|
+
|
|
73
|
+
## Current Session
|
|
74
|
+
|
|
75
|
+
- **Started**: (auto-filled by /j.start-work)
|
|
76
|
+
- **Goal**: (auto-filled)
|
|
77
|
+
- **Plan**: (path to plan.md if active)
|
|
78
|
+
- **Feature slug**: (auto-filled when a spec/plan is active)
|
|
79
|
+
|
|
80
|
+
## Task List
|
|
81
|
+
|
|
82
|
+
<!-- High-level session checklist only. Detailed task execution belongs under docs/specs/{slug}/state/tasks/. -->
|
|
83
|
+
<!-- Format: - [ ] task description (agent: @j.agentname) -->
|
|
84
|
+
|
|
85
|
+
## In Progress
|
|
86
|
+
|
|
87
|
+
<!-- Currently active work items -->
|
|
88
|
+
|
|
89
|
+
## Completed This Session
|
|
90
|
+
|
|
91
|
+
<!-- Finished items — move here from Task List when done -->
|
|
92
|
+
|
|
93
|
+
## Blocked
|
|
94
|
+
|
|
95
|
+
<!-- Items that can't proceed — include blocker description -->
|
|
96
|
+
<!-- Format: - [ ] task (BLOCKED: reason) -->
|
|
97
|
+
|
|
98
|
+
## Session Log
|
|
99
|
+
|
|
100
|
+
<!-- Brief log of what happened — helps with /j.handoff -->
|
|
101
|
+
<!-- Format: HH:MM - action taken -->
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
*Last updated: (auto-filled)*
|
|
106
|
+
*Next action: (fill in at end of session for /j.handoff)*
|
|
99
107
|
`;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|-----------|------|-------|
|
|
116
|
-
| (none yet) | — | — |
|
|
117
|
-
|
|
118
|
-
## Technical Debt (NOTE tier)
|
|
119
|
-
|
|
120
|
-
Accepted concerns that don't block approval — review in next iteration:
|
|
121
|
-
|
|
122
|
-
- (none)
|
|
123
|
-
|
|
124
|
-
## Fixes Applied Directly (FIX tier)
|
|
125
|
-
|
|
126
|
-
Changes made by @j.validator to resolve FIX-tier issues:
|
|
127
|
-
|
|
128
|
-
- (none)
|
|
129
|
-
|
|
130
|
-
## Blockers (BLOCK tier)
|
|
131
|
-
|
|
132
|
-
Must be resolved before approval can be granted:
|
|
133
|
-
|
|
134
|
-
- (none)
|
|
135
|
-
|
|
136
|
-
## Verdict
|
|
137
|
-
|
|
138
|
-
(APPROVED | APPROVED_WITH_NOTES | BLOCKED)
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
*Reset by UNIFY at end of each feature cycle.*
|
|
108
|
+
const STATE_README = `# OpenCode State
|
|
109
|
+
|
|
110
|
+
This directory is local-only session state. It should never be shared through git.
|
|
111
|
+
|
|
112
|
+
What belongs here:
|
|
113
|
+
- \`execution-state.md\` — local session summary
|
|
114
|
+
- \`persistent-context.md\` — local persistent memory used by the harness in this workspace
|
|
115
|
+
- \`active-plan.json\` — session-level pointer to the currently active spec/plan bundle
|
|
116
|
+
|
|
117
|
+
What does not belong here:
|
|
118
|
+
- repository config (\`.opencode/juninho-config.json\`)
|
|
119
|
+
- skill map (\`.opencode/skill-map.json\`)
|
|
120
|
+
- per-feature task state (\`docs/specs/{feature-slug}/state/\`)
|
|
121
|
+
|
|
122
|
+
Per-feature task state continues to live in \`docs/specs/{feature-slug}/state/\`.
|
|
143
123
|
`;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
## Current Task
|
|
151
|
-
|
|
152
|
-
- Task ID: (from plan.md)
|
|
153
|
-
- Wave: (wave number)
|
|
154
|
-
- Worktree: (path, e.g., worktrees/feature-task-1)
|
|
155
|
-
- Branch: (feature branch name)
|
|
156
|
-
|
|
157
|
-
## Decisions Made
|
|
158
|
-
|
|
159
|
-
Choices made during implementation that deviate from or extend the plan:
|
|
160
|
-
|
|
161
|
-
- (none)
|
|
162
|
-
|
|
163
|
-
## Blockers
|
|
164
|
-
|
|
165
|
-
Issues that need resolution before task can proceed:
|
|
166
|
-
|
|
167
|
-
- (none)
|
|
168
|
-
|
|
169
|
-
## Files Modified
|
|
170
|
-
|
|
171
|
-
Track which files were changed in this session:
|
|
172
|
-
|
|
173
|
-
- (none)
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
*Updated by @j.implementer. Reset by UNIFY at end of each feature cycle.*
|
|
124
|
+
const OPENCODE_GITIGNORE = `node_modules
|
|
125
|
+
bun.lock
|
|
126
|
+
package-lock.json
|
|
127
|
+
state/
|
|
128
|
+
state/**
|
|
178
129
|
`;
|
|
179
|
-
const
|
|
130
|
+
const SPEC_STATE_README_TEMPLATE = `# Feature State
|
|
131
|
+
|
|
132
|
+
This directory stores canonical harness state for \`docs/specs/{feature-slug}/\`.
|
|
180
133
|
|
|
181
|
-
|
|
182
|
-
Edit these defaults to match your delivery workflow.
|
|
134
|
+
## Layout
|
|
183
135
|
|
|
184
|
-
|
|
136
|
+
- \`README.md\`
|
|
137
|
+
- this file
|
|
138
|
+
- \`implementer-work.md\`
|
|
139
|
+
- append-only feature log for cross-task decisions, retries, and deviations
|
|
140
|
+
- \`check-review.md\`
|
|
141
|
+
- latest repo-wide verification + detailed review report used to drive follow-up corrections
|
|
142
|
+
- \`integration-state.json\`
|
|
143
|
+
- source of truth for validated task commits, feature-branch commits, and cleanup status
|
|
144
|
+
- \`tasks/\`
|
|
145
|
+
- one directory per task: \`task-{id}/\`
|
|
146
|
+
- \`sessions/\`
|
|
147
|
+
- one runtime metadata file per spawned session: \`{sessionID}-runtime.json\`
|
|
185
148
|
|
|
186
|
-
|
|
187
|
-
- post_implement_full_check: enabled
|
|
188
|
-
- reenter_implement_on_full_check_failure: enabled
|
|
149
|
+
## Task Directory
|
|
189
150
|
|
|
190
|
-
|
|
151
|
+
Each task lives under \`tasks/task-{id}/\`.
|
|
191
152
|
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
- create_pull_request: true
|
|
198
|
-
- create_delivery_pr_body: true
|
|
153
|
+
Files used by the harness:
|
|
154
|
+
- \`execution-state.md\`
|
|
155
|
+
- \`validator-work.md\`
|
|
156
|
+
- \`retry-state.json\`
|
|
157
|
+
- \`runtime.json\`
|
|
199
158
|
|
|
200
|
-
##
|
|
159
|
+
## Session Runtime
|
|
160
|
+
|
|
161
|
+
\`sessions/{sessionID}-runtime.json\` maps a live OpenCode session back to its task runtime metadata.
|
|
162
|
+
These files are operational metadata only.
|
|
163
|
+
|
|
164
|
+
## Rules
|
|
165
|
+
|
|
166
|
+
- The harness writes feature state only in this directory tree.
|
|
167
|
+
- Task-specific files must live under \`tasks/task-{id}/\`.
|
|
168
|
+
- Session runtime files must live under \`sessions/\`.
|
|
169
|
+
- \`integration-state.json\` and \`implementer-work.md\` stay at the root of this feature state directory.
|
|
170
|
+
- \`check-review.md\` stays at the root of this feature state directory and is overwritten by the latest full-check pass.
|
|
171
|
+
- When \`check-review.md\` identifies required changes after a task is already COMPLETE, create a new follow-up task instead of reopening the completed task.
|
|
172
|
+
`;
|
|
173
|
+
const HOOKS_PRE_COMMIT = `#!/bin/sh
|
|
174
|
+
set -e
|
|
201
175
|
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
- prefer_principle_docs_for_cross_cutting_tech: true
|
|
205
|
-
- sync_markers: enabled
|
|
176
|
+
ROOT_DIR="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
177
|
+
SCRIPT_PATH="$ROOT_DIR/.opencode/scripts/pre-commit.sh"
|
|
206
178
|
|
|
207
|
-
|
|
179
|
+
if [ ! -x "$SCRIPT_PATH" ]; then
|
|
180
|
+
echo "[juninho:pre-commit] Missing executable script: $SCRIPT_PATH" >&2
|
|
181
|
+
exit 1
|
|
182
|
+
fi
|
|
208
183
|
|
|
209
|
-
|
|
210
|
-
- \`post_implement_full_check\` means the orchestrator should run \`.opencode/scripts/check-all.sh\` after \`@j.implementer\` exits.
|
|
211
|
-
- When \`reenter_implement_on_full_check_failure\` is enabled, pass the failing output back to \`@j.implementer\` instead of fixing it outside the implementation loop.
|
|
184
|
+
exec "$SCRIPT_PATH"
|
|
212
185
|
`;
|
|
213
186
|
//# sourceMappingURL=state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/templates/state.ts"],"names":[],"mappings":";;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/templates/state.ts"],"names":[],"mappings":";;;;;AAGA,gCAeC;AAlBD,2BAAwD;AACxD,gDAAuB;AAEvB,SAAgB,UAAU,CAAC,UAAkB;IAC3C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAEhD,IAAA,cAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExC,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,EAAE,kBAAkB,CAAC,CAAA;IAC/E,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,eAAe,CAAC,CAAA;IACzE,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAA;IAC7D,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACvE,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,0BAA0B,CAAC,CAAA;IAC1F,IAAA,kBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAClE,IAAI,CAAC;QAAC,IAAA,cAAS,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC1B,CAAA;AAED,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCvB,CAAA;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;CAepB,CAAA;AAED,MAAM,kBAAkB,GAAG;;;;;CAK1B,CAAA;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClC,CAAA;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;CAYxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support-scripts.d.ts","sourceRoot":"","sources":["../../src/templates/support-scripts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,WAA2B,EACxC,QAAQ,GAAE,OAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,
|
|
1
|
+
{"version":3,"file":"support-scripts.d.ts","sourceRoot":"","sources":["../../src/templates/support-scripts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,WAA2B,EACxC,QAAQ,GAAE,OAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAYN"}
|