@ranimontagna/agent-toolkit 0.2.3 → 0.3.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.
Files changed (138) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +45 -7
  3. package/dist/bin/agent-toolkit.js +9 -4
  4. package/dist/bin/agent-toolkit.js.map +1 -1
  5. package/dist/src/ariadne/args.d.ts +2 -0
  6. package/dist/src/ariadne/args.js +146 -0
  7. package/dist/src/ariadne/args.js.map +1 -0
  8. package/dist/src/ariadne/checks.d.ts +24 -0
  9. package/dist/src/ariadne/checks.js +74 -0
  10. package/dist/src/ariadne/checks.js.map +1 -0
  11. package/dist/src/ariadne/cli.d.ts +38 -0
  12. package/dist/src/ariadne/cli.js +206 -0
  13. package/dist/src/ariadne/cli.js.map +1 -0
  14. package/dist/src/ariadne/doctor.d.ts +16 -0
  15. package/dist/src/ariadne/doctor.js +207 -0
  16. package/dist/src/ariadne/doctor.js.map +1 -0
  17. package/dist/src/ariadne/git.d.ts +58 -0
  18. package/dist/src/ariadne/git.js +577 -0
  19. package/dist/src/ariadne/git.js.map +1 -0
  20. package/dist/src/ariadne/import.d.ts +2 -0
  21. package/dist/src/ariadne/import.js +93 -0
  22. package/dist/src/ariadne/import.js.map +1 -0
  23. package/dist/src/ariadne/init.d.ts +47 -0
  24. package/dist/src/ariadne/init.js +345 -0
  25. package/dist/src/ariadne/init.js.map +1 -0
  26. package/dist/src/ariadne/lock.d.ts +22 -0
  27. package/dist/src/ariadne/lock.js +478 -0
  28. package/dist/src/ariadne/lock.js.map +1 -0
  29. package/dist/src/ariadne/loop.d.ts +26 -0
  30. package/dist/src/ariadne/loop.js +1316 -0
  31. package/dist/src/ariadne/loop.js.map +1 -0
  32. package/dist/src/ariadne/ownership.d.ts +32 -0
  33. package/dist/src/ariadne/ownership.js +161 -0
  34. package/dist/src/ariadne/ownership.js.map +1 -0
  35. package/dist/src/ariadne/process.d.ts +27 -0
  36. package/dist/src/ariadne/process.js +302 -0
  37. package/dist/src/ariadne/process.js.map +1 -0
  38. package/dist/src/ariadne/prompt.d.ts +11 -0
  39. package/dist/src/ariadne/prompt.js +29 -0
  40. package/dist/src/ariadne/prompt.js.map +1 -0
  41. package/dist/src/ariadne/render.d.ts +7 -0
  42. package/dist/src/ariadne/render.js +72 -0
  43. package/dist/src/ariadne/render.js.map +1 -0
  44. package/dist/src/ariadne/result.d.ts +54 -0
  45. package/dist/src/ariadne/result.js +129 -0
  46. package/dist/src/ariadne/result.js.map +1 -0
  47. package/dist/src/ariadne/runtimes/antigravity.d.ts +2 -0
  48. package/dist/src/ariadne/runtimes/antigravity.js +17 -0
  49. package/dist/src/ariadne/runtimes/antigravity.js.map +1 -0
  50. package/dist/src/ariadne/runtimes/claude.d.ts +2 -0
  51. package/dist/src/ariadne/runtimes/claude.js +17 -0
  52. package/dist/src/ariadne/runtimes/claude.js.map +1 -0
  53. package/dist/src/ariadne/runtimes/codex.d.ts +2 -0
  54. package/dist/src/ariadne/runtimes/codex.js +24 -0
  55. package/dist/src/ariadne/runtimes/codex.js.map +1 -0
  56. package/dist/src/ariadne/runtimes/gemini.d.ts +2 -0
  57. package/dist/src/ariadne/runtimes/gemini.js +18 -0
  58. package/dist/src/ariadne/runtimes/gemini.js.map +1 -0
  59. package/dist/src/ariadne/runtimes/index.d.ts +4 -0
  60. package/dist/src/ariadne/runtimes/index.js +82 -0
  61. package/dist/src/ariadne/runtimes/index.js.map +1 -0
  62. package/dist/src/ariadne/runtimes/opencode.d.ts +2 -0
  63. package/dist/src/ariadne/runtimes/opencode.js +19 -0
  64. package/dist/src/ariadne/runtimes/opencode.js.map +1 -0
  65. package/dist/src/ariadne/runtimes/shared.d.ts +24 -0
  66. package/dist/src/ariadne/runtimes/shared.js +141 -0
  67. package/dist/src/ariadne/runtimes/shared.js.map +1 -0
  68. package/dist/src/ariadne/runtimes/types.d.ts +56 -0
  69. package/dist/src/ariadne/runtimes/types.js +3 -0
  70. package/dist/src/ariadne/runtimes/types.js.map +1 -0
  71. package/dist/src/ariadne/schema.d.ts +11 -0
  72. package/dist/src/ariadne/schema.js +214 -0
  73. package/dist/src/ariadne/schema.js.map +1 -0
  74. package/dist/src/ariadne/status.d.ts +72 -0
  75. package/dist/src/ariadne/status.js +280 -0
  76. package/dist/src/ariadne/status.js.map +1 -0
  77. package/dist/src/ariadne/store.d.ts +99 -0
  78. package/dist/src/ariadne/store.js +738 -0
  79. package/dist/src/ariadne/store.js.map +1 -0
  80. package/dist/src/ariadne/types.d.ts +128 -0
  81. package/dist/src/ariadne/types.js +5 -0
  82. package/dist/src/ariadne/types.js.map +1 -0
  83. package/dist/src/ariadne/usage.d.ts +1 -0
  84. package/dist/src/ariadne/usage.js +8 -0
  85. package/dist/src/ariadne/usage.js.map +1 -0
  86. package/dist/src/build-skills-index.d.ts +3 -0
  87. package/dist/src/build-skills-index.js +50 -0
  88. package/dist/src/build-skills-index.js.map +1 -0
  89. package/dist/src/cli.d.ts +5 -0
  90. package/dist/src/cli.js +14 -0
  91. package/dist/src/cli.js.map +1 -0
  92. package/dist/src/context.js.map +1 -1
  93. package/dist/src/lock-update.js.map +1 -1
  94. package/dist/src/main.js.map +1 -1
  95. package/dist/src/release.js.map +1 -1
  96. package/dist/src/skill-targets.js.map +1 -1
  97. package/dist/src/skills-audit.d.ts +6 -0
  98. package/dist/src/skills-audit.js +68 -2
  99. package/dist/src/skills-audit.js.map +1 -1
  100. package/dist/src/skills-index.d.ts +12 -0
  101. package/dist/src/skills-index.js +50 -0
  102. package/dist/src/skills-index.js.map +1 -0
  103. package/dist/src/stage-agent-skills.d.ts +1 -0
  104. package/dist/src/stage-agent-skills.js +32 -0
  105. package/dist/src/stage-agent-skills.js.map +1 -0
  106. package/dist/src/system.js.map +1 -1
  107. package/dist/src/tool-lock.d.ts +20 -0
  108. package/dist/src/tool-lock.js +26 -0
  109. package/dist/src/tool-lock.js.map +1 -1
  110. package/dist/src/usage.js +1 -0
  111. package/dist/src/usage.js.map +1 -1
  112. package/package.json +15 -8
  113. package/skills/frontend/accessibility/BRIEF.md +11 -0
  114. package/skills/frontend/accessibility/NOTICE.md +3 -0
  115. package/skills/frontend/accessibility/SKILL.md +10 -0
  116. package/skills/frontend/astro/astro-react-landing/BRIEF.md +10 -0
  117. package/skills/frontend/astro/astro-react-landing/SKILL.md +42 -0
  118. package/skills/frontend/design/frontend-design/BRIEF.md +10 -0
  119. package/skills/frontend/design/frontend-design/SKILL.md +38 -0
  120. package/skills/frontend/design/ui-ux-pro-max/BRIEF.md +11 -0
  121. package/skills/frontend/design/ui-ux-pro-max/NOTICE.md +3 -0
  122. package/skills/frontend/design/ui-ux-pro-max/SKILL.md +15 -0
  123. package/skills/frontend/gsap/gsap-motion/BRIEF.md +10 -0
  124. package/skills/frontend/gsap/gsap-motion/SKILL.md +36 -0
  125. package/skills/frontend/seo/seo-page/BRIEF.md +10 -0
  126. package/skills/frontend/seo/seo-page/SKILL.md +34 -0
  127. package/skills/quality/biome-formatting/BRIEF.md +9 -0
  128. package/skills/quality/biome-formatting/SKILL.md +27 -0
  129. package/skills/research/instagram-public-research/BRIEF.md +10 -0
  130. package/skills/research/instagram-public-research/SKILL.md +41 -0
  131. package/skills/research/research-data-collection/BRIEF.md +11 -0
  132. package/skills/research/research-data-collection/SKILL.md +40 -0
  133. package/skills/workflow/ariadne/NOTICE.md +11 -0
  134. package/skills/workflow/ariadne/SKILL.md +96 -0
  135. package/skills/workflow/ariadne-prd/NOTICE.md +11 -0
  136. package/skills/workflow/ariadne-prd/SKILL.md +69 -0
  137. package/skills.index.json +299 -0
  138. package/tools.lock.json +40 -21
