synorch 0.1.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.
Files changed (105) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -0
  3. package/README.md +56 -0
  4. package/dist/application/doctor-service.d.ts +24 -0
  5. package/dist/application/doctor-service.d.ts.map +1 -0
  6. package/dist/application/doctor-service.js +508 -0
  7. package/dist/application/doctor-service.js.map +1 -0
  8. package/dist/application/project-discovery.d.ts +23 -0
  9. package/dist/application/project-discovery.d.ts.map +1 -0
  10. package/dist/application/project-discovery.js +741 -0
  11. package/dist/application/project-discovery.js.map +1 -0
  12. package/dist/application/skill-resolver.d.ts +25 -0
  13. package/dist/application/skill-resolver.d.ts.map +1 -0
  14. package/dist/application/skill-resolver.js +90 -0
  15. package/dist/application/skill-resolver.js.map +1 -0
  16. package/dist/application/structure-service.d.ts +11 -0
  17. package/dist/application/structure-service.d.ts.map +1 -0
  18. package/dist/application/structure-service.js +116 -0
  19. package/dist/application/structure-service.js.map +1 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +170 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/domain/config.d.ts +210 -0
  25. package/dist/domain/config.d.ts.map +1 -0
  26. package/dist/domain/config.js +108 -0
  27. package/dist/domain/config.js.map +1 -0
  28. package/dist/domain/errors.d.ts +5 -0
  29. package/dist/domain/errors.d.ts.map +1 -0
  30. package/dist/domain/errors.js +9 -0
  31. package/dist/domain/errors.js.map +1 -0
  32. package/dist/domain/generation.d.ts +21 -0
  33. package/dist/domain/generation.d.ts.map +1 -0
  34. package/dist/domain/generation.js +2 -0
  35. package/dist/domain/generation.js.map +1 -0
  36. package/dist/domain/product.d.ts +3 -0
  37. package/dist/domain/product.d.ts.map +1 -0
  38. package/dist/domain/product.js +3 -0
  39. package/dist/domain/product.js.map +1 -0
  40. package/dist/domain/skill-packs.d.ts +39 -0
  41. package/dist/domain/skill-packs.d.ts.map +1 -0
  42. package/dist/domain/skill-packs.js +98 -0
  43. package/dist/domain/skill-packs.js.map +1 -0
  44. package/dist/domain/skill-sources.d.ts +20 -0
  45. package/dist/domain/skill-sources.d.ts.map +1 -0
  46. package/dist/domain/skill-sources.js +95 -0
  47. package/dist/domain/skill-sources.js.map +1 -0
  48. package/dist/infrastructure/bundled-skill-library.d.ts +10 -0
  49. package/dist/infrastructure/bundled-skill-library.d.ts.map +1 -0
  50. package/dist/infrastructure/bundled-skill-library.js +108 -0
  51. package/dist/infrastructure/bundled-skill-library.js.map +1 -0
  52. package/dist/infrastructure/file-system.d.ts +21 -0
  53. package/dist/infrastructure/file-system.d.ts.map +1 -0
  54. package/dist/infrastructure/file-system.js +72 -0
  55. package/dist/infrastructure/file-system.js.map +1 -0
  56. package/dist/infrastructure/serialization.d.ts +3 -0
  57. package/dist/infrastructure/serialization.d.ts.map +1 -0
  58. package/dist/infrastructure/serialization.js +11 -0
  59. package/dist/infrastructure/serialization.js.map +1 -0
  60. package/dist/templates/structure-templates.d.ts +4 -0
  61. package/dist/templates/structure-templates.d.ts.map +1 -0
  62. package/dist/templates/structure-templates.js +471 -0
  63. package/dist/templates/structure-templates.js.map +1 -0
  64. package/dist/templates/technology-skill-templates.d.ts +3 -0
  65. package/dist/templates/technology-skill-templates.d.ts.map +1 -0
  66. package/dist/templates/technology-skill-templates.js +73 -0
  67. package/dist/templates/technology-skill-templates.js.map +1 -0
  68. package/package.json +59 -0
  69. package/skill-sources/ingenium/NOTICE.md +11 -0
  70. package/skill-sources/ingenium/skills/db-schema-craft/SKILL.md +127 -0
  71. package/skill-sources/ingenium/skills/debug-detective/SKILL.md +67 -0
  72. package/skill-sources/ingenium/skills/design-system/SKILL.md +57 -0
  73. package/skill-sources/ingenium/skills/docs-sync/SKILL.md +68 -0
  74. package/skill-sources/ingenium/skills/dotnet-backend/SKILL.md +110 -0
  75. package/skill-sources/ingenium/skills/frontend-craft/SKILL.md +69 -0
  76. package/skill-sources/ingenium/skills/game-audio/SKILL.md +73 -0
  77. package/skill-sources/ingenium/skills/game-design/SKILL.md +92 -0
  78. package/skill-sources/ingenium/skills/godot-dev/SKILL.md +78 -0
  79. package/skill-sources/ingenium/skills/human-made-design/SKILL.md +73 -0
  80. package/skill-sources/ingenium/skills/java-backend/SKILL.md +98 -0
  81. package/skill-sources/ingenium/skills/jev/SKILL.md +150 -0
  82. package/skill-sources/ingenium/skills/motion-craft/SKILL.md +66 -0
  83. package/skill-sources/ingenium/skills/multiplayer-netcode/SKILL.md +63 -0
  84. package/skill-sources/ingenium/skills/node-backend/SKILL.md +113 -0
  85. package/skill-sources/ingenium/skills/node-backend/reference.md +144 -0
  86. package/skill-sources/ingenium/skills/perf-audit/SKILL.md +70 -0
  87. package/skill-sources/ingenium/skills/pixel-art-assets/SKILL.md +91 -0
  88. package/skill-sources/ingenium/skills/pixel-art-assets/scripts/px.py +169 -0
  89. package/skill-sources/ingenium/skills/pixel-game-dev/SKILL.md +79 -0
  90. package/skill-sources/ingenium/skills/project-onboard/SKILL.md +78 -0
  91. package/skill-sources/ingenium/skills/pwa-offline/SKILL.md +70 -0
  92. package/skill-sources/ingenium/skills/query-tuning/SKILL.md +137 -0
  93. package/skill-sources/ingenium/skills/react-modern/SKILL.md +92 -0
  94. package/skill-sources/ingenium/skills/refactor-safe/SKILL.md +63 -0
  95. package/skill-sources/ingenium/skills/release-prep/SKILL.md +57 -0
  96. package/skill-sources/ingenium/skills/safe-merge/SKILL.md +91 -0
  97. package/skill-sources/ingenium/skills/session-recap/SKILL.md +95 -0
  98. package/skill-sources/ingenium/skills/session-recap/scripts/extract_session.py +409 -0
  99. package/skill-sources/ingenium/skills/shader-vfx/SKILL.md +70 -0
  100. package/skill-sources/ingenium/skills/tailwind-v4-tokens/SKILL.md +165 -0
  101. package/skill-sources/ingenium/skills/task-conductor/SKILL.md +158 -0
  102. package/skill-sources/ingenium/skills/tauri-game-dev/SKILL.md +81 -0
  103. package/skill-sources/ingenium/skills/ui-ux-design/SKILL.md +96 -0
  104. package/skill-sources/ingenium/skills/vue-modern/SKILL.md +88 -0
  105. package/skill-sources/ingenium/skills/web-kickoff/SKILL.md +63 -0
