@detergent-software/atk 8.6.0-dev.1 → 8.6.0-dev.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## [8.6.0-dev.2](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.6.0-dev.1&targetVersion=GTv8.6.0-dev.2) (2026-10-13)
2
+
3
+ ### Features
4
+
5
+ * **cli:** add atk setup --user and adopt an existing home install (ATK-328) ([9634a1e](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/9634a1e71c8661ec1001d0e87fdae64cc25d6390))
6
+
7
+ ### Bug Fixes
8
+
9
+ * **cli:** report setup --user adoption once and drop removed tools (ATK-328) ([ccfd04e](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/ccfd04ea5454ef68e3d6b1795747a47f67589c7a))
10
+ * **cli:** word the setup --user placement report for one asset (ATK-328) ([fc7d432](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/fc7d432f7b724ee7f2421c9e64dd90b22fa5a7cb))
11
+
1
12
  ## [8.6.0-dev.1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.5.1&targetVersion=GTv8.6.0-dev.1) (2026-10-13)
2
13
 
3
14
  ### Features
@@ -1,14 +1,16 @@
1
1
  import { z } from 'zod';
2
- export declare const description = "Initialize ATK in a project \u2014 select tools and create config files";
2
+ export declare const description = "Initialize ATK in a project or the user scope \u2014 select tools and create config files";
3
3
  export declare const options: z.ZodObject<{
4
+ json: z.ZodOptional<z.ZodBoolean>;
4
5
  org: z.ZodOptional<z.ZodString>;
5
6
  projectRoot: z.ZodOptional<z.ZodString>;
6
7
  tool: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
+ user: z.ZodOptional<z.ZodBoolean>;
7
9
  yes: z.ZodDefault<z.ZodBoolean>;
8
10
  }, z.core.$strip>;
9
11
  type Props = {
10
12
  options: z.infer<typeof options>;
11
13
  };
12
- export default function Setup({ options: { org: orgFlag, projectRoot, tool: toolFlags, yes } }: Props): import("react/jsx-runtime").JSX.Element | null;
14
+ export default function Setup({ options: { json, org: orgFlag, projectRoot, tool: toolFlags, user, yes } }: Props): import("react/jsx-runtime").JSX.Element | null;
13
15
  export {};
14
16
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,WAAW,4EAAuE,CAAC;AAEhG,eAAO,MAAM,OAAO;;;;;iBAyClB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDAkIpG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,WAAW,8FAAyF,CAAC;AAElH,eAAO,MAAM,OAAO;;;;;;;iBAyDlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDA2JhH"}
@@ -6,9 +6,16 @@ import { useCallback, useEffect } from 'react';
6
6
  import { z } from 'zod';
7
7
  import { ErrorView, Link, MultiSelectList, Spinner } from '../components/index.js';
8
8
  import { useSetupState } from '../hooks/useSetupState.js';
9
+ import { renderJson } from '../lib/output.js';
9
10
  import { buildGettingStartedWebUrl } from '../lib/web-app.js';
10
- export const description = 'Initialize ATK in a project — select tools and create config files';
11
+ export const description = 'Initialize ATK in a project or the user scope — select tools and create config files';
11
12
  export const options = z.object({
13
+ json: z
14
+ .boolean()
15
+ .optional()
16
+ .describe(option({
17
+ description: 'Output as JSON',
18
+ })),
12
19
  org: z
13
20
  .string()
14
21
  .optional()
@@ -33,6 +40,12 @@ export const options = z.object({
33
40
  description: 'Tool(s) to configure; repeat the flag or comma-separate (e.g., --tool claude-code --tool codex-cli). Replaces the tools list in .atkrc.json',
34
41
  valueDescription: 'tools',
35
42
  })),
43
+ user: z
44
+ .boolean()
45
+ .optional()
46
+ .describe(option({
47
+ description: 'Set up the user scope (the user root, ~ by default) instead of the project',
48
+ })),
36
49
  yes: z
37
50
  .boolean()
38
51
  .default(false)
@@ -41,14 +54,17 @@ export const options = z.object({
41
54
  description: 'Skip interactive prompts (use defaults)',
42
55
  })),
43
56
  });