@@ -0,0 +1,16 @@
1
+ import { type AriadneStatusInput, type AriadneStatusReport } from "./status.js";
2
+ export { formatAriadneDoctor } from "./render.js";
3
+ export type AriadneDoctorIssue = {
4
+ code: string;
5
+ severity: "error" | "warning";
6
+ message: string;
7
+ };
8
+ export type AriadneDoctorReport = {
9
+ schemaVersion: 1;
10
+ command: "doctor";
11
+ ok: boolean;
12
+ issues: AriadneDoctorIssue[];
13
+ status: AriadneStatusReport;
14
+ };
15
+ export type AriadneDoctorInput = Omit<AriadneStatusInput, "state" | "lock" | "ownershipViolation">;
16
+ export declare function buildAriadneDoctor(input: AriadneDoctorInput): AriadneDoctorReport;
@@ -0,0 +1,207 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { buildAriadneStatus, createAriadneGit, inspectAriadneLock, } from "./status.js";
4
+ import { AriadneStore as Store } from "./store.js";
5
+ export { formatAriadneDoctor } from "./render.js";
6
+ function issue(issues, code, severity, message) {
7
+ issues.push({ code, severity, message });
8
+ }
9
+ function fallbackPrd(projectRoot, branchName) {
10
+ return {
11
+ schemaVersion: 1,
12
+ project: path.basename(projectRoot),
13
+ branchName: branchName || "unknown",
14
+ description: "Invalid or unavailable Ariadne state",
15
+ userStories: [],
16
+ };
17
+ }
18
+ function fallbackConfig() {
19
+ return {
20
+ schemaVersion: 1,
21
+ qualityChecks: [],
22
+ maxAttemptsPerStory: 3,
23
+ };
24
+ }
25
+ function readState(store, projectRoot, issues) {
26
+ let prd;
27
+ let config;
28
+ const failures = [];
29
+ try {
30
+ prd = store.loadPrd();
31
+ }
32
+ catch (error) {
33
+ failures.push(`prd.json: ${error instanceof Error ? error.message : String(error)}`);
34
+ }
35
+ try {
36
+ config = store.loadConfig();
37
+ }
38
+ catch (error) {
39
+ failures.push(`config.json: ${error instanceof Error ? error.message : String(error)}`);
40
+ }
41
+ if (failures.length > 0) {
42
+ issue(issues, "invalid_schema", "error", `Ariadne state is missing or invalid: ${failures.join("; ")}`);
43
+ }
44
+ return {
45
+ prd: prd ?? fallbackPrd(projectRoot, "unknown"),
46
+ config: config ?? fallbackConfig(),
47
+ prdValid: prd !== undefined,
48
+ configValid: config !== undefined,
49
+ };
50
+ }
51
+ function missingIgnoreEntries(projectRoot) {
52
+ let contents = "";
53
+ try {
54
+ contents = fs.readFileSync(path.join(projectRoot, ".gitignore"), "utf8");
55
+ }
56
+ catch (error) {
57
+ if (error.code !== "ENOENT")
58
+ throw error;
59
+ }
60
+ const lines = new Set(contents.split(/\r?\n/));
61
+ return [".ariadne/lock", ".ariadne/runs/", ".ariadne-quarantine.json"].filter((entry) => !lines.has(entry));
62
+ }
63
+ function minimalStatus(projectRoot, state, currentBranch, dirty, lock, ownershipViolation) {
64
+ const stories = { pending: 0, inProgress: 0, completed: 0, blocked: 0 };
65
+ for (const story of state.prd.userStories) {
66
+ if (story.status === "in_progress")
67
+ stories.inProgress += 1;
68
+ else
69
+ stories[story.status] += 1;
70
+ }
71
+ const active = state.prd.userStories.find((story) => story.status === "in_progress");
72
+ const blocked = state.prd.userStories.find((story) => story.status === "blocked");
73
+ const store = new Store(projectRoot);
74
+ return {
75
+ schemaVersion: 1,
76
+ command: "status",
77
+ project: state.prd.project,
78
+ branch: { configured: state.prd.branchName, current: currentBranch },
79
+ stories,
80
+ ...(active
81
+ ? {
82
+ activeStory: {
83
+ id: active.id,
84
+ title: active.title,
85
+ attempts: active.attempts,
86
+ },
87
+ }
88
+ : {}),
89
+ ...(blocked
90
+ ? {
91
+ blockedStory: {
92
+ id: blocked.id,
93
+ title: blocked.title,
94
+ attempts: blocked.attempts,
95
+ },
96
+ }
97
+ : {}),
98
+ ...(ownershipViolation ? { ownershipViolation } : {}),
99
+ dirty,
100
+ lock,
101
+ consecutiveFailures: 0,
102
+ paths: { progress: store.paths.progress, runs: store.paths.runs },
103
+ };
104
+ }
105
+ function statusWithState(input) {
106
+ return buildAriadneStatus({
107
+ projectRoot: input.projectRoot,
108
+ store: input.store,
109
+ git: input.git,
110
+ state: input.state,
111
+ lock: input.lock,
112
+ ownershipViolation: input.ownershipViolation ?? null,
113
+ ...(input.registry ? { registry: input.registry } : {}),
114
+ ...(input.isProcessAlive ? { isProcessAlive: input.isProcessAlive } : {}),
115
+ });
116
+ }
117
+ export function buildAriadneDoctor(input) {
118
+ const issues = [];
119
+ const store = input.store ?? new Store(input.projectRoot);
120
+ const state = readState(store, input.projectRoot, issues);
121
+ const git = input.git ?? createAriadneGit(input.projectRoot);
122
+ let gitReady = true;
123
+ let currentBranch = "unknown";
124
+ let dirty = false;
125
+ try {
126
+ git.assertRepository();
127
+ currentBranch = git.currentBranch();
128
+ dirty = git.statusPorcelain() !== "";
129
+ }
130
+ catch (error) {
131
+ gitReady = false;
132
+ issue(issues, "git_repository", "error", error instanceof Error ? error.message : String(error));
133
+ }
134
+ let lock = { state: "absent" };
135
+ try {
136
+ lock = inspectAriadneLock(store.paths.lock, input.isProcessAlive);
137
+ }
138
+ catch (error) {
139
+ issue(issues, "invalid_lock", "error", error instanceof Error ? error.message : String(error));
140
+ }
141
+ let ownershipViolation;
142
+ try {
143
+ ownershipViolation = store.loadOwnershipViolation();
144
+ }
145
+ catch (error) {
146
+ issue(issues, "invalid_ownership_marker", "error", error instanceof Error ? error.message : String(error));
147
+ }
148
+ let status;
149
+ if (gitReady) {
150
+ status = statusWithState({
151
+ projectRoot: input.projectRoot,
152
+ store,
153
+ git,
154
+ state,
155
+ lock,
156
+ ...(ownershipViolation ? { ownershipViolation } : {}),
157
+ ...(input.registry ? { registry: input.registry } : {}),
158
+ ...(input.isProcessAlive ? { isProcessAlive: input.isProcessAlive } : {}),
159
+ });
160
+ }
161
+ else {
162
+ status = minimalStatus(input.projectRoot, state, currentBranch, dirty, lock, ownershipViolation);
163
+ }
164
+ if (gitReady &&
165
+ state.prdValid &&
166
+ status.branch.current !== status.branch.configured) {
167
+ issue(issues, "wrong_branch", "error", `Configured branch ${status.branch.configured} does not match current branch ${status.branch.current}.`);
168
+ }
169
+ if (status.dirty && !status.activeStory && !status.blockedStory) {
170
+ issue(issues, "dirty_worktree", "error", "The worktree is dirty without an in-progress story to recover.");
171
+ }
172
+ if (ownershipViolation) {
173
+ issue(issues, "ownership_violation", "error", `Run ${ownershipViolation.runId} changed coordinator-owned ${ownershipViolation.changed.join(", ")}; inspect and restore Git/canonical state, then deliberately remove ${store.paths.ownershipViolation}.`);
174
+ }
175
+ if (state.configValid && state.config.qualityChecks.length === 0) {
176
+ issue(issues, "missing_checks", "error", "At least one quality check must be configured.");
177
+ }
178
+ const missingIgnore = missingIgnoreEntries(input.projectRoot);
179
+ if (missingIgnore.length > 0) {
180
+ issue(issues, "missing_gitignore", "warning", `Missing required .gitignore entries: ${missingIgnore.join(", ")}.`);
181
+ }
182
+ if (state.configValid && !state.config.runtime) {
183
+ issue(issues, "runtime_unavailable", "error", "No Ariadne runtime is configured.");
184
+ }
185
+ else if (state.configValid &&
186
+ status.runtime &&
187
+ status.runtime.state !== "healthy") {
188
+ const runtimeState = status.runtime.state;
189
+ issue(issues, `runtime_${runtimeState}`, runtimeState === "unverified" ? "warning" : "error", `Configured runtime ${state.config.runtime} is ${runtimeState}${status.runtime?.version ? ` (version ${status.runtime.version})` : ""}.`);
190
+ }
191
+ if (status.lock.state === "stale") {
192
+ issue(issues, "stale_lock", "warning", `Lock for run ${status.lock.runId ?? "unknown"} belongs to a process that is no longer alive.`);
193
+ }
194
+ if (status.lastRun?.outcome === "interrupted") {
195
+ issue(issues, "interrupted_state", status.activeStory ? "warning" : "error", status.activeStory
196
+ ? `Interrupted story ${status.activeStory.id} is preserved for recovery.`
197
+ : "The last run was interrupted but no in-progress story is available for recovery.");
198
+ }
199
+ return {
200
+ schemaVersion: 1,
201
+ command: "doctor",
202
+ ok: !issues.some((candidate) => candidate.severity === "error"),
203
+ issues,
204
+ status,
205
+ };
206
+ }
207
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/ariadne/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { AriadneStory } from "./types.js";
2
+ export type GitExec = (command: "git", args: string[], cwd: string, env?: NodeJS.ProcessEnv) => {
3
+ ok: boolean;
4
+ status: number;
5
+ stdout: string;
6
+ stderr: string;
7
+ };
8
+ export type AriadneStageCertificate = {
9
+ parentHead: string;
10
+ ref: string;
11
+ tree: string;
12
+ };
13
+ export type AriadnePublicationCertificate = AriadneStageCertificate & {
14
+ commit: string;
15
+ };
16
+ export declare class AriadneGit {
17
+ readonly root: string;
18
+ private readonly exec;
19
+ private pendingStage?;
20
+ private publishedState?;
21
+ constructor(root: string, exec: GitExec);
22
+ private capture;
23
+ private require;
24
+ private privateIndexEnv;
25
+ private removePrivateIndex;
26
+ private discardPendingStage;
27
+ private readRegularFile;
28
+ private writeExclusive;
29
+ private gitIndexPath;
30
+ private assertIndexMatches;
31
+ private atomicReplaceIndex;
32
+ private restoreIndexIfSafe;
33
+ private indexTree;
34
+ assertRepository(): void;
35
+ currentBranch(): string;
36
+ headRef(): string;
37
+ head(): string;
38
+ private refObject;
39
+ private captureRefState;
40
+ private assertRefState;
41
+ statusPorcelain(): string;
42
+ assertReady(expectedBranch: string, allowActiveDiff: boolean): void;
43
+ private indexPaths;
44
+ private treePaths;
45
+ private machineLocalIndexPaths;
46
+ private machineLocalTreePaths;
47
+ private assertMachineLocalBoundary;
48
+ private storyDeltaPaths;
49
+ private assertCompleteDelta;
50
+ stageAll(expectedHead?: string, expectedRef?: string): AriadneStageCertificate;
51
+ private assertPrePublication;
52
+ private assertPublishedState;
53
+ private disabledHooksPath;
54
+ private rollbackPublishedState;
55
+ commit(story: AriadneStory, expectedHead: string, assertPublicationBoundary?: () => void, expectedRef?: string): string;
56
+ assertPublished(commit?: string): void;
57
+ publicationCertificate(): AriadnePublicationCertificate | undefined;
58
+ }