@@ -0,0 +1,471 @@
1
+ import { SYNORCH_GENERATOR_NAME, SYNORCH_VERSION } from "../domain/product.js";
2
+ import { stringifyYaml } from "../infrastructure/serialization.js";
3
+ export function createStructureFiles(scope) {
4
+ return [
5
+ file("AGENTS.md", codexEntrypoint, "entrypoint"),
6
+ file("CLAUDE.md", claudeEntrypoint, "entrypoint"),
7
+ file(".ai/manifest.yaml", stringifyYaml({
8
+ schema_version: 1,
9
+ generator: { name: SYNORCH_GENERATOR_NAME, version: SYNORCH_VERSION },
10
+ scope,
11
+ routing: {
12
+ mode: "automatic",
13
+ require_session_confirmation: true,
14
+ silent_fallback: false,
15
+ },
16
+ model_profiles: {
17
+ openai: ".ai/model-profiles/openai.yaml",
18
+ claude: ".ai/model-profiles/claude.yaml",
19
+ },
20
+ }), "canonical"),
21
+ file(".ai/workspace.yaml", stringifyYaml({ schema_version: 1, scope, projects: [] }), "canonical"),
22
+ file(".ai/constitution.md", constitution, "canonical"),
23
+ file(".ai/protocols/registry.yaml", protocolRegistry, "canonical"),
24
+ file(".ai/protocols/core/orchestration.md", orchestrationProtocol, "protocol"),
25
+ file(".ai/protocols/core/planning-and-approval.md", planningProtocol, "protocol"),
26
+ file(".ai/protocols/core/delegation.md", delegationProtocol, "protocol"),
27
+ file(".ai/protocols/core/model-routing.md", modelRoutingProtocol, "protocol"),
28
+ file(".ai/protocols/core/context-handoff.md", contextHandoffProtocol, "protocol"),
29
+ file(".ai/protocols/core/verification.md", verificationProtocol, "protocol"),
30
+ file(".ai/protocols/core/failure-recovery.md", failureRecoveryProtocol, "protocol"),
31
+ file(".ai/protocols/core/user-communication.md", userCommunicationProtocol, "protocol"),
32
+ file(".ai/agents/orchestrator/AGENT.md", orchestratorAgent, "agent"),
33
+ file(".ai/agents/explorer/AGENT.md", explorerAgent, "agent"),
34
+ file(".ai/agents/implementer/AGENT.md", implementerAgent, "agent"),
35
+ file(".ai/agents/debugger/AGENT.md", debuggerAgent, "agent"),
36
+ file(".ai/agents/reviewer/AGENT.md", reviewerAgent, "agent"),
37
+ file(".ai/skills/planning/SKILL.md", planningSkill, "skill"),
38
+ file(".ai/skills/project-discovery/SKILL.md", projectDiscoverySkill, "skill"),
39
+ file(".ai/skills/codebase-exploration/SKILL.md", explorationSkill, "skill"),
40
+ file(".ai/skills/implementation/SKILL.md", implementationSkill, "skill"),
41
+ file(".ai/skills/verification/SKILL.md", verificationSkill, "skill"),
42
+ file(".ai/skills/debugging/SKILL.md", debuggingSkill, "skill"),
43
+ file(".ai/skills/code-review/SKILL.md", codeReviewSkill, "skill"),
44
+ file(".ai/model-profiles/openai.yaml", openAiProfile, "canonical"),
45
+ file(".ai/model-profiles/claude.yaml", claudeProfile, "canonical"),
46
+ file(".ai/schemas/context-packet.schema.json", contextPacketSchema, "schema"),
47
+ file(".ai/schemas/completion-packet.schema.json", completionPacketSchema, "schema"),
48
+ file(".ai/providers/codex.md", codexAdapter, "provider"),
49
+ file(".ai/providers/claude-code.md", claudeAdapter, "provider"),
50
+ file(".ai/tasks/.gitkeep", "", "canonical"),
51
+ ];
52
+ }
53
+ function file(relativePath, content, kind) {
54
+ return {
55
+ relativePath,
56
+ content: content.length === 0 || content.endsWith("\n") ? content : `${content}\n`,
57
+ kind,
58
+ };
59
+ }
60
+ const codexEntrypoint = `# Codex Orchestration Entrypoint
61
+
62
+ This session is the orchestrator. Read \`.ai/constitution.md\` and the applicable core protocols before acting.
63
+
64
+ ## Mandatory session bootstrap
65
+
66
+ Before the first task:
67
+
68
+ 1. Read \`.ai/manifest.yaml\` and \`.ai/model-profiles/openai.yaml\`.
69
+ 2. Show the active orchestrator, complex-worker and fast-worker models, routing mode, fallback policy and override source.
70
+ 3. Ask the user whether to continue with or change that profile.
71
+ 4. Do not begin discovery or planning until the user confirms.
72
+ 5. For the active project, read its record from \`.ai/workspace.yaml\`, then read the referenced \`skill_registry\`.
73
+ 6. Read \`.ai/skills/catalog.yaml\` descriptions. Load registered technology skills first; load an on-demand bundled skill only when its description directly matches the current task. Never load the whole library.
74
+
75
+ ## Non-negotiable behavior
76
+
77
+ - Never write or edit product code, tests, project configuration or project documentation yourself.
78
+ - You may write control-plane artifacts only under \`.ai/tasks/**\`.
79
+ - Plan every new task and obtain user approval before execution.
80
+ - Delegate all implementation to worker agents.
81
+ - Give each worker a minimal, evidence-backed task context packet.
82
+ - Require independent verification before reporting completion.
83
+ - Only the orchestrator communicates with the user.
84
+
85
+ If the host cannot provide the configured model or worker delegation capability, report the limitation. Never silently fall back or implement the work yourself.
86
+ `;
87
+ const claudeEntrypoint = `# Claude Code Orchestration Entrypoint
88
+
89
+ This session is the orchestrator. Read \`.ai/constitution.md\` and the applicable core protocols before acting.
90
+
91
+ ## Mandatory session bootstrap
92
+
93
+ Before the first task:
94
+
95
+ 1. Read \`.ai/manifest.yaml\` and \`.ai/model-profiles/claude.yaml\`.
96
+ 2. Show the active orchestrator, complex-worker and fast-worker models, routing mode, fallback policy and override source.
97
+ 3. Ask the user whether to continue with or change that profile.
98
+ 4. Do not begin discovery or planning until the user confirms.
99
+ 5. For the active project, read its record from \`.ai/workspace.yaml\`, then read the referenced \`skill_registry\`.
100
+ 6. Read \`.ai/skills/catalog.yaml\` descriptions. Load registered technology skills first; load an on-demand bundled skill only when its description directly matches the current task. Never load the whole library.
101
+
102
+ ## Non-negotiable behavior
103
+
104
+ - Never write or edit product code, tests, project configuration or project documentation yourself.
105
+ - You may write control-plane artifacts only under \`.ai/tasks/**\`.
106
+ - Plan every new task and obtain user approval before execution.
107
+ - Delegate all implementation to worker agents.
108
+ - Give each worker a minimal, evidence-backed task context packet.
109
+ - Require independent verification before reporting completion.
110
+ - Only the orchestrator communicates with the user.
111
+
112
+ If the host cannot provide the configured model or worker delegation capability, report the limitation. Never silently fall back or implement the work yourself.
113
+ `;
114
+ const constitution = `# AI Development Constitution
115
+
116
+ ## Mission
117
+
118
+ Deliver correct, verified work with the smallest sufficient context and an explicit chain of responsibility.
119
+
120
+ ## Constitutional invariants
121
+
122
+ 1. The user communicates only with the orchestrator.
123
+ 2. The orchestrator analyzes, decides, plans, delegates, monitors and reports; it never implements product changes.
124
+ 3. Every new task requires a user-approved plan before execution.
125
+ 4. All product changes are owned by a worker agent with explicit file or responsibility boundaries.
126
+ 5. Workers receive task-specific context packets instead of raw conversation history.
127
+ 6. A worker does not repeat broad repository discovery already captured as evidence.
128
+ 7. Implementation requires evidence-based verification and independent review proportional to risk.
129
+ 8. Missing capabilities, unavailable models and failures are surfaced; silent fallback is forbidden.
130
+ 9. Lower-priority protocols, agents and skills cannot override this constitution.
131
+ 10. Provider safety and system instructions always take precedence.
132
+ `;
133
+ const protocolRegistry = `schema_version: 1
134
+ protocols:
135
+ - id: core.orchestration
136
+ path: .ai/protocols/core/orchestration.md
137
+ priority: constitutional
138
+ mandatory: true
139
+ - id: core.planning-and-approval
140
+ path: .ai/protocols/core/planning-and-approval.md
141
+ priority: core
142
+ mandatory: true
143
+ - id: core.delegation
144
+ path: .ai/protocols/core/delegation.md
145
+ priority: core
146
+ mandatory: true
147
+ - id: core.model-routing
148
+ path: .ai/protocols/core/model-routing.md
149
+ priority: core
150
+ mandatory: true
151
+ - id: core.context-handoff
152
+ path: .ai/protocols/core/context-handoff.md
153
+ priority: core
154
+ mandatory: true
155
+ - id: core.verification
156
+ path: .ai/protocols/core/verification.md
157
+ priority: core
158
+ mandatory: true
159
+ - id: core.failure-recovery
160
+ path: .ai/protocols/core/failure-recovery.md
161
+ priority: core
162
+ mandatory: true
163
+ - id: core.user-communication
164
+ path: .ai/protocols/core/user-communication.md
165
+ priority: core
166
+ mandatory: true
167
+ `;
168
+ const orchestrationProtocol = `---
169
+ id: core.orchestration
170
+ version: 1.0.0
171
+ priority: constitutional
172
+ mandatory: true
173
+ overridable: false
174
+ ---
175
+
176
+ # Orchestration Protocol
177
+
178
+ Use the state machine:
179
+
180
+ \`SESSION_BOOTSTRAP → MODEL_PROFILE_CONFIRMATION → INTAKE → DISCOVERY → CLARIFICATION → PLAN → USER_APPROVAL → DECOMPOSITION → DISPATCH → MONITORING → VERIFICATION → REVIEW → FINAL_REPORT\`.
181
+
182
+ The orchestrator must not skip a gate. It may read project files and write only task-control records under \`.ai/tasks/**\`. Every product mutation is delegated. Worker questions return to the orchestrator; only material decisions are escalated to the user.
183
+ `;
184
+ const planningProtocol = `---
185
+ id: core.planning-and-approval
186
+ version: 1.0.0
187
+ priority: core
188
+ mandatory: true
189
+ ---
190
+
191
+ # Planning and Approval
192
+
193
+ Before execution, present the understood goal, verified current state, proposed approach, affected areas, task decomposition, model choices, verification plan, assumptions and risks. Wait for explicit user approval. Re-open approval when scope or a material decision changes.
194
+ `;
195
+ const delegationProtocol = `---
196
+ id: core.delegation
197
+ version: 1.0.0
198
+ priority: core
199
+ mandatory: true
200
+ ---
201
+
202
+ # Delegation
203
+
204
+ Give every worker one bounded objective, explicit ownership, constraints, acceptance criteria and an expected report contract. Parallelize only independent tasks. Workers are not alone in the codebase and must not revert or overwrite other workers' changes. Shared-file ownership requires serialization or an explicit integration owner.
205
+ `;
206
+ const modelRoutingProtocol = `---
207
+ id: core.model-routing
208
+ version: 1.0.0
209
+ priority: core
210
+ mandatory: true
211
+ ---
212
+
213
+ # Model Routing
214
+
215
+ Use the active provider profile. Route architecture and final decisions to the orchestrator tier, complex implementation/debugging to the complex-worker tier, and small local low-risk work to the fast-worker tier. Small tasks are still delegated. Do not silently substitute unavailable models. Session overrides do not become persistent defaults unless the user explicitly requests it.
216
+ `;
217
+ const contextHandoffProtocol = `---
218
+ id: core.context-handoff
219
+ version: 1.0.0
220
+ priority: core
221
+ mandatory: true
222
+ ---
223
+
224
+ # Context Handoff
225
+
226
+ Prefer minimal inherited history plus an explicit task context packet. Include objective, rationale, owned/read/forbidden scope, verified facts with provenance, decisions, relevant files and symbols, acceptance criteria, verification commands, non-goals and escalation conditions.
227
+
228
+ Workers may inspect target files and narrowly verify critical facts, but must not repeat broad discovery. Missing context is requested from the orchestrator. Follow-up work uses a delta packet. Worker output follows the completion-packet schema.
229
+ `;
230
+ const verificationProtocol = `---
231
+ id: core.verification
232
+ version: 1.0.0
233
+ priority: core
234
+ mandatory: true
235
+ ---
236
+
237
+ # Verification
238
+
239
+ No task is complete without evidence. Run the narrowest relevant checks first, then broader checks proportional to risk. Record exact commands and outcomes. Never claim a check ran when it did not. A separate reviewer evaluates requirement coverage, diff risk and evidence for material changes.
240
+ `;
241
+ const failureRecoveryProtocol = `---
242
+ id: core.failure-recovery
243
+ version: 1.0.0
244
+ priority: core
245
+ mandatory: true
246
+ ---
247
+
248
+ # Failure, Retry and Escalation
249
+
250
+ On failure, preserve evidence, classify the cause and retry only with a materially changed hypothesis or instruction. Do not loop. Scope changes, stale context, ownership conflicts, unavailable capabilities and user decisions return to the orchestrator. The orchestrator never takes over implementation as a recovery mechanism.
251
+ `;
252
+ const userCommunicationProtocol = `---
253
+ id: core.user-communication
254
+ version: 1.0.0
255
+ priority: core
256
+ mandatory: true
257
+ ---
258
+
259
+ # User Communication
260
+
261
+ Only the orchestrator speaks to the user. Lead with outcomes and decisions. Ask only for choices that materially affect scope or result. Plans and final reports include model routing and verification evidence without exposing unnecessary internal chatter.
262
+ `;
263
+ const orchestratorAgent = `---
264
+ name: orchestrator
265
+ role: control-plane
266
+ writes_product_files: false
267
+ control_plane_write_scope: .ai/tasks/**
268
+ ---
269
+
270
+ # Orchestrator
271
+
272
+ Own requirements, decisions, plans, delegation, context packets, monitoring, review synthesis and user communication. Never implement. Use the planning, project-discovery and verification skills. Treat worker claims as untrusted until supported by evidence.
273
+ `;
274
+ const explorerAgent = `---
275
+ name: explorer
276
+ role: read-only-evidence
277
+ writes_product_files: false
278
+ ---
279
+
280
+ # Explorer
281
+
282
+ Answer one bounded codebase question with paths, symbols and evidence. Do not modify files. Reuse existing project snapshots and task evidence before searching. Report unknowns and confidence explicitly.
283
+ `;
284
+ const implementerAgent = `---
285
+ name: implementer
286
+ role: product-change
287
+ writes_product_files: true
288
+ ---
289
+
290
+ # Implementer
291
+
292
+ Implement only the assigned objective and owned paths. Read the task packet first, preserve concurrent work, run required checks and return a structured completion packet. Escalate scope changes instead of expanding the task.
293
+ `;
294
+ const debuggerAgent = `---
295
+ name: debugger
296
+ role: root-cause-and-fix
297
+ writes_product_files: true
298
+ ---
299
+
300
+ # Debugger
301
+
302
+ Reproduce, narrow the search space, form falsifiable hypotheses, identify root cause, implement the smallest justified fix and prove it. Do not patch symptoms without evidence.
303
+ `;
304
+ const reviewerAgent = `---
305
+ name: reviewer
306
+ role: independent-review
307
+ writes_product_files: false
308
+ ---
309
+
310
+ # Reviewer
311
+
312
+ Independently compare the approved plan, acceptance criteria, diff and verification evidence. Report actionable findings by severity. Do not approve based only on the implementer's summary and do not modify the implementation.
313
+ `;
314
+ const planningSkill = `---
315
+ name: planning
316
+ description: Use for every new user task before implementation begins.
317
+ ---
318
+
319
+ # Planning
320
+
321
+ 1. State the goal and non-goals.
322
+ 2. Separate verified facts, assumptions and decisions.
323
+ 3. Identify risks and material questions.
324
+ 4. Build a dependency-aware task graph with ownership.
325
+ 5. Select worker tiers and verification.
326
+ 6. Present the plan and wait for user approval.
327
+ `;
328
+ const projectDiscoverySkill = `---
329
+ name: project-discovery
330
+ description: Use after manual sync or when a registered project's facts need bounded refresh.
331
+ ---
332
+
333
+ # Project Discovery
334
+
335
+ Read existing AI instructions first. Inspect manifests, lockfiles, README, CI and configuration before source code. Record only evidence-backed languages, frameworks, commands and boundaries. Mark uncertain interpretations as hypotheses. Never invent architecture for an empty project.
336
+ `;
337
+ const explorationSkill = `---
338
+ name: codebase-exploration
339
+ description: Use to answer a specific codebase question before planning or delegation.
340
+ ---
341
+
342
+ # Codebase Exploration
343
+
344
+ Start from the project snapshot and existing evidence. Search by symbol and path, not by reading the entire repository. Return relevant files, relationships, conventions, risks and unanswered questions with provenance.
345
+ `;
346
+ const implementationSkill = `---
347
+ name: implementation
348
+ description: Use by a worker after an approved plan and task packet exist.
349
+ ---
350
+
351
+ # Implementation
352
+
353
+ Confirm objective, ownership and constraints. Inspect the latest target files, make the smallest coherent change, preserve unrelated work, verify incrementally and return a completion packet. Stop and escalate when scope or assumptions change.
354
+ `;
355
+ const verificationSkill = `---
356
+ name: verification
357
+ description: Use before any implementation is reported complete.
358
+ ---
359
+
360
+ # Verification
361
+
362
+ Map each acceptance criterion to evidence. Run focused tests first, then lint/typecheck/build or broader tests according to risk. Record commands, exit status and failures. Distinguish passed, failed and not-run checks.
363
+ `;
364
+ const debuggingSkill = `---
365
+ name: debugging
366
+ description: Use for defects, flaky behavior and unexplained failures.
367
+ ---
368
+
369
+ # Debugging
370
+
371
+ Reproduce first. Establish a minimal failing case, rank hypotheses, gather evidence that can disprove each one, locate root cause, add a regression test, implement the smallest fix and rerun relevant verification.
372
+ `;
373
+ const codeReviewSkill = `---
374
+ name: code-review
375
+ description: Use for independent review after implementation.
376
+ ---
377
+
378
+ # Code Review
379
+
380
+ Review against the approved task, not personal preference. Inspect the actual diff and surrounding code. Prioritize correctness, regressions, security, concurrency and missing tests. Report precise locations and consequences; state explicitly when no actionable finding exists.
381
+ `;
382
+ const openAiProfile = `schema_version: 1
383
+ provider: openai
384
+ defaults:
385
+ orchestrator: gpt-6-astra
386
+ complex_worker: gpt-5.6-sol
387
+ fast_worker: gpt-5.6-luna
388
+ `;
389
+ const claudeProfile = `schema_version: 1
390
+ provider: claude
391
+ defaults:
392
+ orchestrator: fable-5
393
+ complex_worker: opus-5
394
+ fast_worker: sonnet-5
395
+ `;
396
+ const codexAdapter = `# Codex Adapter
397
+
398
+ - Root entrypoint: \`AGENTS.md\`
399
+ - Canonical profile: \`.ai/model-profiles/openai.yaml\`
400
+ - Prefer explicit task packets over full-history forks.
401
+ - Select worker model tiers only when the host supports per-agent model selection.
402
+ - If configured models or delegation are unavailable, stop and report the capability mismatch.
403
+ `;
404
+ const claudeAdapter = `# Claude Code Adapter
405
+
406
+ - Root entrypoint: \`CLAUDE.md\`
407
+ - Canonical profile: \`.ai/model-profiles/claude.yaml\`
408
+ - Prefer explicit task packets over copying the full conversation into subagents.
409
+ - Select worker model tiers only when the host supports per-agent model selection.
410
+ - If configured models or delegation are unavailable, stop and report the capability mismatch.
411
+ `;
412
+ const contextPacketSchema = JSON.stringify({
413
+ $schema: "https://json-schema.org/draft/2020-12/schema",
414
+ title: "Task Context Packet",
415
+ type: "object",
416
+ additionalProperties: false,
417
+ required: [
418
+ "task_id",
419
+ "assigned_role",
420
+ "model_tier",
421
+ "objective",
422
+ "scope",
423
+ "acceptance_criteria",
424
+ "expected_report",
425
+ ],
426
+ properties: {
427
+ task_id: { type: "string", minLength: 1 },
428
+ parent_task_id: { type: ["string", "null"] },
429
+ assigned_role: { type: "string", minLength: 1 },
430
+ model_tier: { enum: ["complex_worker", "fast_worker"] },
431
+ objective: { type: "string", minLength: 1 },
432
+ rationale: { type: "string" },
433
+ scope: {
434
+ type: "object",
435
+ required: ["owned_paths", "read_paths", "forbidden_paths"],
436
+ properties: {
437
+ owned_paths: { type: "array", items: { type: "string" } },
438
+ read_paths: { type: "array", items: { type: "string" } },
439
+ forbidden_paths: { type: "array", items: { type: "string" } },
440
+ },
441
+ },
442
+ known_facts: { type: "array", items: { type: "object" } },
443
+ decisions: { type: "array", items: { type: "string" } },
444
+ relevant_symbols: { type: "array", items: { type: "object" } },
445
+ acceptance_criteria: { type: "array", minItems: 1, items: { type: "string" } },
446
+ verification_commands: { type: "array", items: { type: "string" } },
447
+ non_goals: { type: "array", items: { type: "string" } },
448
+ open_questions: { type: "array", items: { type: "string" } },
449
+ expected_report: { type: "array", minItems: 1, items: { type: "string" } },
450
+ context_version: { type: "integer", minimum: 1 },
451
+ },
452
+ }, null, 2);
453
+ const completionPacketSchema = JSON.stringify({
454
+ $schema: "https://json-schema.org/draft/2020-12/schema",
455
+ title: "Worker Completion Packet",
456
+ type: "object",
457
+ additionalProperties: false,
458
+ required: ["task_id", "status", "summary", "changed_files", "commands_run", "unresolved_risks"],
459
+ properties: {
460
+ task_id: { type: "string", minLength: 1 },
461
+ status: { enum: ["completed", "failed", "needs_context", "blocked"] },
462
+ summary: { type: "string" },
463
+ root_cause: { type: ["string", "null"] },
464
+ changed_files: { type: "array", items: { type: "string" } },
465
+ commands_run: { type: "array", items: { type: "object" } },
466
+ decisions_made: { type: "array", items: { type: "string" } },
467
+ unresolved_risks: { type: "array", items: { type: "string" } },
468
+ recommended_context_updates: { type: "array", items: { type: "string" } },
469
+ },
470
+ }, null, 2);
471
+ //# sourceMappingURL=structure-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure-templates.js","sourceRoot":"","sources":["../../src/templates/structure-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const TECHNOLOGY_SKILL_TEMPLATES: Readonly<Record<string, string>>;
2
+ export declare function getTechnologySkillTemplate(skillId: string): string;
3
+ //# sourceMappingURL=technology-skill-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technology-skill-templates.d.ts","sourceRoot":"","sources":["../../src/templates/technology-skill-templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgEvE,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMlE"}
@@ -0,0 +1,73 @@
1
+ export const TECHNOLOGY_SKILL_TEMPLATES = {
2
+ "typescript-patterns": `---
3
+ name: typescript-patterns
4
+ description: Use when implementing or reviewing code in a module verified to use TypeScript.
5
+ ---
6
+
7
+ # TypeScript Patterns
8
+
9
+ Respect the module's configured TypeScript version and strictness. Model domain states explicitly, narrow unknown values at external boundaries, and prefer inference over duplicated annotations. Do not use \`any\`, non-null assertions, or broad casts to bypass a type error without evidence that the runtime invariant is enforced. Verify with the module's typecheck command.
10
+ `,
11
+ "react-patterns": `---
12
+ name: react-patterns
13
+ description: Use when implementing or reviewing a module verified to use React.
14
+ ---
15
+
16
+ # React Patterns
17
+
18
+ Follow the module's existing component, routing, state, and styling conventions. Keep render logic pure, colocate state with its owner, clean up effects, and preserve client/server boundaries when the framework has them. Prefer accessible semantic controls and test observable user behavior instead of implementation details.
19
+ `,
20
+ "java-patterns": `---
21
+ name: java-patterns
22
+ description: Use when implementing or reviewing code in a module verified to use Java.
23
+ ---
24
+
25
+ # Java Patterns
26
+
27
+ Honor the configured Java release and established package boundaries. Make invalid states difficult to represent, keep nullability and exception behavior explicit, and avoid hidden shared mutability. Prefer small cohesive types over speculative abstractions. Compile and test through the module's verified build tool.
28
+ `,
29
+ "spring-boot-patterns": `---
30
+ name: spring-boot-patterns
31
+ description: Use when working in a module with verified Spring Boot evidence.
32
+ ---
33
+
34
+ # Spring Boot Patterns
35
+
36
+ Keep HTTP concerns at the controller boundary and business rules in application or domain services. Prefer constructor injection, validated request models, explicit error-to-response mapping, and configuration properties over scattered environment reads. Place transaction ownership at a service boundary and test behavior with the narrowest Spring test slice that proves it.
37
+ `,
38
+ "jpa-patterns": `---
39
+ name: jpa-patterns
40
+ description: Use when persistence work targets a module with verified JPA or Hibernate evidence.
41
+ ---
42
+
43
+ # JPA Patterns
44
+
45
+ Design entity relationships around aggregate ownership and actual query paths. Define transaction and fetch boundaries deliberately; inspect generated access patterns for N+1 queries and unintended writes. Keep API serialization separate from managed entities, and pair schema-affecting changes with the project's migration mechanism and repository-level tests.
46
+ `,
47
+ "maven-build": `---
48
+ name: maven-build
49
+ description: Use for build or dependency work in a module with verified Maven evidence.
50
+ ---
51
+
52
+ # Maven Build
53
+
54
+ Use the project wrapper when present and preserve the existing parent, BOM, profile, and plugin-management strategy. Add dependencies at the narrowest correct scope and avoid overriding managed versions without a demonstrated need. Verify focused tests first, then the relevant Maven lifecycle phase used by CI.
55
+ `,
56
+ "gradle-build": `---
57
+ name: gradle-build
58
+ description: Use for build or dependency work in a module with verified Gradle evidence.
59
+ ---
60
+
61
+ # Gradle Build
62
+
63
+ Use the project wrapper and follow its Groovy or Kotlin DSL conventions. Respect existing version catalogs, convention plugins, configurations, and module boundaries. Avoid eager configuration and unscoped dependency additions. Run focused tasks first, then the relevant Gradle checks used by CI.
64
+ `,
65
+ };
66
+ export function getTechnologySkillTemplate(skillId) {
67
+ const template = TECHNOLOGY_SKILL_TEMPLATES[skillId];
68
+ if (template === undefined) {
69
+ throw new Error(`Missing technology skill template for ${skillId}`);
70
+ }
71
+ return template.endsWith("\n") ? template : `${template}\n`;
72
+ }
73
+ //# sourceMappingURL=technology-skill-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technology-skill-templates.js","sourceRoot":"","sources":["../../src/templates/technology-skill-templates.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,qBAAqB,EAAE;;;;;;;;CAQxB;IACC,gBAAgB,EAAE;;;;;;;;CAQnB;IACC,eAAe,EAAE;;;;;;;;CAQlB;IACC,sBAAsB,EAAE;;;;;;;;CAQzB;IACC,cAAc,EAAE;;;;;;;;CAQjB;IACC,aAAa,EAAE;;;;;;;;CAQhB;IACC,cAAc,EAAE;;;;;;;;CAQjB;CACA,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;AAC9D,CAAC"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "synorch",
3
+ "version": "0.1.0",
4
+ "description": "Provider-neutral AI orchestration structure generator for Codex and Claude Code.",
5
+ "keywords": [
6
+ "ai",
7
+ "agents",
8
+ "orchestration",
9
+ "codex",
10
+ "claude-code",
11
+ "cli"
12
+ ],
13
+ "license": "MIT",
14
+ "author": "Tunahan Tuna",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/TunahanTuna/synorch.git"
18
+ },
19
+ "homepage": "https://github.com/TunahanTuna/synorch#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/TunahanTuna/synorch/issues"
22
+ },
23
+ "type": "module",
24
+ "bin": {
25
+ "syn": "dist/cli.js",
26
+ "synorch": "dist/cli.js"
27
+ },
28
+ "files": [
29
+ "dist",
30
+ "skill-sources",
31
+ "README.md",
32
+ "CHANGELOG.md",
33
+ "LICENSE"
34
+ ],
35
+ "scripts": {
36
+ "build": "tsc -p tsconfig.build.json",
37
+ "dev": "node src/cli.ts",
38
+ "typecheck": "tsc -p tsconfig.json --noEmit",
39
+ "test": "node --test tests/*.test.ts",
40
+ "check": "pnpm typecheck && pnpm test && pnpm build",
41
+ "prepack": "pnpm check",
42
+ "release:dry-run": "npm publish --dry-run"
43
+ },
44
+ "engines": {
45
+ "node": ">=24.0.0"
46
+ },
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "packageManager": "pnpm@11.19.0",
51
+ "dependencies": {
52
+ "yaml": "^2.8.1",
53
+ "zod": "^4.1.11"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^24.10.0",
57
+ "typescript": "^5.9.3"
58
+ }
59
+ }
@@ -0,0 +1,11 @@
1
+ # Ingenium skill snapshot
2
+
3
+ This directory contains a bundled snapshot of the project owner's Ingenium skill library.
4
+
5
+ - Author: Tunahan
6
+ - Snapshot: 2026-09-20
7
+ - Catalog source id: `ingenium`
8
+ - Distribution status: project-owned
9
+
10
+ The snapshot is copied into generated projects as a read-only skill library. Automatic activation is restricted to skills backed by verified repository evidence; all other skills remain available for on-demand routing through `.ai/skills/catalog.yaml`.
11
+