44
- export default function Setup({ options: { org: orgFlag, projectRoot, tool: toolFlags, yes } }) {
57
+ export default function Setup({ options: { json, org: orgFlag, projectRoot, tool: toolFlags, user, yes } }) {
45
58
  const { exit } = useApp();
46
- const { isRawModeSupported: isTTY } = useStdin();
59
+ const { isRawModeSupported } = useStdin();
60
+ // JSON output never prompts, so it takes the non-interactive defaults.
61
+ const isTTY = isRawModeSupported && !json;
47
62
  const flags = {
48
63
  isTTY,
49
64
  orgFlag,
50
65
  projectRoot,
51
66
  toolFlags,
67
+ user,
52
68
  yes,
53
69
  };
54
70
  const [state, dispatch] = useSetupState(flags);
@@ -78,8 +94,20 @@ export default function Setup({ options: { org: orgFlag, projectRoot, tool: tool
78
94
  // Render
79
95
  // ---------------------------------------------------------------------------
80
96
  if (state.phase === 'error') {
97
+ if (json) {
98
+ return renderJson({
99
+ ...(state.errorCode ? { code: state.errorCode } : {}),
100
+ ...(state.errorCommand ? { command: state.errorCommand } : {}),
101
+ ...(state.errorHint ? { hint: state.errorHint } : {}),
102
+ message: state.errorMessage,
103
+ outcome: 'error',
104
+ });
105
+ }
81
106
  return _jsx(ErrorView, { command: state.errorCommand, hint: state.errorHint, message: state.errorMessage });
82
107
  }
108
+ if (json) {
109
+ return state.phase === 'done' ? renderJson(buildSetupJson(state)) : null;
110
+ }
83
111
  if (state.phase === 'loading') {
84
112
  return _jsx(Spinner, { message: 'Detecting project state...' });
85
113
  }
@@ -95,12 +123,25 @@ export default function Setup({ options: { org: orgFlag, projectRoot, tool: tool
95
123
  return (_jsx(Box, { flexDirection: 'column', children: _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsx(Text, { children: "Organization (optional, leave empty for none): " }), _jsx(TextInput, { focus: true, onChange: (value) => dispatch({ type: 'SET_ORG', value }), onSubmit: handleOrgSubmit, value: state.orgValue })] }) }));
96
124
  }
97
125
  if (state.phase === 'creating') {
98
- return _jsx(Spinner, { message: 'Setting up project...' });
126
+ return _jsx(Spinner, { message: state.scope === 'user' ? 'Setting up the user scope...' : 'Setting up project...' });
99
127
  }
100
128
  if (state.phase === 'done') {
101
129
  const basicsVideo = buildGettingStartedWebUrl('basics');
102
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: 'green', children: "ATK setup complete!" }) }), state.summaryActions.map((action, index) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'green', children: "+" }), " ", action.label, action.detail && _jsxs(Text, { dimColor: true, children: [" (", action.detail, ")"] })] }, index))), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["Project: ", state.projectDir] }) }), _jsxs(Text, { dimColor: true, children: ["Tools: ", state.selectedTools.join(', ')] }), _jsxs(Box, { flexDirection: 'column', marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "New to ATK? Watch the basics:" }), _jsx(Link, { url: basicsVideo, children: basicsVideo })] })] }));
130
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: 'green', children: "ATK setup complete!" }) }), state.changed === false && _jsxs(Text, { children: [' ', "Nothing to change: the user scope is already set up."] }), state.summaryActions.map((action, index) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'green', children: "+" }), " ", action.label, action.detail && _jsxs(Text, { dimColor: true, children: [" (", action.detail, ")"] })] }, index))), (state.summaryWarnings ?? []).map((warning, index) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'yellow', children: "!" }), " ", warning] }, `warning-${index}`))), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: [state.scope === 'user' ? 'User scope' : 'Project', ": ", state.projectDir] }) }), _jsxs(Text, { dimColor: true, children: ["Tools: ", state.selectedTools.join(', ')] }), _jsxs(Box, { flexDirection: 'column', marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "New to ATK? Watch the basics:" }), _jsx(Link, { url: basicsVideo, children: basicsVideo })] })] }));
103
131
  }
104
132
  return null;
105
133
  }
134
+ /** The `--json` payload of a finished setup; `changed` is known for the user scope only. */
135
+ function buildSetupJson(state) {
136
+ return {
137
+ actions: state.summaryActions,
138
+ ...(state.changed !== undefined ? { changed: state.changed } : {}),
139
+ org: state.orgValue.trim() || null,
140
+ outcome: 'success',
141
+ root: state.projectDir,
142
+ scope: state.scope ?? 'project',
143
+ tools: state.selectedTools,
144
+ warnings: state.summaryWarnings ?? [],
145
+ };
146
+ }
106
147
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { Adapter } from '../lib/schemas/adapter.js';
2
+ import type { Scope } from '../lib/scope.js';
2
3
  import type { SummaryAction } from '../lib/setup.js';
3
4
  export type { SummaryAction } from '../lib/setup.js';
