@detergent-software/atk 2.1.1 → 3.0.0-dev.10

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 (219) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +77 -37
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts +1 -1
  6. package/build/commands/browse.d.ts.map +1 -1
  7. package/build/commands/browse.js +51 -116
  8. package/build/commands/browse.js.map +1 -1
  9. package/build/commands/cache.d.ts.map +1 -1
  10. package/build/commands/cache.js +1 -4
  11. package/build/commands/cache.js.map +1 -1
  12. package/build/commands/diff.d.ts +1 -1
  13. package/build/commands/diff.d.ts.map +1 -1
  14. package/build/commands/diff.js +3 -2
  15. package/build/commands/diff.js.map +1 -1
  16. package/build/commands/freeze.d.ts.map +1 -1
  17. package/build/commands/freeze.js.map +1 -1
  18. package/build/commands/info.d.ts +1 -1
  19. package/build/commands/info.d.ts.map +1 -1
  20. package/build/commands/info.js +2 -3
  21. package/build/commands/info.js.map +1 -1
  22. package/build/commands/init.d.ts.map +1 -1
  23. package/build/commands/init.js +39 -418
  24. package/build/commands/init.js.map +1 -1
  25. package/build/commands/install.d.ts.map +1 -1
  26. package/build/commands/install.js +46 -31
  27. package/build/commands/install.js.map +1 -1
  28. package/build/commands/list.d.ts +2 -2
  29. package/build/commands/list.d.ts.map +1 -1
  30. package/build/commands/list.js +131 -27
  31. package/build/commands/list.js.map +1 -1
  32. package/build/commands/outdated.d.ts.map +1 -1
  33. package/build/commands/outdated.js +8 -7
  34. package/build/commands/outdated.js.map +1 -1
  35. package/build/commands/prune.d.ts.map +1 -1
  36. package/build/commands/prune.js +35 -47
  37. package/build/commands/prune.js.map +1 -1
  38. package/build/commands/publish.d.ts +3 -1
  39. package/build/commands/publish.d.ts.map +1 -1
  40. package/build/commands/publish.js +67 -390
  41. package/build/commands/publish.js.map +1 -1
  42. package/build/commands/search.d.ts.map +1 -1
  43. package/build/commands/search.js +0 -2
  44. package/build/commands/search.js.map +1 -1
  45. package/build/commands/setup.d.ts +1 -1
  46. package/build/commands/setup.d.ts.map +1 -1
  47. package/build/commands/setup.js +49 -242
  48. package/build/commands/setup.js.map +1 -1
  49. package/build/commands/sync.d.ts.map +1 -1
  50. package/build/commands/sync.js +111 -112
  51. package/build/commands/sync.js.map +1 -1
  52. package/build/commands/uninstall.d.ts.map +1 -1
  53. package/build/commands/uninstall.js +103 -218
  54. package/build/commands/uninstall.js.map +1 -1
  55. package/build/commands/update.d.ts.map +1 -1
  56. package/build/commands/update.js +30 -23
  57. package/build/commands/update.js.map +1 -1
  58. package/build/components/AssetDetail.d.ts.map +1 -1
  59. package/build/components/AssetDetail.js +1 -2
  60. package/build/components/AssetDetail.js.map +1 -1
  61. package/build/components/AssetTable.d.ts +4 -4
  62. package/build/components/AssetTable.d.ts.map +1 -1
  63. package/build/components/AssetTable.js +31 -42
  64. package/build/components/AssetTable.js.map +1 -1
  65. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  66. package/build/components/BrowseExpandedRow.js +1 -2
  67. package/build/components/BrowseExpandedRow.js.map +1 -1
  68. package/build/components/BrowseList.d.ts.map +1 -1
  69. package/build/components/BrowseList.js +4 -6
  70. package/build/components/BrowseList.js.map +1 -1
  71. package/build/components/DryRunBanner.d.ts +3 -3
  72. package/build/components/DryRunBanner.d.ts.map +1 -1
  73. package/build/components/DryRunBanner.js +2 -2
  74. package/build/components/DryRunBanner.js.map +1 -1
  75. package/build/components/FilterBar.d.ts +10 -3
  76. package/build/components/FilterBar.d.ts.map +1 -1
  77. package/build/components/FilterBar.js +4 -4
  78. package/build/components/FilterBar.js.map +1 -1
  79. package/build/components/InitSuccess.d.ts +5 -0
  80. package/build/components/InitSuccess.d.ts.map +1 -0
  81. package/build/components/InitSuccess.js +20 -0
  82. package/build/components/InitSuccess.js.map +1 -0
  83. package/build/components/InstallSummary.d.ts +3 -3
  84. package/build/components/InstallSummary.d.ts.map +1 -1
  85. package/build/components/InstallSummary.js +2 -2
  86. package/build/components/InstallSummary.js.map +1 -1
  87. package/build/components/Link.d.ts +7 -0
  88. package/build/components/Link.d.ts.map +1 -0
  89. package/build/components/Link.js +6 -0
  90. package/build/components/Link.js.map +1 -0
  91. package/build/components/ListActionBar.d.ts +9 -0
  92. package/build/components/ListActionBar.d.ts.map +1 -0
  93. package/build/components/ListActionBar.js +30 -0
  94. package/build/components/ListActionBar.js.map +1 -0
  95. package/build/components/ListBrowseList.d.ts +25 -0
  96. package/build/components/ListBrowseList.d.ts.map +1 -0
  97. package/build/components/ListBrowseList.js +55 -0
  98. package/build/components/ListBrowseList.js.map +1 -0
  99. package/build/components/ListExpandedRow.d.ts +36 -0
  100. package/build/components/ListExpandedRow.d.ts.map +1 -0
  101. package/build/components/ListExpandedRow.js +46 -0
  102. package/build/components/ListExpandedRow.js.map +1 -0
  103. package/build/components/ListHelpBar.d.ts +19 -0
  104. package/build/components/ListHelpBar.d.ts.map +1 -0
  105. package/build/components/ListHelpBar.js +11 -0
  106. package/build/components/ListHelpBar.js.map +1 -0
  107. package/build/components/PromptField.d.ts +19 -0
  108. package/build/components/PromptField.d.ts.map +1 -0
  109. package/build/components/PromptField.js +7 -0
  110. package/build/components/PromptField.js.map +1 -0
  111. package/build/components/StatusBadge.d.ts +1 -11
  112. package/build/components/StatusBadge.d.ts.map +1 -1
  113. package/build/components/StatusBadge.js +4 -11
  114. package/build/components/StatusBadge.js.map +1 -1
  115. package/build/components/index.d.ts +8 -1
  116. package/build/components/index.d.ts.map +1 -1
  117. package/build/components/index.js +8 -1
  118. package/build/components/index.js.map +1 -1
  119. package/build/hooks/useBrowseState.d.ts +23 -0
  120. package/build/hooks/useBrowseState.d.ts.map +1 -1
  121. package/build/hooks/useBrowseState.js +77 -1
  122. package/build/hooks/useBrowseState.js.map +1 -1
  123. package/build/hooks/useConfirmation.d.ts +18 -0
  124. package/build/hooks/useConfirmation.d.ts.map +1 -0
  125. package/build/hooks/useConfirmation.js +56 -0
  126. package/build/hooks/useConfirmation.js.map +1 -0
  127. package/build/hooks/useInitState.d.ts +72 -0
  128. package/build/hooks/useInitState.d.ts.map +1 -0
  129. package/build/hooks/useInitState.js +372 -0
  130. package/build/hooks/useInitState.js.map +1 -0
  131. package/build/hooks/useListActions.d.ts +14 -0
  132. package/build/hooks/useListActions.d.ts.map +1 -0
  133. package/build/hooks/useListActions.js +151 -0
  134. package/build/hooks/useListActions.js.map +1 -0
  135. package/build/hooks/useListState.d.ts +147 -0
  136. package/build/hooks/useListState.d.ts.map +1 -0
  137. package/build/hooks/useListState.js +445 -0
  138. package/build/hooks/useListState.js.map +1 -0
  139. package/build/hooks/usePublishState.d.ts +115 -0
  140. package/build/hooks/usePublishState.d.ts.map +1 -0
  141. package/build/hooks/usePublishState.js +673 -0
  142. package/build/hooks/usePublishState.js.map +1 -0
  143. package/build/hooks/useSetupState.d.ts +59 -0
  144. package/build/hooks/useSetupState.d.ts.map +1 -0
  145. package/build/hooks/useSetupState.js +295 -0
  146. package/build/hooks/useSetupState.js.map +1 -0
  147. package/build/hooks/useUninstallState.d.ts +102 -0
  148. package/build/hooks/useUninstallState.d.ts.map +1 -0
  149. package/build/hooks/useUninstallState.js +342 -0
  150. package/build/hooks/useUninstallState.js.map +1 -0
  151. package/build/lib/checksum.d.ts +39 -0
  152. package/build/lib/checksum.d.ts.map +1 -1
  153. package/build/lib/checksum.js +101 -13
  154. package/build/lib/checksum.js.map +1 -1
  155. package/build/lib/config.d.ts +4 -1
  156. package/build/lib/config.d.ts.map +1 -1
  157. package/build/lib/config.js +10 -10
  158. package/build/lib/config.js.map +1 -1
  159. package/build/lib/diagnostics.js +1 -1
  160. package/build/lib/diagnostics.js.map +1 -1
  161. package/build/lib/format.d.ts +6 -0
  162. package/build/lib/format.d.ts.map +1 -0
  163. package/build/lib/format.js +18 -0
  164. package/build/lib/format.js.map +1 -0
  165. package/build/lib/github.d.ts +8 -0
  166. package/build/lib/github.d.ts.map +1 -1
  167. package/build/lib/github.js +9 -0
  168. package/build/lib/github.js.map +1 -1
  169. package/build/lib/init.d.ts.map +1 -1
  170. package/build/lib/init.js +0 -1
  171. package/build/lib/init.js.map +1 -1
  172. package/build/lib/installer.d.ts +1 -0
  173. package/build/lib/installer.d.ts.map +1 -1
  174. package/build/lib/installer.js +7 -7
  175. package/build/lib/installer.js.map +1 -1
  176. package/build/lib/lockfile.d.ts.map +1 -1
  177. package/build/lib/lockfile.js +1 -4
  178. package/build/lib/lockfile.js.map +1 -1
  179. package/build/lib/org.d.ts.map +1 -1
  180. package/build/lib/org.js.map +1 -1
  181. package/build/lib/publisher.d.ts +35 -0
  182. package/build/lib/publisher.d.ts.map +1 -1
  183. package/build/lib/publisher.js +220 -19
  184. package/build/lib/publisher.js.map +1 -1
  185. package/build/lib/registry.d.ts.map +1 -1
  186. package/build/lib/registry.js.map +1 -1
  187. package/build/lib/schemas/config.d.ts +7 -3
  188. package/build/lib/schemas/config.d.ts.map +1 -1
  189. package/build/lib/schemas/config.js +12 -2
  190. package/build/lib/schemas/config.js.map +1 -1
  191. package/build/lib/schemas/index.d.ts +2 -2
  192. package/build/lib/schemas/index.d.ts.map +1 -1
  193. package/build/lib/schemas/index.js +2 -2
  194. package/build/lib/schemas/index.js.map +1 -1
  195. package/build/lib/schemas/lockfile.d.ts +18 -0
  196. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  197. package/build/lib/schemas/lockfile.js +10 -0
  198. package/build/lib/schemas/lockfile.js.map +1 -1
  199. package/build/lib/schemas/manifest.d.ts +0 -11
  200. package/build/lib/schemas/manifest.d.ts.map +1 -1
  201. package/build/lib/schemas/manifest.js +0 -2
  202. package/build/lib/schemas/manifest.js.map +1 -1
  203. package/build/lib/schemas/registry.d.ts +0 -20
  204. package/build/lib/schemas/registry.d.ts.map +1 -1
  205. package/build/lib/schemas/registry.js +1 -2
  206. package/build/lib/schemas/registry.js.map +1 -1
  207. package/build/lib/search.js +0 -11
  208. package/build/lib/search.js.map +1 -1
  209. package/build/lib/tool-resolver.d.ts +17 -6
  210. package/build/lib/tool-resolver.d.ts.map +1 -1
  211. package/build/lib/tool-resolver.js +31 -15
  212. package/build/lib/tool-resolver.js.map +1 -1
  213. package/build/lib/updater.d.ts +0 -1
  214. package/build/lib/updater.d.ts.map +1 -1
  215. package/build/lib/updater.js +2 -2
  216. package/build/lib/updater.js.map +1 -1
  217. package/package.json +78 -65
  218. package/tool-adapters/claude-code.json +1 -1
  219. package/tool-adapters/copilot-cli.json +1 -1
@@ -1,17 +1,10 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text, useApp } from 'ink';
3
- import TextInput from 'ink-text-input';
4
- import { relative } from 'node:path';
5
3
  import { option } from 'pastel';
6
- import { useCallback, useEffect, useState } from 'react';
4
+ import { useCallback, useEffect } from 'react';
7
5
  import { z } from 'zod';
8
- import { Spinner } from '../components/index.js';
9
- import { checkNameAvailability, detectCompatibleTools, forkFromInstalled, getEntrypointName, getGitUserName, INIT_TYPES, scaffoldAsset, validateAssetName, } from '../lib/init.js';
10
- import { readLockfile } from '../lib/lockfile.js';
11
- import { parseOrgFromName } from '../lib/org.js';
12
- import { findProjectRoot } from '../lib/paths.js';
13
- import { fetchRegistry } from '../lib/registry.js';
14
- import { resolveTool } from '../lib/tool-resolver.js';
6
+ import { InitSuccess, PromptField, Spinner } from '../components/index.js';
7
+ import { useInitState } from '../hooks/useInitState.js';
15
8
  export const description = 'Scaffold a new asset or bundle';
16
9
  export const options = z.object({
17
10
  author: z
@@ -62,360 +55,20 @@ export const args = z.tuple([
62
55
  ]);
63
56
  export default function Init({ args: [rawType], options: { author: authorFlag, description: descriptionFlag, from, name: nameFlag, offline, org: cliOrg }, }) {
64
57
  const { exit } = useApp();
65
- // Phase state machine
66
- const [phase, setPhase] = useState('validate-type');
67
- // Field values
68
- const [assetType, setAssetType] = useState('skill');
69
- const [orgValue, setOrgValue] = useState('');
70
- const [nameValue, setNameValue] = useState(nameFlag ?? '');
71
- const [descriptionValue, setDescriptionValue] = useState(descriptionFlag ?? '');
72
- const [authorValue, setAuthorValue] = useState(authorFlag ?? '');
73
- const [tagsValue, setTagsValue] = useState('');
74
- const [bundleAssetsValue, setBundleAssetsValue] = useState('');
75
- const [tools, setTools] = useState([]);
76
- // Validation and status
77
- const [nameError, setNameError] = useState();
78
- const [registryWarning, setRegistryWarning] = useState();
79
- const [errorMessage, setErrorMessage] = useState('');
80
- const [result, setResult] = useState();
81
- // Fork data
82
- const [forkFiles, setForkFiles] = useState();
83
- // Track whether git author has been resolved for pre-fill
84
- const [gitAuthorResolved, setGitAuthorResolved] = useState(false);
85
- // ---------------------------------------------------------------------------
86
- // Phase 1: Validate type
87
- // ---------------------------------------------------------------------------
88
- useEffect(() => {
89
- if (phase !== 'validate-type')
90
- return;
91
- const typeLower = rawType.toLowerCase();
92
- if (!INIT_TYPES.includes(typeLower)) {
93
- setErrorMessage(`Invalid type "${rawType}". Must be one of: ${INIT_TYPES.join(', ')}`);
94
- setPhase('error');
95
- return;
96
- }
97
- setAssetType(typeLower);
98
- setPhase('pre-fill');
99
- }, [phase, rawType]);
100
- // ---------------------------------------------------------------------------
101
- // Phase 2: Pre-fill from --from flag or git author
102
- // ---------------------------------------------------------------------------
103
- useEffect(() => {
104
- if (phase !== 'pre-fill')
105
- return;
106
- let cancelled = false;
107
- const preFill = async () => {
108
- // Resolve org from CLI flag or @org/name in name flag
109
- let prefillOrg = cliOrg;
110
- // Parse @org/name from the name flag if provided
111
- if (nameFlag) {
112
- const parsed = parseOrgFromName(nameFlag);
113
- if (parsed.org) {
114
- prefillOrg = prefillOrg ?? parsed.org;
115
- setNameValue(parsed.name);
116
- }
117
- }
118
- if (prefillOrg) {
119
- setOrgValue(prefillOrg);
120
- }
121
- // If --from flag is provided, load fork data
122
- if (from) {
123
- try {
124
- const projectDir = findProjectRoot();
125
- const lockfile = await readLockfile(projectDir);
126
- const { adapter } = await resolveTool(undefined, projectDir);
127
- const forkData = await forkFromInstalled(from, lockfile, adapter, projectDir);
128
- if (cancelled)
129
- return;
130
- if (!forkData) {
131
- setErrorMessage(`Asset "${from}" is not installed. Install it first with: atk install ${from}`);
132
- setPhase('error');
133
- return;
134
- }
135
- // Pre-fill from fork data
136
- if (forkData.manifest.description && !descriptionFlag) {
137
- setDescriptionValue(forkData.manifest.description);
138
- }
139
- setForkFiles(forkData.files);
140
- }
141
- catch (err) {
142
- if (cancelled)
143
- return;
144
- setErrorMessage(`Failed to load asset for forking: ${err instanceof Error ? err.message : String(err)}`);
145
- setPhase('error');
146
- return;
147
- }
148
- }
149
- // Pre-fill author from git if not provided
150
- if (!authorFlag) {
151
- try {
152
- const gitName = await getGitUserName();
153
- if (cancelled)
154
- return;
155
- if (gitName) {
156
- setAuthorValue(gitName);
157
- }
158
- }
159
- catch {
160
- // Ignore git author detection failure
161
- }
162
- }
163
- if (cancelled)
164
- return;
165
- setGitAuthorResolved(true);
166
- // If all required flags are provided, skip prompts
167
- if (nameFlag && descriptionFlag && authorFlag) {
168
- // Validate name first
169
- const parsedName = parseOrgFromName(nameFlag);
170
- const validation = validateAssetName(parsedName.name);
171
- if (!validation.valid) {
172
- setErrorMessage(`Invalid name: ${validation.error}`);
173
- setPhase('error');
174
- return;
175
- }
176
- // Skip straight to tool detection then execution (org already resolved from flags)
177
- setPhase('tool-detect');
178
- }
179
- else {
180
- // Start interactive prompts — org prompt first, then missing fields
181
- setPhase('org-prompt');
182
- }
183
- };
184
- preFill().catch((err) => {
185
- if (!cancelled) {
186
- setErrorMessage(err instanceof Error ? err.message : String(err));
187
- setPhase('error');
188
- }
189
- });
190
- return () => {
191
- cancelled = true;
192
- };
193
- }, [phase, from, nameFlag, descriptionFlag, authorFlag, offline, cliOrg]);
194
- // ---------------------------------------------------------------------------
195
- // Background registry name check (fire-and-forget, updates warning only)
196
- // ---------------------------------------------------------------------------
197
- useEffect(() => {
198
- if (!nameValue || offline || !assetType)
199
- return;
200
- // Only run once we've moved past name entry
201
- if (phase === 'validate-type' || phase === 'pre-fill' || phase === 'org-prompt' || phase === 'name-prompt')
202
- return;
203
- let cancelled = false;
204
- const check = async () => {
205
- try {
206
- const registry = await fetchRegistry();
207
- if (cancelled)
208
- return;
209
- const { available, existingVersion } = checkNameAvailability(nameValue, assetType, registry, orgValue || undefined);
210
- if (!available) {
211
- setRegistryWarning(`Name "${nameValue}" already exists in the registry (v${existingVersion}). You can still use it for local development.`);
212
- }
213
- }
214
- catch {
215
- // Non-blocking
216
- }
217
- };
218
- check().catch(() => { });
219
- return () => {
220
- cancelled = true;
221
- };
222
- }, [nameValue, assetType, offline, orgValue, phase]);
223
- // ---------------------------------------------------------------------------
224
- // Phase: Tool compatibility detection
225
- // ---------------------------------------------------------------------------
226
- useEffect(() => {
227
- if (phase !== 'tool-detect')
228
- return;
229
- let cancelled = false;
230
- const detect = async () => {
231
- try {
232
- const detected = await detectCompatibleTools(assetType);
233
- if (cancelled)
234
- return;
235
- setTools(detected);
236
- }
237
- catch {
238
- // Non-fatal — continue with empty tools
239
- if (cancelled)
240
- return;
241
- setTools([]);
242
- }
243
- if (cancelled)
244
- return;
245
- setPhase('tags-prompt');
246
- };
247
- detect().catch(() => {
248
- if (!cancelled) {
249
- setTools([]);
250
- setPhase('tags-prompt');
251
- }
252
- });
253
- return () => {
254
- cancelled = true;
255
- };
256
- }, [phase, assetType, bundleAssetsValue]);
257
- // ---------------------------------------------------------------------------
258
- // Phase: Executing scaffolding
259
- // ---------------------------------------------------------------------------
260
- useEffect(() => {
261
- if (phase !== 'executing')
262
- return;
263
- let cancelled = false;
264
- const execute = async () => {
265
- const tags = tagsValue
266
- .split(',')
267
- .map((t) => t.trim())
268
- .filter((t) => t.length > 0);
269
- const bundleAssets = assetType === 'bundle' && bundleAssetsValue
270
- ? bundleAssetsValue
271
- .split(',')
272
- .map((a) => a.trim())
273
- .filter((a) => a.length > 0)
274
- : undefined;
275
- const initOptions = {
276
- author: authorValue,
277
- bundleAssets,
278
- description: descriptionValue,
279
- from,
280
- name: nameValue,
281
- offline,
282
- org: orgValue || undefined,
283
- tags,
284
- tools,
285
- type: assetType,
286
- };
287
- const scaffoldResult = await scaffoldAsset(initOptions, process.cwd());
288
- if (cancelled)
289
- return;
290
- // If forking, write fork files into the output directory
291
- if (forkFiles && forkFiles.size > 0) {
292
- const { writeFile } = await import('node:fs/promises');
293
- const { join } = await import('node:path');
294
- for (const [sourcePath, content] of forkFiles) {
295
- const targetPath = join(scaffoldResult.outputDir, sourcePath);
296
- try {
297
- await writeFile(targetPath, content, 'utf-8');
298
- }
299
- catch {
300
- // Skip files that cannot be written
301
- }
302
- }
303
- }
304
- setResult(scaffoldResult);
305
- setPhase('done');
306
- };
307
- execute().catch((err) => {
308
- if (!cancelled) {
309
- setErrorMessage(`Scaffolding failed: ${err instanceof Error ? err.message : String(err)}`);
310
- setPhase('error');
311
- }
312
- });
313
- return () => {
314
- cancelled = true;
315
- };
316
- }, [
317
- phase,
318
- assetType,
319
- authorValue,
320
- bundleAssetsValue,
321
- descriptionValue,
322
- forkFiles,
58
+ const flags = {
59
+ authorFlag,
60
+ cliOrg,
61
+ descriptionFlag,
323
62
  from,
324
- nameValue,
63
+ nameFlag,
325
64
  offline,
326
- orgValue,
327
- tagsValue,
328
- tools,
329
- ]);
330
- // ---------------------------------------------------------------------------
331
- // Prompt submission handlers
332
- // ---------------------------------------------------------------------------
333
- const handleOrgSubmit = useCallback((value) => {
334
- const trimmed = value.trim();
335
- setOrgValue(trimmed);
336
- // Route to the next needed prompt
337
- if (!nameFlag) {
338
- setPhase('name-prompt');
339
- }
340
- else {
341
- // Name was provided via flag — validate it
342
- const parsedName = parseOrgFromName(nameFlag);
343
- const validation = validateAssetName(parsedName.name);
344
- if (!validation.valid) {
345
- setErrorMessage(`Invalid name: ${validation.error}`);
346
- setPhase('error');
347
- return;
348
- }
349
- setNameValue(parsedName.name);
350
- if (!descriptionFlag) {
351
- setPhase('description-prompt');
352
- }
353
- else if (!authorFlag) {
354
- setPhase('author-prompt');
355
- }
356
- else {
357
- setPhase('tool-detect');
358
- }
359
- }
360
- }, [nameFlag, descriptionFlag, authorFlag]);
361
- const handleNameSubmit = useCallback((value) => {
362
- const trimmed = value.trim();
363
- const validation = validateAssetName(trimmed);
364
- if (!validation.valid) {
365
- setNameError(validation.error);
366
- return;
367
- }
368
- setNameError(undefined);
369
- setNameValue(trimmed);
370
- if (!descriptionFlag) {
371
- setPhase('description-prompt');
372
- }
373
- else if (!authorFlag) {
374
- setPhase('author-prompt');
375
- }
376
- else {
377
- setPhase('tool-detect');
378
- }
379
- }, [descriptionFlag, authorFlag]);
380
- const handleDescriptionSubmit = useCallback((value) => {
381
- const trimmed = value.trim();
382
- if (trimmed.length === 0) {
383
- return; // Description is required
384
- }
385
- setDescriptionValue(trimmed);
386
- if (!authorFlag) {
387
- setPhase('author-prompt');
388
- }
389
- else {
390
- setPhase('tool-detect');
391
- }
392
- }, [authorFlag]);
393
- const handleAuthorSubmit = useCallback((value) => {
394
- const trimmed = value.trim();
395
- if (trimmed.length === 0) {
396
- return; // Author is required
397
- }
398
- setAuthorValue(trimmed);
399
- setPhase('tool-detect');
400
- }, []);
401
- const handleTagsSubmit = useCallback((_value) => {
402
- // Tags are already stored via onChange; just advance phase
403
- if (assetType === 'bundle') {
404
- setPhase('bundle-assets-prompt');
405
- }
406
- else {
407
- setPhase('executing');
408
- }
409
- }, [assetType]);
410
- const handleBundleAssetsSubmit = useCallback((_value) => {
411
- // Bundle assets already stored via onChange; advance to execution
412
- setPhase('executing');
413
- }, []);
65
+ };
66
+ const [state, dispatch] = useInitState(rawType, flags);
414
67
  // ---------------------------------------------------------------------------
415
- // Exit on error
68
+ // Exit effects
416
69
  // ---------------------------------------------------------------------------
417
70
  useEffect(() => {
418
- if (phase === 'error') {
71
+ if (state.phase === 'error') {
419
72
  const timer = setTimeout(() => {
420
73
  process.exitCode = 1;
421
74
  exit();
@@ -424,12 +77,9 @@ export default function Init({ args: [rawType], options: { author: authorFlag, d
424
77
  clearTimeout(timer);
425
78
  };
426
79
  }
427
- }, [phase, exit]);
428
- // ---------------------------------------------------------------------------
429
- // Exit on done
430
- // ---------------------------------------------------------------------------
80
+ }, [state.phase, exit]);
431
81
  useEffect(() => {
432
- if (phase === 'done') {
82
+ if (state.phase === 'done') {
433
83
  const timer = setTimeout(() => {
434
84
  exit();
435
85
  }, 100);
@@ -437,74 +87,45 @@ export default function Init({ args: [rawType], options: { author: authorFlag, d
437
87
  clearTimeout(timer);
438
88
  };
439
89
  }
440
- }, [phase, exit]);
90
+ }, [state.phase, exit]);
91
+ // ---------------------------------------------------------------------------
92
+ // Field change handler
93
+ // ---------------------------------------------------------------------------
94
+ const setField = useCallback((field) => (value) => {
95
+ dispatch({ field, type: 'SET_FIELD', value });
96
+ }, [dispatch]);
441
97
  // ---------------------------------------------------------------------------
442
98
  // Render
443
99
  // ---------------------------------------------------------------------------
444
- // Error state
445
- if (phase === 'error') {
446
- return _jsxs(Text, { color: 'red', children: ["Error: ", errorMessage] });
100
+ if (state.phase === 'error') {
101
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.errorMessage] });
447
102
  }
448
- // Loading/spinner states
449
- if (phase === 'validate-type') {
450
- return null;
451
- }
452
- if (phase === 'pre-fill' && !gitAuthorResolved) {
103
+ if (state.phase === 'pre-fill') {
453
104
  return _jsx(Spinner, { message: from ? `Loading asset "${from}" for forking...` : 'Preparing...' });
454
105
  }
455
- if (phase === 'tool-detect') {
456
- return _jsx(Spinner, { message: 'Detecting compatible tools...' });
457
- }
458
- if (phase === 'executing') {
106
+ if (state.phase === 'executing') {
459
107
  return _jsx(Spinner, { message: 'Scaffolding files...' });
460
108
  }
461
- // Interactive prompt: Org
462
- if (phase === 'org-prompt') {
463
- return (_jsx(Box, { flexDirection: 'column', children: _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Org (optional, leave empty for none): " }), _jsx(TextInput, { focus: true, onChange: setOrgValue, onSubmit: handleOrgSubmit, value: orgValue })] }) }));
109
+ if (state.phase === 'org-prompt') {
110
+ return (_jsx(PromptField, { label: 'Org (optional, leave empty for none): ', onChange: setField('org'), onSubmit: (v) => dispatch({ type: 'SUBMIT_ORG', value: v }), value: state.fields.org }));
464
111
  }
465
- // Interactive prompt: Name
466
- if (phase === 'name-prompt') {
467
- return (_jsxs(Box, { flexDirection: 'column', children: [registryWarning && _jsxs(Text, { color: 'yellow', children: ["Warning: ", registryWarning] }), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), orgValue && _jsxs(Text, { children: ["Name (kebab-case): @", orgValue, "/"] }), !orgValue && _jsx(Text, { children: "Name (kebab-case): " }), _jsx(TextInput, { focus: true, onChange: (value) => {
468
- setNameValue(value);
469
- if (nameError) {
470
- const validation = validateAssetName(value.trim());
471
- if (validation.valid) {
472
- setNameError(undefined);
473
- }
474
- }
475
- }, onSubmit: handleNameSubmit, value: nameValue })] }), nameError && _jsxs(Text, { color: 'red', children: [" ", nameError] })] }));
112
+ if (state.phase === 'name-prompt') {
113
+ return (_jsx(PromptField, { error: state.nameError, label: 'Name (kebab-case): ', onChange: setField('name'), onSubmit: (v) => dispatch({ type: 'SUBMIT_NAME', value: v }), prefix: state.fields.org ? `@${state.fields.org}/` : undefined, value: state.fields.name, warning: state.registryWarning }));
476
114
  }
477
- // Interactive prompt: Description
478
- if (phase === 'description-prompt') {
479
- return (_jsxs(Box, { flexDirection: 'column', children: [registryWarning && _jsxs(Text, { color: 'yellow', children: ["Warning: ", registryWarning] }), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Description: " }), _jsx(TextInput, { focus: true, onChange: setDescriptionValue, onSubmit: handleDescriptionSubmit, value: descriptionValue })] })] }));
115
+ if (state.phase === 'description-prompt') {
116
+ return (_jsx(PromptField, { label: 'Description: ', onChange: setField('description'), onSubmit: (v) => dispatch({ type: 'SUBMIT_DESCRIPTION', value: v }), value: state.fields.description, warning: state.registryWarning }));
480
117
  }
481
- // Interactive prompt: Author
482
- if (phase === 'author-prompt') {
483
- return (_jsx(Box, { flexDirection: 'column', children: _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Author: " }), _jsx(TextInput, { focus: true, onChange: setAuthorValue, onSubmit: handleAuthorSubmit, value: authorValue })] }) }));
118
+ if (state.phase === 'author-prompt') {
119
+ return (_jsx(PromptField, { label: 'Author: ', onChange: setField('author'), onSubmit: (v) => dispatch({ type: 'SUBMIT_AUTHOR', value: v }), value: state.fields.author }));
484
120
  }
485
- // Interactive prompt: Tags
486
- if (phase === 'tags-prompt') {
487
- return (_jsxs(Box, { flexDirection: 'column', children: [tools.length > 0 && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["Compatible tools: ", tools.join(', ')] }) })), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Tags (comma-separated, optional): " }), _jsx(TextInput, { focus: true, onChange: setTagsValue, onSubmit: handleTagsSubmit, value: tagsValue })] })] }));
121
+ if (state.phase === 'tags-prompt') {
122
+ return (_jsx(PromptField, { label: 'Tags (comma-separated, optional): ', onChange: setField('tags'), onSubmit: () => dispatch({ type: 'SUBMIT_TAGS' }), value: state.fields.tags, children: state.tools.length > 0 && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["Compatible tools: ", state.tools.join(', ')] }) })) }));
488
123
  }
489
- // Interactive prompt: Bundle assets
490
- if (phase === 'bundle-assets-prompt') {
491
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "Enter assets as comma-separated type:name pairs (e.g., skill:my-skill, rule:my-rule)" }) }), _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Bundle assets: " }), _jsx(TextInput, { focus: true, onChange: setBundleAssetsValue, onSubmit: handleBundleAssetsSubmit, value: bundleAssetsValue })] })] }));
124
+ if (state.phase === 'bundle-assets-prompt') {
125
+ return (_jsx(PromptField, { label: 'Bundle assets: ', onChange: setField('bundleAssets'), onSubmit: () => dispatch({ type: 'SUBMIT_BUNDLE_ASSETS' }), value: state.fields.bundleAssets, children: _jsx(Box, { marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "Enter assets as comma-separated type:name pairs (e.g., skill:my-skill, rule:my-rule)" }) }) }));
492
126
  }
493
- // Done state
494
- if (phase === 'done' && result) {
495
- const relativePath = `./${relative(process.cwd(), result.outputDir).replace(/\\/g, '/')}`;
496
- const entrypoint = getEntrypointName(result.type, result.name);
497
- let step1;
498
- if (result.type === 'bundle') {
499
- step1 = 'Edit bundle.json to add your assets';
500
- }
501
- else if (result.type === 'mcp-config') {
502
- step1 = 'Edit manifest.json with your MCP config';
503
- }
504
- else {
505
- step1 = `Edit ${entrypoint} with your content`;
506
- }
507
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["Created ", result.type, " \"", _jsx(Text, { bold: true, children: result.name }), "\" at ", relativePath, "/"] }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Next steps:" }), _jsxs(Text, { children: [" 1. ", step1] }), result.type !== 'bundle' && _jsx(Text, { children: " 2. Update manifest.json as needed" }), result.type === 'bundle' && _jsx(Text, { children: " 2. Update bundle.json as needed" }), _jsxs(Text, { children: [" 3. Run: atk publish ", relativePath] })] }));
127
+ if (state.phase === 'done' && state.result) {
128
+ return _jsx(InitSuccess, { result: state.result });
508
129
  }
509
130
  return null;
510
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,OAAO;;;;;;;;iBAgElB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAYH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GACjE,EAAE,KAAK,2CAkBP"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,OAAO;;;;;;;;iBAgElB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAYH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GACjE,EAAE,KAAK,2CAkBP"}