4
5
  export type SetupAction = {
5
6
  actions: SummaryAction[];
7
+ changed?: boolean;
6
8
  type: 'CREATE_DONE';
9
+ warnings?: string[];
7
10
  } | {
8
11
  adapters: Adapter[];
9
12
  cursorIndex?: number;
@@ -11,6 +14,7 @@ export type SetupAction = {
11
14
  orgValue: string;
12
15
  phase: SetupPhase;
13
16
  projectDir: string;
17
+ scope?: Scope;
14
18
  selectedTools?: string[];
15
19
  type: 'LOAD_DONE';
16
20
  } | {
@@ -43,11 +47,15 @@ export interface SetupFlags {
43
47
  projectRoot?: string;
44
48
  /** Raw `--tool` values: the flag is repeatable and each value may be comma-separated. */
45
49
  toolFlags?: string[];
50
+ /** `--user`: set up the user scope instead of a project. */
51
+ user?: boolean;
46
52
  yes: boolean;
47
53
  }
48
54
  export type SetupPhase = 'creating' | 'done' | 'error' | 'loading' | 'org-input' | 'select-tool';
49
55
  export interface SetupState {
50
56
  adapters: Adapter[];
57
+ /** Whether the run changed any file; known for the user scope only. */
58
+ changed?: boolean;
51
59
  cursorIndex: number;
52
60
  errorCode?: string;
53
61
  errorCommand?: string;
@@ -58,8 +66,11 @@ export interface SetupState {
58
66
  orgValue: string;
59
67
  phase: SetupPhase;
60
68
  projectDir: string;
69
+ /** The scope `projectDir` is the root of; project when not set. */
70
+ scope?: Scope;
61
71
  selectedTools: string[];
62
72
  summaryActions: SummaryAction[];
73
+ summaryWarnings?: string[];
63
74
  }
64
75
  export declare function createInitialState(flags: SetupFlags): SetupState;
65
76
  export declare function setupReducer(state: SetupState, action: SetupAction): SetupState;
@@ -1 +1 @@
1
- {"version":3,"file":"useSetupState.d.ts","sourceRoot":"","sources":["../../src/hooks/useSetupState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUrD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,MAAM,MAAM,WAAW,GACnB;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACjD;IACE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClF;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAEjG,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAahE;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CA6E/E;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAuLnG"}
1
+ {"version":3,"file":"useSetupState.d.ts","sourceRoot":"","sources":["../../src/hooks/useSetupState.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { useEffect, useReducer } from 'react';
2
2
  import { loadAllAdapters } from '../lib/adapter.js';
3
- import { loadConfig, loadProjectConfig } from '../lib/config.js';
3
+ import { loadConfig, loadProjectConfig, loadUserScopeConfig } from '../lib/config.js';
4
4
  import { errorGuidance, errorMessage } from '../lib/errors.js';
5
5
  import { readLockfile } from '../lib/lockfile.js';
6
- import { resolveSetupRoot } from '../lib/paths.js';
7
- import { parseToolsInput, performSetupCreation } from '../lib/setup.js';
6
+ import { parseToolsInput, performSetupCreation, resolveSetupScope } from '../lib/setup.js';
7
+ import { performUserSetup } from '../lib/user-setup.js';
8
8
  // ---------------------------------------------------------------------------
9
9
  // Initial state factory
10
10
  // ---------------------------------------------------------------------------
@@ -40,7 +40,13 @@ export function setupReducer(state, action) {
40
40
  return { ...state, phase: nextPhase };
41
41
  }
42
42
  case 'CREATE_DONE':
43
- return { ...state, phase: 'done', summaryActions: action.actions };
43
+ return {
44
+ ...state,
45
+ changed: action.changed,
46
+ phase: 'done',
47
+ summaryActions: action.actions,
48
+ summaryWarnings: action.warnings ?? [],
49
+ };
44
50
  case 'CURSOR_DOWN': {
45
51
  const len = state.adapters.length;
46
52
  if (len === 0)
@@ -78,6 +84,7 @@ export function setupReducer(state, action) {
78
84
  orgValue: action.orgValue,
79
85
  phase: action.phase,
80
86
  projectDir: action.projectDir,
87
+ scope: action.scope ?? state.scope,
81
88
  selectedTools: action.selectedTools ?? state.selectedTools,
82
89
  };
83
90
  }
@@ -111,12 +118,12 @@ export function useSetupState(flags) {
111
118
  let cancelled = false;
112
119
  const load = async () => {
113
120
  const { flags: f } = state;
114
- const resolvedDir = resolveSetupRoot(f.projectRoot);
121
+ const { root: resolvedDir, scope } = await resolveSetupScope({ projectRoot: f.projectRoot, user: f.user });
115
122
  const [allAdapters, config, existingLockfile, projConfig] = await Promise.all([
116
123
  loadAllAdapters(),
117
124
  loadConfig(),
118
125
  readLockfile(resolvedDir),
119
- loadProjectConfig(resolvedDir),
126
+ scope === 'user' ? loadUserScopeConfig(resolvedDir) : loadProjectConfig(resolvedDir),
120
127
  ]);
121
128
  if (cancelled)
122
129
  return;
@@ -167,6 +174,7 @@ export function useSetupState(flags) {
167
174
  orgValue,
168
175
  phase: nextPhase,
169
176
  projectDir: resolvedDir,
177
+ scope,
170
178
  selectedTools: requestedTools,
171
179
  type: 'LOAD_DONE',
172
180
  });
@@ -180,6 +188,7 @@ export function useSetupState(flags) {
180
188
  orgValue,
181
189
  phase: 'creating',
182
190
  projectDir: resolvedDir,
191
+ scope,
183
192
  selectedTools: defaultTools,
184
193
  type: 'LOAD_DONE',
185
194
  });
@@ -197,6 +206,7 @@ export function useSetupState(flags) {
197
206
  orgValue,
198
207
  phase: 'creating',
199
208
  projectDir: resolvedDir,
209
+ scope,
200
210
  selectedTools: defaultTools,
201
211
  type: 'LOAD_DONE',
202
212
  });
@@ -210,6 +220,7 @@ export function useSetupState(flags) {
210
220
  orgValue,
211
221
  phase: 'select-tool',
212
222
  projectDir: resolvedDir,
223
+ scope,
213
224
  selectedTools,
214
225
  type: 'LOAD_DONE',
215
226
  });
@@ -235,20 +246,13 @@ export function useSetupState(flags) {
235
246
  return;
236
247
  let cancelled = false;
237
248
  const create = async () => {
238
- const result = await performSetupCreation({
239
- orgLocked: state.orgLocked,
240
- orgValue: state.orgValue,
241
- projectDir: state.projectDir,
242
- selectedTools: state.selectedTools,
243
- });
249
+ const { orgLocked, orgValue, projectDir, selectedTools } = state;
250
+ const result = state.scope === 'user'
251
+ ? await performUserSetup({ orgLocked, orgValue, selectedTools, userRoot: projectDir })
252
+ : await performSetupCreation({ orgLocked, orgValue, projectDir, selectedTools });
244
253
  if (cancelled)
245
254
  return;
246
- // Append any warnings as summary actions
247
- const actions = [...result.actions];
248
- for (const warning of result.warnings) {
249
- actions.push({ detail: warning, label: 'Warning' });
250
- }
251
- dispatch({ actions, type: 'CREATE_DONE' });
255
+ dispatch({ actions: result.actions, changed: result.changed, type: 'CREATE_DONE', warnings: result.warnings });
252
256
  };
253
257
  create().catch((err) => {
254
258
  if (!cancelled) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSetupState.js","sourceRoot":"","sources":["../../src/hooks/useSetupState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSetupState.js","sourceRoot":"","sources":["../../src/hooks/useSetupState.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,10 @@ export declare function getProjectConfigPath(projectDir: string): string;
27
27
  * The config stores the developer's selected tools (`tools: string[]`).
28
28
  */
29
29
  export declare function hasLocalConfig(projectDir: string): boolean;
30
+ /**
31
+ * Whether ~/.atkrc.json has the user scope's `user` section, which `atk setup --user` writes.
32
+ */
33
+ export declare function hasUserScopeSection(): Promise<boolean>;
30
34
  /**
31
35
  * Check whether an asset is frozen in the config of the scope at `projectDir`.
32
36
  * Loads the config from disk each time — for batch checks use `isFrozenInConfig` instead.
@@ -95,4 +99,15 @@ export declare function setConfigValue(config: Config, key: string, value: strin
95
99
  * Removes all entries matching the given name, and optionally type and org.
96
100
  */
97
101
  export declare function thawAssetInConfig(projectDir: string, name: string, type?: AssetType, org?: string): Promise<void>;
102
+ /**
103
+ * Write the user scope's config to the `user` section of ~/.atkrc.json, as `atk setup --user` does.
104
+ * With `dropLegacy`, the same write removes the legacy top-level `tools`/`tool`/`frozenAssets` of a
105
+ * project set up in the home directory, so the section is all the user scope reads; other keys stay.
106
+ * Returns whether any legacy key was removed.
107
+ */
108
+ export declare function writeUserScopeSection(config: ProjectConfig, { dropLegacy }: {
109
+ dropLegacy: boolean;
110
+ }): Promise<{
111
+ droppedLegacy: boolean;
112
+ }>;
98
113
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,aAAa,EAGnB,MAAM,qBAAqB,CAAC;AAgB7B;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CASpH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ5G;AAED;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAUlD;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAczF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAazF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA2BjF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { SetupRequiredError } from './errors.js';
7
7
  import { parseAndValidate } from './parse-json.js';
8
8
  import { isSamePath } from './same-path.js';
9
9
  import { ConfigSchema, DEFAULT_CONFIG, ProjectConfigBase, ProjectConfigSchema, } from './schemas/config.js';
10
- import { loadScopeConfig, saveScopeConfig } from './scope.js';
10
+ import { loadScopeConfig, saveScopeConfig, setupGuidance } from './scope.js';
11
11
  import { writeJsonFile } from './write-file.js';
12
12
  const ATKRC_FILENAME = '.atkrc.json';
13
13
  // ~/.atkrc.json is the user config, holds the user scope's `user` section, and is the config of a
@@ -27,10 +27,7 @@ const UserScopeFileSchema = z.object({ [USER_SCOPE_KEY]: ProjectConfigBase });
27
27
  export async function freezeAssetInConfig(projectDir, name, type, org) {
28
28
  const config = await loadScopeConfig(projectDir);
29
29
  if (!config) {
30
- throw new SetupRequiredError(`No project config found in ${projectDir}. Run \`atk setup\` first.`, {
31
- command: 'atk setup',
32
- hint: 'Run `atk setup` to initialize the project and select a tool.',
33
- });
30
+ throw await noScopeConfigError(projectDir);
34
31
  }
35
32
  const frozenAssets = config.frozenAssets ?? [];
36
33
  // Already frozen — nothing to do
@@ -80,6 +77,15 @@ export function getProjectConfigPath(projectDir) {
80
77
  export function hasLocalConfig(projectDir) {
81
78
  return existsSync(getProjectConfigPath(projectDir));
82
79
  }
80
+ /**
81
+ * Whether ~/.atkrc.json has the user scope's `user` section, which `atk setup --user` writes.
82
+ */
83
+ export async function hasUserScopeSection() {
84
+ const configPath = getConfigPath();
85
+ if (!existsSync(configPath))
86
+ return false;
87
+ return USER_SCOPE_KEY in (parseJsonObject(await readFile(configPath, 'utf-8')) ?? {});
88
+ }
83
89
  /**
84
90
  * Check whether an asset is frozen in the config of the scope at `projectDir`.
85
91
  * Loads the config from disk each time — for batch checks use `isFrozenInConfig` instead.
@@ -206,14 +212,11 @@ export async function saveProjectConfig(projectDir, config) {
206
212
  * half-migrates them.
207
213
  */
208
214
  export async function saveUserScopeConfig(userRoot, config) {
209
- const configPath = getConfigPath();
210
- const existing = existsSync(configPath) ? parseJsonObject(await readFile(configPath, 'utf-8')) : null;
211
- if (!(existing && USER_SCOPE_KEY in existing) && isSamePath(userRoot, resolve(homedir()))) {
215
+ if (!(await hasUserScopeSection()) && isSamePath(userRoot, resolve(homedir()))) {
212
216
  await saveProjectConfig(homedir(), config);
213
217
  return;
214
218
  }
215
- const toSave = { [USER_SCOPE_KEY]: toSavedScopeConfig(config) };
216
- await writeJsonFile(configPath, await mergeOwnedKeys(configPath, [USER_SCOPE_KEY], toSave));
219
+ await writeUserScopeSection(config, { dropLegacy: false });
217
220
  }
218
221
  /**
219
222
  * Set a single config value by key.
@@ -249,10 +252,7 @@ export function setConfigValue(config, key, value) {
249
252
  export async function thawAssetInConfig(projectDir, name, type, org) {
250
253
  const config = await loadScopeConfig(projectDir);
251
254
  if (!config) {
252
- throw new SetupRequiredError(`No project config found in ${projectDir}. Run \`atk setup\` first.`, {
253
- command: 'atk setup',
254
- hint: 'Run `atk setup` to initialize the project and select a tool.',
255
- });
255
+ throw await noScopeConfigError(projectDir);
256
256
  }
257
257
  const frozenAssets = config.frozenAssets ?? [];
258
258
  const filtered = frozenAssets.filter((entry) => !(entry.name === name && (type === undefined || entry.type === type) && (org === undefined || entry.org === org)));
@@ -261,6 +261,21 @@ export async function thawAssetInConfig(projectDir, name, type, org) {
261
261
  frozenAssets: filtered,
262
262
  });
263
263
  }
264
+ /**
265
+ * Write the user scope's config to the `user` section of ~/.atkrc.json, as `atk setup --user` does.
266
+ * With `dropLegacy`, the same write removes the legacy top-level `tools`/`tool`/`frozenAssets` of a
267
+ * project set up in the home directory, so the section is all the user scope reads; other keys stay.
268
+ * Returns whether any legacy key was removed.
269
+ */
270
+ export async function writeUserScopeSection(config, { dropLegacy }) {
271
+ const configPath = getConfigPath();
272
+ const existing = existsSync(configPath) ? parseJsonObject(await readFile(configPath, 'utf-8')) : null;
273
+ const droppedLegacy = dropLegacy && PROJECT_CONFIG_KEYS.some((key) => existing !== null && key in existing);
274
+ const owned = dropLegacy ? [USER_SCOPE_KEY, ...PROJECT_CONFIG_KEYS] : [USER_SCOPE_KEY];
275
+ const toSave = { [USER_SCOPE_KEY]: toSavedScopeConfig(config) };
276
+ await writeJsonFile(configPath, await mergeOwnedKeys(configPath, owned, toSave));
277
+ return { droppedLegacy };
278
+ }
264
279
  function isRecord(value) {
265
280
  return typeof value === 'object' && value !== null && !Array.isArray(value);
266
281
  }
@@ -274,6 +289,14 @@ async function mergeOwnedKeys(configPath, ownedKeys, toSave) {
274
289
  const kept = Object.entries(existing).filter(([key]) => !ownedKeys.includes(key) || key in toSave);
275
290
  return { ...Object.fromEntries(kept), ...toSave };
276
291
  }
292
+ /**
293
+ * The error for a scope with no config, naming the setup command of the scope at `root`.
294
+ */
295
+ async function noScopeConfigError(root) {
296
+ const { command, hint, user } = await setupGuidance(root);
297
+ const missing = user ? `No user scope config found in ${getConfigPath()}` : `No project config found in ${root}`;
298
+ return new SetupRequiredError(`${missing}. Run \`${command}\` first.`, { command, hint });
299
+ }
277
300
  /**
278
301
  * Parse JSON text that should hold an object. Returns null when it doesn't parse or isn't an object.
279
302
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,10 @@ export declare function ensureGitignorePatterns(projectDir: string, patterns: st
47
47
  * not be gitignored
48
48
  */
49
49
  export declare function getGitignorePatterns(adapter: Adapter): string[];
50
+ /**
51
+ * Whether the `.gitignore` in `dir` has the block `ensureGitignoreEntries` writes.
52
+ */
53
+ export declare function hasAtkGitignoreBlock(dir: string): Promise<boolean>;
50
54
  /**
51
55
  * Check if a gitignore pattern (or its equivalent) is already present
52
56
  * in the gitignore content.
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAcxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4DxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAwC/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYjF"}
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAcxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4DxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAwC/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYjF"}
@@ -139,6 +139,16 @@ export function getGitignorePatterns(adapter) {
139
139
  }
140
140
  return patterns.sort();
141
141
  }
142
+ /**
143
+ * Whether the `.gitignore` in `dir` has the block `ensureGitignoreEntries` writes.
144
+ */
145
+ export async function hasAtkGitignoreBlock(dir) {
146
+ const gitignorePath = join(dir, '.gitignore');
147
+ if (!existsSync(gitignorePath))
148
+ return false;
149
+ const content = await readFile(gitignorePath, 'utf-8');
150
+ return content.split(/\r?\n/).some((line) => line.trim() === ATK_HEADER);
151
+ }
142
152
  /**
143
153
  * Check if a gitignore pattern (or its equivalent) is already present
144
154
  * in the gitignore content.
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export type Scope = 'project' | 'user';
12
12
  export declare class ScopeError extends GuidedError {
13
13
  name: string;
14
14
  }
15
+ /**
16
+ * Whether `root` is the user root, so the scope at it is the user scope.
17
+ */
18
+ export declare function isUserRoot(root: string): Promise<boolean>;
15
19
  /**
16
20
  * Load the config (tools and frozen assets) of the scope at `root`: the user scope's config
17
21
  * when `root` is the user root, otherwise the project's .atkrc.json.
@@ -38,4 +42,12 @@ export declare function resolveUserRoot(): Promise<string>;
38
42
  * Save the config of the scope at `root`, where `loadScopeConfig` reads it.
39
43
  */
40
44
  export declare function saveScopeConfig(root: string, config: ProjectConfig): Promise<void>;
45
+ /**
46
+ * The setup command for the scope at `root`, and its hint, for errors that need the scope set up.
47
+ */
48
+ export declare function setupGuidance(root: string): Promise<{
49
+ command: string;
50
+ hint: string;
51
+ user: boolean;
52
+ }>;
41
53
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wFAAwF;AACxF,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,2EAA2E;AAC3E,qBAAa,UAAW,SAAQ,WAAW;IAChC,IAAI,SAAgB;CAC9B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAGjF;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,EACjC,WAAW,EACX,IAAY,GACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBzB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAavD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wFAAwF;AACxF,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,2EAA2E;AAC3E,qBAAa,UAAW,SAAQ,WAAW;IAChC,IAAI,SAAgB;CAC9B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAEjF;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,EACjC,WAAW,EACX,IAAY,GACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBzB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAavD;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAI3G"}
@@ -9,13 +9,18 @@ import { isSamePath } from './same-path.js';
9
9
  export class ScopeError extends GuidedError {
10
10
  name = 'ScopeError';
11
11
  }
12
+ /**
13
+ * Whether `root` is the user root, so the scope at it is the user scope.
14
+ */
15
+ export async function isUserRoot(root) {
16
+ return isSamePath(resolve(root), await userRootOrHome());
17
+ }
12
18
  /**
13
19
  * Load the config (tools and frozen assets) of the scope at `root`: the user scope's config
14
20
  * when `root` is the user root, otherwise the project's .atkrc.json.
15
21
  */
16
22
  export async function loadScopeConfig(root) {
17
- const userRoot = await userRootOrHome();
18
- return isSamePath(resolve(root), userRoot) ? loadUserScopeConfig(userRoot) : loadProjectConfig(root);
23
+ return (await isUserRoot(root)) ? loadUserScopeConfig(resolve(root)) : loadProjectConfig(root);
19
24
  }
20
25
  /**
21
26
  * Resolve the scope a command works in.
@@ -40,7 +45,7 @@ export async function resolveScope({ projectRoot, user = false, }) {
40
45
  return { root: userRoot, scope: 'user' };
41
46
  }
42
47
  const root = findProjectRoot(projectRoot);
43
- return { root, scope: isSamePath(root, await userRootOrHome()) ? 'user' : 'project' };
48
+ return { root, scope: (await isUserRoot(root)) ? 'user' : 'project' };
44
49
  }
45
50
  /**
46
51
  * Resolve the user root: the `ATK_USER_ROOT` env var, then the `userRoot` config key,
@@ -63,13 +68,20 @@ export async function resolveUserRoot() {
63
68
  * Save the config of the scope at `root`, where `loadScopeConfig` reads it.
64
69
  */
65
70
  export async function saveScopeConfig(root, config) {
66
- const userRoot = await userRootOrHome();
67
- if (isSamePath(resolve(root), userRoot)) {
68
- await saveUserScopeConfig(userRoot, config);
71
+ if (await isUserRoot(root)) {
72
+ await saveUserScopeConfig(resolve(root), config);
69
73
  return;
70
74
  }
71
75
  await saveProjectConfig(root, config);
72
76
  }
77
+ /**
78
+ * The setup command for the scope at `root`, and its hint, for errors that need the scope set up.
79
+ */
80
+ export async function setupGuidance(root) {
81
+ return (await isUserRoot(root))
82
+ ? { command: 'atk setup --user', hint: 'Run `atk setup --user` to select the user scope tools.', user: true }
83
+ : { command: 'atk setup', hint: 'Run `atk setup` to initialize the project and select a tool.', user: false };
84
+ }
73
85
  /**
74
86
  * The user root, for telling whether a project root is the user scope. A user config that
75
87
  * doesn't load names no other root, so this falls back to the home directory instead of failing
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ResolvedScope } from './scope.js';
1
2
  /**
2
3
  * Regex for valid org identifiers. Must start with a letter, then letters,
3
4
  * digits, or hyphens. Matches the constraint in the manifest schema.
@@ -31,4 +32,18 @@ export declare function parseToolsInput(values: string[]): string[];
31
32
  * effect, made independently testable without React rendering overhead.
32
33
  */
33
34
  export declare function performSetupCreation(options: SetupCreationOptions): Promise<SetupCreationResult>;
35
+ /**
36
+ * The org setup writes to a new lockfile: the trimmed value, or none when it is empty and not
37
+ * locked by an existing lockfile. Throws when it isn't a valid org identifier.
38
+ */
39
+ export declare function resolveSetupOrg(orgValue: string, orgLocked: boolean): string | undefined;
40
+ /**
41
+ * The root and scope `atk setup` works in. `--user` selects the user root (an error with `-P`, or
42
+ * when the root doesn't exist). Otherwise it is `-P` or the current directory, and the user scope
43
+ * when that is the user root, as for every other command.
44
+ */
45
+ export declare function resolveSetupScope({ projectRoot, user, }: {
46
+ projectRoot?: string;
47
+ user?: boolean;
48
+ }): Promise<ResolvedScope>;
34
49
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,WAAW,QAA4B,CAAC;AAMrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoHtG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAc,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAM1E;;;GAGG;AACH,eAAO,MAAM,WAAW,QAA4B,CAAC;AAMrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6GtG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,WAAW,EACX,IAAY,GACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CAOzB"}
@@ -6,6 +6,8 @@ import { loadProjectConfig, saveProjectConfig } from './config.js';
6
6
  import { errorMessage } from './errors.js';
7
7
  import { ensureGitignoreEntries, ensureGitignorePatterns } from './gitignore.js';
8
8
  import { getLockfilePath, readLockfile, writeLockfile } from './lockfile.js';
9
+ import { resolveSetupRoot } from './paths.js';
10
+ import { isUserRoot, resolveScope } from './scope.js';
9
11
  // ---------------------------------------------------------------------------
10
12
  // Constants
11
13
  // ---------------------------------------------------------------------------
@@ -45,11 +47,7 @@ export async function performSetupCreation(options) {
45
47
  const { orgLocked, orgValue, projectDir, selectedTools } = options;
46
48
  const actions = [];
47
49
  const warnings = [];
48
- const resolvedOrg = orgLocked ? orgValue.trim() : orgValue.trim() || undefined;
49
- // Validate org format when non-empty
50
- if (resolvedOrg !== undefined && !ORG_PATTERN.test(resolvedOrg)) {
51
- throw new Error(`Invalid org "${resolvedOrg}": must start with a letter and contain only letters, digits, or hyphens.`);
52
- }
50
+ const resolvedOrg = resolveSetupOrg(orgValue, orgLocked);
53
51
  // 1. Write .atkrc.json with { tools: [...] }. Setup replaces the tools list, so say which
54
52
  // list it replaced and which tools dropped out of it.
55
53
  // Frozen assets are not setup's to change, so they carry over.
@@ -146,6 +144,30 @@ export async function performSetupCreation(options) {
146
144
  }
147
145
  return { actions, warnings };
148
146
  }
147
+ /**
148
+ * The org setup writes to a new lockfile: the trimmed value, or none when it is empty and not
149
+ * locked by an existing lockfile. Throws when it isn't a valid org identifier.
150
+ */
151
+ export function resolveSetupOrg(orgValue, orgLocked) {
152
+ const resolvedOrg = orgLocked ? orgValue.trim() : orgValue.trim() || undefined;
153
+ // Validate org format when non-empty
154
+ if (resolvedOrg !== undefined && !ORG_PATTERN.test(resolvedOrg)) {
155
+ throw new Error(`Invalid org "${resolvedOrg}": must start with a letter and contain only letters, digits, or hyphens.`);
156
+ }
157
+ return resolvedOrg;
158
+ }
159
+ /**
160
+ * The root and scope `atk setup` works in. `--user` selects the user root (an error with `-P`, or
161
+ * when the root doesn't exist). Otherwise it is `-P` or the current directory, and the user scope
162
+ * when that is the user root, as for every other command.
163
+ */
164
+ export async function resolveSetupScope({ projectRoot, user = false, }) {
165
+ if (user) {
166
+ return resolveScope({ projectRoot, user });
167
+ }
168
+ const root = resolveSetupRoot(projectRoot);
169
+ return { root, scope: (await isUserRoot(root)) ? 'user' : 'project' };
170
+ }
149
171
  // ---------------------------------------------------------------------------
150
172
  // Helpers
151
173
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAOpD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBlG;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA2BpD"}
1
+ {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAOpD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAclG;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwBpD"}
@@ -1,7 +1,7 @@
1
1
  import { loadAdapter } from './adapter.js';
2
2
  import { SetupRequiredError } from './errors.js';
3
3
  import { findProjectRoot } from './paths.js';
4
- import { loadScopeConfig } from './scope.js';
4
+ import { loadScopeConfig, setupGuidance } from './scope.js';
5
5
  /**
6
6
  * Resolve a single tool to target, returning both the resolved tool name and its adapter config.
7
7
  *
@@ -33,10 +33,7 @@ export async function resolveToolNames(toolOption, projectDir) {
33
33
  const projectConfig = await loadScopeConfig(resolvedDir);
34
34
  const tools = projectConfig?.tools;
35
35
  if (!tools || tools.length === 0) {
36
- throw new SetupRequiredError('No tools configured. Run `atk setup` to select your AI coding tool.', {
37
- command: 'atk setup',
38
- hint: 'Run `atk setup` to initialize the project and select a tool.',
39
- });
36
+ throw await noToolsError(resolvedDir);
40
37
  }
41
38
  return tools;
42
39
  }
@@ -61,10 +58,7 @@ export async function resolveTools(toolOption, projectDir) {
61
58
  const projectConfig = await loadScopeConfig(resolvedDir);
62
59
  const tools = projectConfig?.tools;
63
60
  if (!tools || tools.length === 0) {
64
- throw new SetupRequiredError('No tools configured. Run `atk setup` to select your AI coding tool.', {
65
- command: 'atk setup',
66
- hint: 'Run `atk setup` to initialize the project and select a tool.',
67
- });
61
+ throw await noToolsError(resolvedDir);
68
62
  }
69
63
  const results = [];
70
64
  for (const tool of tools) {
@@ -73,4 +67,12 @@ export async function resolveTools(toolOption, projectDir) {
73
67
  }
74
68
  return results;
75
69
  }
70
+ /** The error for a scope with no tools, naming the setup command of the scope at `root`. */
71
+ async function noToolsError(root) {
72
+ const { command, hint } = await setupGuidance(root);
73
+ return new SetupRequiredError(`No tools configured. Run \`${command}\` to select your AI coding tool.`, {
74
+ command,
75
+ hint,
76
+ });
77
+ }
76
78
  //# sourceMappingURL=tool-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAmB,EACnB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmB,EAAE,UAAmB;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,kBAAkB,CAAC,qEAAqE,EAAE;YAClG,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,8DAA8D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IAEpD,6DAA6D;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,kBAAkB,CAAC,qEAAqE,EAAE;YAClG,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,8DAA8D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAmB,EACnB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmB,EAAE,UAAmB;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IAEpD,6DAA6D;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,kBAAkB,CAAC,8BAA8B,OAAO,mCAAmC,EAAE;QACtG,OAAO;QACP,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { SetupCreationResult } from './setup.js';
2
+ export interface UserSetupOptions {
3
+ orgLocked: boolean;
4
+ orgValue: string;
5
+ selectedTools: string[];
6
+ userRoot: string;
7
+ }
8
+ export interface UserSetupResult extends SetupCreationResult {
9
+ /** Whether the run changed the user lockfile or ~/.atkrc.json. A re-run changes nothing. */
10
+ changed: boolean;
11
+ }
12
+ /**
13
+ * Set up the user scope (`atk setup --user`): the user lockfile and the `user` section of
14
+ * ~/.atkrc.json. Writes no `.gitignore` and no tool directories.
15
+ *
16
+ * Adopting a lockfile already at the user root (from `atk setup` run in the home directory), the
17
+ * first time the `user` section is written: the lockfile keeps its assets and org, the legacy
18
+ * top-level `tools`/`frozenAssets` move into the section, and the assets the home setup placed with
19
+ * project-scope rules and a leftover `.gitignore` block are reported, not changed. Only what
20
+ * differs is written, so a re-run is a no-op.
21
+ */
22
+ export declare function performUserSetup(options: UserSetupOptions): Promise<UserSetupResult>;
23
+ //# sourceMappingURL=user-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-setup.d.ts","sourceRoot":"","sources":["../../src/lib/user-setup.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AASrE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiF1F"}
@@ -0,0 +1,99 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { join, resolve } from 'node:path';
5
+ import { getConfigPath, hasUserScopeSection, loadUserScopeConfig, writeUserScopeSection } from './config.js';
6
+ import { hasAtkGitignoreBlock } from './gitignore.js';
7
+ import { getLockfilePath, readLockfile, writeLockfile } from './lockfile.js';
8
+ import { formatOrgName } from './org.js';
9
+ import { isSamePath } from './same-path.js';
10
+ import { resolveSetupOrg } from './setup.js';
11
+ /** Asset types that project scope places in ways user scope places differently. */
12
+ const PLACED_DIFFERENTLY_TYPES = new Set(['hook', 'mcp-config']);
13
+ /**
14
+ * Set up the user scope (`atk setup --user`): the user lockfile and the `user` section of
15
+ * ~/.atkrc.json. Writes no `.gitignore` and no tool directories.
16
+ *
17
+ * Adopting a lockfile already at the user root (from `atk setup` run in the home directory), the
18
+ * first time the `user` section is written: the lockfile keeps its assets and org, the legacy
19
+ * top-level `tools`/`frozenAssets` move into the section, and the assets the home setup placed with
20
+ * project-scope rules and a leftover `.gitignore` block are reported, not changed. Only what
21
+ * differs is written, so a re-run is a no-op.
22
+ */
23
+ export async function performUserSetup(options) {
24
+ const { orgLocked, orgValue, selectedTools, userRoot } = options;
25
+ const actions = [];
26
+ const warnings = [];
27
+ const org = resolveSetupOrg(orgValue, orgLocked);
28
+ const lockfilePath = getLockfilePath(userRoot);
29
+ const configPath = getConfigPath();
30
+ const before = await Promise.all([readIfExists(lockfilePath), readIfExists(configPath)]);
31
+ const lockfileExisted = before[0] !== undefined;
32
+ const adopting = lockfileExisted && !(await hasUserScopeSection());
33
+ // Read both files before writing either, so a config that doesn't load fails before any change.
34
+ const lockfile = await readLockfile(userRoot);
35
+ const assets = lockfile.assets ?? [];
36
+ const previous = await loadUserScopeConfig(userRoot);
37
+ const previousTools = previous?.tools ?? [];
38
+ // 1. The user lockfile. An existing one keeps its assets, and its org once set.
39
+ if (!lockfileExisted) {
40
+ await writeLockfile(userRoot, { assets: [], lockVersion: 1, ...(org !== undefined ? { org } : {}) });
41
+ actions.push({ detail: org ? `org: ${org}` : 'no org', label: 'Created .atk-lock.json' });
42
+ }
43
+ else if (org && !lockfile.org) {
44
+ await writeLockfile(userRoot, { ...lockfile, org });
45
+ actions.push({ detail: `org: ${org}`, label: 'Set the org in .atk-lock.json' });
46
+ }
47
+ // 2. The `user` section. Frozen assets aren't setup's to change, so they carry over, from the
48
+ // legacy top-level keys when the home directory still holds them.
49
+ const { droppedLegacy } = await writeUserScopeSection({ ...(previous?.frozenAssets?.length ? { frozenAssets: previous.frozenAssets } : {}), tools: selectedTools }, { dropLegacy: isSamePath(resolve(userRoot), resolve(homedir())) });
50
+ if ((await readIfExists(configPath)) !== before[1]) {
51
+ const replaced = previousTools.length > 0 && previousTools.join(',') !== selectedTools.join(',');
52
+ actions.push({
53
+ detail: `tools: ${selectedTools.join(', ')}${replaced ? ` — replaced: ${previousTools.join(', ')}` : ''}`,
54
+ label: `Wrote the user section of ${configPath}`,
55
+ });
56
+ }
57
+ const removedTools = previousTools.filter((tool) => !selectedTools.includes(tool));
58
+ if (removedTools.length > 0) {
59
+ actions.push({
60
+ detail: `${removedTools.join(', ')} — installed files and config directories were left in place`,
61
+ label: 'Removed from tools list',
62
+ });
63
+ }
64
+ if (droppedLegacy) {
65
+ actions.push({
66
+ detail: 'tools and frozen assets of the home directory setup',
67
+ label: `Moved the top-level keys of ${configPath} into its user section`,
68
+ });
69
+ }
70
+ if (!adopting) {
71
+ return { actions, changed: await changedSince(before, [lockfilePath, configPath]), warnings };
72
+ }
73
+ actions.push({
74
+ detail: `${assets.length} existing asset(s) kept${lockfile.org ? `, org: ${lockfile.org}` : ''}`,
75
+ label: 'Adopted .atk-lock.json',
76
+ });
77
+ // 3. Reports. Nothing here is changed: the assets need a sync, and the .gitignore may be a dotfiles repo's.
78
+ const placedDifferently = assets.filter((asset) => PLACED_DIFFERENTLY_TYPES.has(asset.type));
79
+ if (placedDifferently.length > 0) {
80
+ const names = placedDifferently.map((asset) => `${formatOrgName(asset.org, asset.name)} (${asset.type})`);
81
+ const [verb, pronoun] = placedDifferently.length === 1 ? ['was', 'it'] : ['were', 'them'];
82
+ warnings.push(`${names.join(', ')} ${verb} placed with project-scope rules, which user scope places differently. ` +
83
+ `Run \`atk sync --user\` to place ${pronoun} for the user scope.`);
84
+ }
85
+ if (await hasAtkGitignoreBlock(userRoot)) {
86
+ warnings.push(`${join(userRoot, '.gitignore')} still has the "# ATK managed assets" block from a project setup there. ` +
87
+ 'User scope does not use it, and ATK leaves it in place in case a dotfiles repo needs it.');
88
+ }
89
+ return { actions, changed: await changedSince(before, [lockfilePath, configPath]), warnings };
90
+ }
91
+ /** Whether any of `paths` differs from its content in `before` (undefined: it didn't exist). */
92
+ async function changedSince(before, paths) {
93
+ const after = await Promise.all(paths.map(readIfExists));
94
+ return after.some((content, index) => content !== before[index]);
95
+ }
96
+ async function readIfExists(path) {
97
+ return existsSync(path) ? readFile(path, 'utf-8') : undefined;
98
+ }
99
+ //# sourceMappingURL=user-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-setup.js","sourceRoot":"","sources":["../../src/lib/user-setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/atk",
3
- "version": "8.6.0-dev.1",
3
+ "version": "8.6.0-dev.2",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {