@seanmars/tospec 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +233 -0
  2. package/README.md +20 -7
  3. package/assets/dashboard/app.js +6 -0
  4. package/assets/dashboard/style.css +42 -5
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +39 -16
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/config.d.ts.map +1 -1
  9. package/dist/commands/config.js +21 -16
  10. package/dist/commands/config.js.map +1 -1
  11. package/dist/commands/dashboard.d.ts +95 -8
  12. package/dist/commands/dashboard.d.ts.map +1 -1
  13. package/dist/commands/dashboard.js +256 -31
  14. package/dist/commands/dashboard.js.map +1 -1
  15. package/dist/commands/decision.d.ts.map +1 -1
  16. package/dist/commands/decision.js +1 -13
  17. package/dist/commands/decision.js.map +1 -1
  18. package/dist/commands/validate.d.ts.map +1 -1
  19. package/dist/commands/validate.js +80 -44
  20. package/dist/commands/validate.js.map +1 -1
  21. package/dist/commands/workflow/instructions.d.ts +0 -2
  22. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  23. package/dist/commands/workflow/instructions.js +3 -38
  24. package/dist/commands/workflow/instructions.js.map +1 -1
  25. package/dist/commands/workflow/shared.d.ts +0 -3
  26. package/dist/commands/workflow/shared.d.ts.map +1 -1
  27. package/dist/commands/workflow/shared.js.map +1 -1
  28. package/dist/core/archive.d.ts +11 -2
  29. package/dist/core/archive.d.ts.map +1 -1
  30. package/dist/core/archive.js +110 -111
  31. package/dist/core/archive.js.map +1 -1
  32. package/dist/core/artifact-graph/instruction-loader.d.ts +0 -5
  33. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  34. package/dist/core/artifact-graph/instruction-loader.js +37 -40
  35. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  36. package/dist/core/artifact-graph/resolver.d.ts +27 -1
  37. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  38. package/dist/core/artifact-graph/resolver.js +114 -127
  39. package/dist/core/artifact-graph/resolver.js.map +1 -1
  40. package/dist/core/artifact-graph/schema.d.ts.map +1 -1
  41. package/dist/core/artifact-graph/schema.js +22 -0
  42. package/dist/core/artifact-graph/schema.js.map +1 -1
  43. package/dist/core/change-metadata/schema.d.ts +1 -0
  44. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  45. package/dist/core/change-metadata/schema.js +7 -0
  46. package/dist/core/change-metadata/schema.js.map +1 -1
  47. package/dist/core/change-presenter.d.ts +0 -1
  48. package/dist/core/change-presenter.d.ts.map +1 -1
  49. package/dist/core/change-presenter.js +4 -21
  50. package/dist/core/change-presenter.js.map +1 -1
  51. package/dist/core/command-generation/adapters/index.d.ts +9 -1
  52. package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
  53. package/dist/core/command-generation/adapters/index.js +10 -1
  54. package/dist/core/command-generation/adapters/index.js.map +1 -1
  55. package/dist/core/command-generation/index.d.ts +2 -2
  56. package/dist/core/command-generation/index.d.ts.map +1 -1
  57. package/dist/core/command-generation/index.js +2 -2
  58. package/dist/core/command-generation/index.js.map +1 -1
  59. package/dist/core/config.d.ts +0 -4
  60. package/dist/core/config.d.ts.map +1 -1
  61. package/dist/core/config.js +0 -4
  62. package/dist/core/config.js.map +1 -1
  63. package/dist/core/converters/json-converter.d.ts +0 -1
  64. package/dist/core/converters/json-converter.d.ts.map +1 -1
  65. package/dist/core/converters/json-converter.js +3 -17
  66. package/dist/core/converters/json-converter.js.map +1 -1
  67. package/dist/core/dashboard-activity.d.ts.map +1 -1
  68. package/dist/core/dashboard-activity.js +2 -8
  69. package/dist/core/dashboard-activity.js.map +1 -1
  70. package/dist/core/dashboard-data.d.ts +12 -6
  71. package/dist/core/dashboard-data.d.ts.map +1 -1
  72. package/dist/core/dashboard-data.js +13 -44
  73. package/dist/core/dashboard-data.js.map +1 -1
  74. package/dist/core/global-config.d.ts +59 -16
  75. package/dist/core/global-config.d.ts.map +1 -1
  76. package/dist/core/global-config.js +99 -41
  77. package/dist/core/global-config.js.map +1 -1
  78. package/dist/core/id.d.ts +0 -8
  79. package/dist/core/id.d.ts.map +1 -1
  80. package/dist/core/id.js +0 -19
  81. package/dist/core/id.js.map +1 -1
  82. package/dist/core/init.d.ts +0 -1
  83. package/dist/core/init.d.ts.map +1 -1
  84. package/dist/core/init.js +13 -23
  85. package/dist/core/init.js.map +1 -1
  86. package/dist/core/list.d.ts.map +1 -1
  87. package/dist/core/list.js +3 -34
  88. package/dist/core/list.js.map +1 -1
  89. package/dist/core/migrate.js +9 -15
  90. package/dist/core/migrate.js.map +1 -1
  91. package/dist/core/parsers/markdown-parser.d.ts +11 -1
  92. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  93. package/dist/core/parsers/markdown-parser.js +25 -13
  94. package/dist/core/parsers/markdown-parser.js.map +1 -1
  95. package/dist/core/planning-home.d.ts +6 -0
  96. package/dist/core/planning-home.d.ts.map +1 -1
  97. package/dist/core/planning-home.js +6 -1
  98. package/dist/core/planning-home.js.map +1 -1
  99. package/dist/core/project-config.d.ts +17 -26
  100. package/dist/core/project-config.d.ts.map +1 -1
  101. package/dist/core/project-config.js +24 -138
  102. package/dist/core/project-config.js.map +1 -1
  103. package/dist/core/root-selection.d.ts.map +1 -1
  104. package/dist/core/root-selection.js +2 -15
  105. package/dist/core/root-selection.js.map +1 -1
  106. package/dist/core/shared/index.d.ts +1 -1
  107. package/dist/core/shared/index.d.ts.map +1 -1
  108. package/dist/core/shared/index.js +1 -1
  109. package/dist/core/shared/index.js.map +1 -1
  110. package/dist/core/shared/skill-generation.js +3 -3
  111. package/dist/core/shared/skill-generation.js.map +1 -1
  112. package/dist/core/shared/tool-detection.d.ts +9 -6
  113. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  114. package/dist/core/shared/tool-detection.js +9 -9
  115. package/dist/core/shared/tool-detection.js.map +1 -1
  116. package/dist/core/spec-presenter.d.ts.map +1 -1
  117. package/dist/core/spec-presenter.js.map +1 -1
  118. package/dist/core/specs-apply.d.ts +0 -31
  119. package/dist/core/specs-apply.d.ts.map +1 -1
  120. package/dist/core/specs-apply.js +0 -102
  121. package/dist/core/specs-apply.js.map +1 -1
  122. package/dist/core/templates/fragments/verify.d.ts +12 -11
  123. package/dist/core/templates/fragments/verify.d.ts.map +1 -1
  124. package/dist/core/templates/fragments/verify.js +22 -15
  125. package/dist/core/templates/fragments/verify.js.map +1 -1
  126. package/dist/core/templates/workflows/apply.d.ts +2 -2
  127. package/dist/core/templates/workflows/apply.js +10 -10
  128. package/dist/core/templates/workflows/apply.js.map +1 -1
  129. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  130. package/dist/core/templates/workflows/archive.js +30 -20
  131. package/dist/core/templates/workflows/archive.js.map +1 -1
  132. package/dist/core/templates/workflows/propose.js +2 -2
  133. package/dist/core/templates/workflows/sync.d.ts +4 -3
  134. package/dist/core/templates/workflows/sync.d.ts.map +1 -1
  135. package/dist/core/templates/workflows/sync.js +30 -13
  136. package/dist/core/templates/workflows/sync.js.map +1 -1
  137. package/dist/core/templates/workflows/update.js +1 -1
  138. package/dist/core/update.d.ts.map +1 -1
  139. package/dist/core/update.js +10 -15
  140. package/dist/core/update.js.map +1 -1
  141. package/dist/core/user-state-migration.d.ts +58 -0
  142. package/dist/core/user-state-migration.d.ts.map +1 -0
  143. package/dist/core/user-state-migration.js +107 -0
  144. package/dist/core/user-state-migration.js.map +1 -0
  145. package/dist/core/validation/section-validator.d.ts.map +1 -1
  146. package/dist/core/validation/section-validator.js +3 -16
  147. package/dist/core/validation/section-validator.js.map +1 -1
  148. package/dist/core/validation/validator.d.ts +0 -9
  149. package/dist/core/validation/validator.d.ts.map +1 -1
  150. package/dist/core/validation/validator.js +86 -115
  151. package/dist/core/validation/validator.js.map +1 -1
  152. package/dist/utils/change-metadata.d.ts +18 -0
  153. package/dist/utils/change-metadata.d.ts.map +1 -1
  154. package/dist/utils/change-metadata.js +39 -0
  155. package/dist/utils/change-metadata.js.map +1 -1
  156. package/dist/utils/change-utils.d.ts.map +1 -1
  157. package/dist/utils/change-utils.js +3 -6
  158. package/dist/utils/change-utils.js.map +1 -1
  159. package/dist/utils/file-system.d.ts +17 -19
  160. package/dist/utils/file-system.d.ts.map +1 -1
  161. package/dist/utils/file-system.js +41 -189
  162. package/dist/utils/file-system.js.map +1 -1
  163. package/dist/utils/frontmatter.d.ts +22 -0
  164. package/dist/utils/frontmatter.d.ts.map +1 -0
  165. package/dist/utils/frontmatter.js +39 -0
  166. package/dist/utils/frontmatter.js.map +1 -0
  167. package/dist/utils/item-discovery.d.ts +7 -0
  168. package/dist/utils/item-discovery.d.ts.map +1 -1
  169. package/dist/utils/item-discovery.js +13 -23
  170. package/dist/utils/item-discovery.js.map +1 -1
  171. package/dist/utils/link.d.ts +3 -1
  172. package/dist/utils/link.d.ts.map +1 -1
  173. package/dist/utils/link.js +4 -14
  174. package/dist/utils/link.js.map +1 -1
  175. package/dist/utils/spec-files.d.ts +19 -0
  176. package/dist/utils/spec-files.d.ts.map +1 -0
  177. package/dist/utils/spec-files.js +44 -0
  178. package/dist/utils/spec-files.js.map +1 -0
  179. package/dist/utils/task-progress.d.ts +0 -1
  180. package/dist/utils/task-progress.d.ts.map +1 -1
  181. package/dist/utils/task-progress.js +5 -6
  182. package/dist/utils/task-progress.js.map +1 -1
  183. package/package.json +11 -2
  184. package/schemas/issue/schema.yaml +6 -3
  185. package/schemas/sdd/schema.yaml +15 -2
  186. package/dist/core/references.d.ts +0 -40
  187. package/dist/core/references.d.ts.map +0 -1
  188. package/dist/core/references.js +0 -11
  189. package/dist/core/references.js.map +0 -1
  190. package/dist/utils/command-references.d.ts +0 -18
  191. package/dist/utils/command-references.d.ts.map +0 -1
  192. package/dist/utils/command-references.js +0 -20
  193. package/dist/utils/command-references.js.map +0 -1
  194. package/dist/utils/index.d.ts +0 -6
  195. package/dist/utils/index.d.ts.map +0 -1
  196. package/dist/utils/index.js +0 -9
  197. package/dist/utils/index.js.map +0 -1
  198. package/dist/utils/shell-detection.d.ts +0 -20
  199. package/dist/utils/shell-detection.d.ts.map +0 -1
  200. package/dist/utils/shell-detection.js +0 -41
  201. package/dist/utils/shell-detection.js.map +0 -1
@@ -9,56 +9,83 @@ const DEFAULT_CONFIG = {
9
9
  profile: 'core',
10
10
  };
11
11
  /**
12
- * Gets the global configuration directory path following XDG Base Directory Specification.
12
+ * The single user-level tospec directory, on every platform.
13
13
  *
14
- * - All platforms: $XDG_CONFIG_HOME/tospec/ if XDG_CONFIG_HOME is set
15
- * - Unix/macOS fallback: ~/.config/tospec/
16
- * - Windows fallback: %APPDATA%/tospec/
14
+ * - $XDG_CONFIG_HOME/tospec/ when XDG_CONFIG_HOME is set
15
+ * - ~/.config/tospec/ otherwise
16
+ *
17
+ * Deliberately platform-uniform: %APPDATA% is not consulted, so config, schema
18
+ * overrides and the dashboard registry cannot end up in three different trees on
19
+ * Windows. Anyone who wants the roaming behaviour back — %APPDATA% is synced
20
+ * across domain-joined machines and the home directory is not — sets
21
+ * XDG_CONFIG_HOME to it.
17
22
  */
18
- export function getGlobalConfigDir() {
23
+ export function getGlobalConfigDir(options = {}) {
24
+ const env = options.env ?? process.env;
25
+ const platform = options.platform ?? os.platform();
19
26
  // XDG_CONFIG_HOME takes precedence on all platforms when explicitly set
20
- const xdgConfigHome = process.env.XDG_CONFIG_HOME;
27
+ const xdgConfigHome = env.XDG_CONFIG_HOME;
21
28
  if (xdgConfigHome) {
22
- return path.join(xdgConfigHome, GLOBAL_CONFIG_DIR_NAME);
23
- }
24
- const platform = os.platform();
25
- if (platform === 'win32') {
26
- // Windows: use %APPDATA%
27
- const appData = process.env.APPDATA;
28
- if (appData) {
29
- return path.join(appData, GLOBAL_CONFIG_DIR_NAME);
30
- }
31
- // Fallback for Windows if APPDATA is not set
32
- return path.join(os.homedir(), 'AppData', 'Roaming', GLOBAL_CONFIG_DIR_NAME);
29
+ return joinGlobalPath(platform, xdgConfigHome, GLOBAL_CONFIG_DIR_NAME);
33
30
  }
34
- // Unix/macOS fallback: ~/.config
35
- return path.join(os.homedir(), '.config', GLOBAL_CONFIG_DIR_NAME);
31
+ const homedir = options.homedir ?? os.homedir();
32
+ return joinGlobalPath(platform, homedir, '.config', GLOBAL_CONFIG_DIR_NAME);
36
33
  }
37
- function joinGlobalDataPath(platform, ...segments) {
34
+ /** Join with the injected platform's separator, not the host's. */
35
+ function joinGlobalPath(platform, ...segments) {
38
36
  return platform === 'win32'
39
37
  ? path.win32.join(...segments)
40
38
  : path.posix.join(...segments);
41
39
  }
42
- export function getGlobalDataDir(options = {}) {
40
+ /**
41
+ * The user data directory schema overrides used to live in, before they moved
42
+ * under the config directory.
43
+ *
44
+ * - macOS/Linux: ~/.local/share/tospec/
45
+ * - Windows: %LOCALAPPDATA%/tospec/
46
+ *
47
+ * XDG_DATA_HOME is deliberately *not* consulted here. It still names a live
48
+ * schema override (see getUserSchemasDir), so a directory it points at is one
49
+ * the user chose on purpose — reading it as "legacy" would have the migration
50
+ * move files out of a location we are still honouring.
51
+ */
52
+ export function getLegacyDataDir(options = {}) {
43
53
  const env = options.env ?? process.env;
44
54
  const platform = options.platform ?? os.platform();
45
- // XDG_DATA_HOME takes precedence on all platforms when explicitly set
46
- const xdgDataHome = env.XDG_DATA_HOME;
47
- if (xdgDataHome) {
48
- return joinGlobalDataPath(platform, xdgDataHome, GLOBAL_DATA_DIR_NAME);
49
- }
50
55
  const homedir = options.homedir ?? os.homedir();
51
56
  if (platform === 'win32') {
52
57
  // Windows: use %LOCALAPPDATA%
53
58
  const localAppData = env.LOCALAPPDATA;
54
59
  if (localAppData) {
55
- return joinGlobalDataPath(platform, localAppData, GLOBAL_DATA_DIR_NAME);
60
+ return joinGlobalPath(platform, localAppData, GLOBAL_DATA_DIR_NAME);
56
61
  }
57
62
  // Fallback for Windows if LOCALAPPDATA is not set
58
- return joinGlobalDataPath(platform, homedir, 'AppData', 'Local', GLOBAL_DATA_DIR_NAME);
63
+ return joinGlobalPath(platform, homedir, 'AppData', 'Local', GLOBAL_DATA_DIR_NAME);
59
64
  }
60
65
  // Unix/macOS fallback: ~/.local/share
61
- return joinGlobalDataPath(platform, homedir, '.local', 'share', GLOBAL_DATA_DIR_NAME);
66
+ return joinGlobalPath(platform, homedir, '.local', 'share', GLOBAL_DATA_DIR_NAME);
67
+ }
68
+ /**
69
+ * Where config lived before it moved under ~/.config. Only the migration and
70
+ * the read fallback below consult it, and together with getLegacySchemasDir it
71
+ * is the last place platform branching survives.
72
+ *
73
+ * On macOS/Linux — and on any platform with XDG_CONFIG_HOME set — the old
74
+ * resolver already produced today's answer, so "legacy" is the current
75
+ * directory and every caller degenerates into a no-op without needing to ask
76
+ * which platform it is on.
77
+ */
78
+ export function getLegacyConfigDir(options = {}) {
79
+ const env = options.env ?? process.env;
80
+ const platform = options.platform ?? os.platform();
81
+ if (env.XDG_CONFIG_HOME || platform !== 'win32') {
82
+ return getGlobalConfigDir(options);
83
+ }
84
+ const homedir = options.homedir ?? os.homedir();
85
+ const appData = env.APPDATA;
86
+ return appData
87
+ ? joinGlobalPath(platform, appData, GLOBAL_CONFIG_DIR_NAME)
88
+ : joinGlobalPath(platform, homedir, 'AppData', 'Roaming', GLOBAL_CONFIG_DIR_NAME);
62
89
  }
63
90
  /**
64
91
  * Gets the path to the global config file.
@@ -66,22 +93,12 @@ export function getGlobalDataDir(options = {}) {
66
93
  export function getGlobalConfigPath() {
67
94
  return path.join(getGlobalConfigDir(), GLOBAL_CONFIG_FILE_NAME);
68
95
  }
69
- /**
70
- * Loads the global configuration from disk.
71
- * Returns default configuration if file doesn't exist or is invalid.
72
- * Merges loaded config with defaults to ensure new fields are available.
73
- */
74
- export function getGlobalConfig() {
75
- const configPath = getGlobalConfigPath();
96
+ function readConfigFile(configPath) {
76
97
  try {
77
- if (!fs.existsSync(configPath)) {
78
- return { ...DEFAULT_CONFIG };
79
- }
80
98
  const content = fs.readFileSync(configPath, 'utf-8');
81
- const parsed = JSON.parse(content);
82
99
  // Merge with defaults (loaded values take precedence). Unknown keys from
83
100
  // older config versions pass through harmlessly.
84
- return { ...DEFAULT_CONFIG, ...parsed };
101
+ return { ...DEFAULT_CONFIG, ...JSON.parse(content) };
85
102
  }
86
103
  catch (error) {
87
104
  // Log warning for parse errors, but not for missing files
@@ -91,6 +108,47 @@ export function getGlobalConfig() {
91
108
  return { ...DEFAULT_CONFIG };
92
109
  }
93
110
  }
111
+ /**
112
+ * Reads config from `configDir`, falling back to `legacyConfigDir` while an
113
+ * install has not been migrated yet — migration only runs on init/update, so
114
+ * without this a user who upgrades and runs anything else would silently drop
115
+ * to the default profile. Writes always go to `configDir`, so the fallback
116
+ * stops firing as soon as anything saves.
117
+ *
118
+ * Takes resolved directories rather than reading them itself so the on-disk
119
+ * behaviour is testable without a platform whose legacy path differs.
120
+ */
121
+ export function loadGlobalConfigFrom(configDir, legacyConfigDir) {
122
+ const configPath = resolveConfigPath(configDir, legacyConfigDir);
123
+ return fs.existsSync(configPath) ? readConfigFile(configPath) : { ...DEFAULT_CONFIG };
124
+ }
125
+ /** Single owner of the current-then-legacy precedence, so nothing re-derives it. */
126
+ function resolveConfigPath(configDir, legacyConfigDir) {
127
+ const configPath = path.join(configDir, GLOBAL_CONFIG_FILE_NAME);
128
+ if (fs.existsSync(configPath)) {
129
+ return configPath;
130
+ }
131
+ const legacyPath = path.join(legacyConfigDir, GLOBAL_CONFIG_FILE_NAME);
132
+ return legacyPath !== configPath && fs.existsSync(legacyPath) ? legacyPath : configPath;
133
+ }
134
+ /**
135
+ * The config file a read actually lands on. Callers that re-read the raw file to
136
+ * tell explicit values from defaults need this rather than getGlobalConfigPath,
137
+ * which names where config is *written* — during the fallback window those are
138
+ * different files, and using the wrong one labels every explicit value
139
+ * "(default)".
140
+ */
141
+ export function getEffectiveConfigPath() {
142
+ return resolveConfigPath(getGlobalConfigDir(), getLegacyConfigDir());
143
+ }
144
+ /**
145
+ * Loads the global configuration from disk.
146
+ * Returns default configuration if file doesn't exist or is invalid.
147
+ * Merges loaded config with defaults to ensure new fields are available.
148
+ */
149
+ export function getGlobalConfig() {
150
+ return loadGlobalConfigFrom(getGlobalConfigDir(), getLegacyConfigDir());
151
+ }
94
152
  /**
95
153
  * Saves the global configuration to disk.
96
154
  * Creates the config directory if it doesn't exist.
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"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"}
package/dist/core/id.d.ts CHANGED
@@ -6,12 +6,4 @@ export declare const KEBAB_ID_REGEX: RegExp;
6
6
  export declare function isKebabId(value: string): boolean;
7
7
  /** Human rendering of the grammar, shared so the wording never forks. */
8
8
  export declare const KEBAB_ID_DESCRIPTION = "must be kebab-case with lowercase letters, numbers, and single hyphen separators";
9
- /** The fix-line twin of KEBAB_ID_DESCRIPTION, shared for the same reason. */
10
- export declare const KEBAB_ID_FIX = "Use kebab-case with lowercase letters, numbers, and single hyphen separators.";
11
- /**
12
- * The folder-safe-name grammar (store ids layer the kebab grammar on
13
- * top of it; workset member labels use it alone). Returns a problem
14
- * description, or null when valid.
15
- */
16
- export declare function folderStyleNameProblem(value: string, label: string): string | null;
17
9
  //# sourceMappingURL=id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/core/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAgC,CAAC;AAE5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,qFACmD,CAAC;AAErF,6EAA6E;AAC7E,eAAO,MAAM,YAAY,kFACwD,CAAC;AAElF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAcf"}
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/core/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAgC,CAAC;AAE5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,qFACmD,CAAC"}
package/dist/core/id.js CHANGED
@@ -8,23 +8,4 @@ export function isKebabId(value) {
8
8
  }
9
9
  /** Human rendering of the grammar, shared so the wording never forks. */
10
10
  export const KEBAB_ID_DESCRIPTION = 'must be kebab-case with lowercase letters, numbers, and single hyphen separators';
11
- /** The fix-line twin of KEBAB_ID_DESCRIPTION, shared for the same reason. */
12
- export const KEBAB_ID_FIX = 'Use kebab-case with lowercase letters, numbers, and single hyphen separators.';
13
- /**
14
- * The folder-safe-name grammar (store ids layer the kebab grammar on
15
- * top of it; workset member labels use it alone). Returns a problem
16
- * description, or null when valid.
17
- */
18
- export function folderStyleNameProblem(value, label) {
19
- if (value.length === 0) {
20
- return `${label} must not be empty`;
21
- }
22
- if (value === '.' || value === '..') {
23
- return `${label} must not be '${value}'`;
24
- }
25
- if (/[\\/]/u.test(value)) {
26
- return `${label} must not contain path separators`;
27
- }
28
- return null;
29
- }
30
11
  //# sourceMappingURL=id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/core/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAE5D,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,kFAAkF,CAAC;AAErF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GACvB,+EAA+E,CAAC;AAElF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,KAAa;IAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,KAAK,oBAAoB,CAAC;IACtC,CAAC;IAED,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,GAAG,KAAK,iBAAiB,KAAK,GAAG,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,KAAK,mCAAmC,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/core/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAE5D,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,kFAAkF,CAAC"}
@@ -26,7 +26,6 @@ export declare class InitCommand {
26
26
  private generateSkillsAndCommands;
27
27
  private createConfig;
28
28
  private displaySuccessMessage;
29
- private startSpinner;
30
29
  private removeLegacyCommands;
31
30
  }
32
31
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAaF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;gBAE9B,OAAO,GAAE,kBAAuB;IAOtC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAmDlC,QAAQ;IAatB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,sBAAsB;YAgBhB,gBAAgB;IAmG9B,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,aAAa;YAsCP,wBAAwB;YAmCxB,yBAAyB;YAwFzB,YAAY;IAwB1B,OAAO,CAAC,qBAAqB;IAiF7B,OAAO,CAAC,YAAY;YASN,oBAAoB;CAqBnC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAMF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;gBAE9B,OAAO,GAAE,kBAAuB;IAOtC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAuDlC,QAAQ;IAatB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,sBAAsB;YAgBhB,gBAAgB;IAmG9B,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,aAAa;YAsCP,wBAAwB;YAgCxB,yBAAyB;YAwFzB,YAAY;IAqB1B,OAAO,CAAC,qBAAqB;YAgFf,oBAAoB;CAqBnC"}
package/dist/core/init.js CHANGED
@@ -13,8 +13,10 @@ import { serializeConfig } from './config-prompts.js';
13
13
  import { copyDir } from '../utils/link.js';
14
14
  import { removeLegacySkillDirs, removeLegacyToolSkillLayout, getToolsWithSkillsDir, getToolStates, getSkillTemplates, writeSkillDir, writeToolCommands, writeToolRules, } from './shared/index.js';
15
15
  import { getGlobalConfig } from './global-config.js';
16
+ import { runLegacyUserStateMigration } from './user-state-migration.js';
16
17
  import { getProfileWorkflows, ALL_WORKFLOWS } from './profiles.js';
17
18
  import { getAvailableTools } from './available-tools.js';
19
+ import { resolveConfigFileInDir } from './project-config.js';
18
20
  const require = createRequire(import.meta.url);
19
21
  const { version: TOSPEC_VERSION } = require('../../package.json');
20
22
  // -----------------------------------------------------------------------------
@@ -36,6 +38,9 @@ export class InitCommand {
36
38
  this.profileOverride = options.profile;
37
39
  }
38
40
  async execute(targetPath) {
41
+ // Above every getGlobalConfig() below, so this run reads the migrated file
42
+ // rather than the legacy fallback.
43
+ await runLegacyUserStateMigration();
39
44
  const projectPath = path.resolve(targetPath);
40
45
  const tospecDir = TOSPEC_DIR_NAME;
41
46
  const tospecPath = path.join(projectPath, tospecDir);
@@ -261,14 +266,11 @@ export class InitCommand {
261
266
  }
262
267
  return;
263
268
  }
264
- const spinner = this.startSpinner('Creating tospec structure...');
269
+ console.log('Creating tospec structure...');
265
270
  for (const dir of directories) {
266
271
  await FileSystemUtils.createDirectory(dir);
267
272
  }
268
- spinner.stopAndPersist({
269
- symbol: '▌',
270
- text: 'tospec structure created',
271
- });
273
+ console.log('Created tospec structure');
272
274
  }
273
275
  // ═══════════════════════════════════════════════════════════
274
276
  // SKILL GENERATION
@@ -295,7 +297,7 @@ export class InitCommand {
295
297
  removedCommandCount += await this.removeLegacyCommands(projectPath);
296
298
  // Process each tool
297
299
  for (const tool of tools) {
298
- const spinner = this.startSpinner(`Setting up ${tool.name}...`);
300
+ console.log(`Setting up ${tool.name}...`);
299
301
  try {
300
302
  // Link (or copy) each skill dir from .agents/skills/ into the tool's
301
303
  // standard `skills/` dir. Project-scope skills can't live in a nested
@@ -319,7 +321,7 @@ export class InitCommand {
319
321
  if (installRules) {
320
322
  await writeToolRules(projectPath, tool.skillsDir);
321
323
  }
322
- spinner.succeed(`Setup complete for ${tool.name}`);
324
+ console.log(`Setup complete for ${tool.name}`);
323
325
  if (tool.wasConfigured) {
324
326
  refreshedTools.push(tool);
325
327
  }
@@ -328,7 +330,7 @@ export class InitCommand {
328
330
  }
329
331
  }
330
332
  catch (error) {
331
- spinner.fail(`Failed for ${tool.name}`);
333
+ console.log(`Failed for ${tool.name}`);
332
334
  failedTools.push({ name: tool.name, error: error });
333
335
  }
334
336
  }
@@ -344,10 +346,7 @@ export class InitCommand {
344
346
  // ═══════════════════════════════════════════════════════════
345
347
  async createConfig(tospecPath, extendMode) {
346
348
  const configPath = path.join(tospecPath, 'config.yaml');
347
- const configYmlPath = path.join(tospecPath, 'config.yml');
348
- const configYamlExists = fs.existsSync(configPath);
349
- const configYmlExists = fs.existsSync(configYmlPath);
350
- if (configYamlExists || configYmlExists) {
349
+ if (resolveConfigFileInDir(tospecPath)) {
351
350
  return 'exists';
352
351
  }
353
352
  try {
@@ -396,9 +395,8 @@ export class InitCommand {
396
395
  }
397
396
  else if (configStatus === 'exists') {
398
397
  // Show actual filename (config.yaml or config.yml)
399
- const configYaml = path.join(projectPath, TOSPEC_DIR_NAME, 'config.yaml');
400
- const configYml = path.join(projectPath, TOSPEC_DIR_NAME, 'config.yml');
401
- const configName = fs.existsSync(configYaml) ? 'config.yaml' : fs.existsSync(configYml) ? 'config.yml' : 'config.yaml';
398
+ const configFile = resolveConfigFileInDir(path.join(projectPath, TOSPEC_DIR_NAME));
399
+ const configName = configFile ? path.basename(configFile) : 'config.yaml';
402
400
  console.log(`Config: tospec/${configName} (exists)`);
403
401
  }
404
402
  else {
@@ -426,14 +424,6 @@ export class InitCommand {
426
424
  }
427
425
  console.log();
428
426
  }
429
- startSpinner(text) {
430
- console.log(text);
431
- return {
432
- succeed: (msg) => console.log(msg),
433
- fail: (msg) => console.log(msg),
434
- stopAndPersist: (opts) => console.log(opts.text),
435
- };
436
- }
437
427
  async removeLegacyCommands(projectPath) {
438
428
  let removed = 0;
439
429
  // Commands now live under `.claude/commands/tosx/` (managed by
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/core/list.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAWtD,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CAChC;AA2DD,qBAAa,WAAW;IAChB,OAAO,CAAC,UAAU,GAAE,MAAY,EAAE,IAAI,GAAE,SAAS,GAAG,OAAmB,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwIzH"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/core/list.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAWtD,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CAChC;AA0BD,qBAAa,WAAW;IAChB,OAAO,CAAC,UAAU,GAAE,MAAY,EAAE,IAAI,GAAE,SAAS,GAAG,OAAmB,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoIzH"}
package/dist/core/list.js CHANGED
@@ -1,40 +1,13 @@
1
1
  import { promises as fs } from 'fs';
2
2
  import path from 'path';
3
3
  import { getTaskProgressForChange, formatTaskStatus } from '../utils/task-progress.js';
4
+ import { getLastModified } from '../utils/file-system.js';
5
+ import { listActiveChangeDirs } from '../utils/item-discovery.js';
4
6
  import { readFileSync } from 'fs';
5
7
  import { join } from 'path';
6
8
  import { MarkdownParser } from './parsers/markdown-parser.js';
7
9
  import { readChangeMetadata } from '../utils/change-metadata.js';
8
10
  import { emitSuccess } from '../commands/shared-output.js';
9
- /**
10
- * Get the most recent modification time of any file in a directory (recursive).
11
- * Falls back to the directory's own mtime if no files are found.
12
- */
13
- async function getLastModified(dirPath) {
14
- let latest = null;
15
- async function walk(dir) {
16
- const entries = await fs.readdir(dir, { withFileTypes: true });
17
- for (const entry of entries) {
18
- const fullPath = path.join(dir, entry.name);
19
- if (entry.isDirectory()) {
20
- await walk(fullPath);
21
- }
22
- else {
23
- const stat = await fs.stat(fullPath);
24
- if (latest === null || stat.mtime > latest) {
25
- latest = stat.mtime;
26
- }
27
- }
28
- }
29
- }
30
- await walk(dirPath);
31
- // If no files found, use the directory's own modification time
32
- if (latest === null) {
33
- const dirStat = await fs.stat(dirPath);
34
- return dirStat.mtime;
35
- }
36
- return latest;
37
- }
38
11
  /**
39
12
  * Format a date as relative time (e.g., "2 hours ago", "3 days ago")
40
13
  */
@@ -73,11 +46,7 @@ export class ListCommand {
73
46
  catch {
74
47
  throw new Error("No Tospec changes directory found. Run 'tospec init' first.");
75
48
  }
76
- // Get all directories in changes (excluding archive)
77
- const entries = await fs.readdir(changesDir, { withFileTypes: true });
78
- const changeDirs = entries
79
- .filter(entry => entry.isDirectory() && entry.name !== 'archive')
80
- .map(entry => entry.name);
49
+ const changeDirs = await listActiveChangeDirs(changesDir);
81
50
  if (changeDirs.length === 0) {
82
51
  if (json) {
83
52
  emitSuccess({ changes: [] }, root);
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/core/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/core/list.ts"],"names":[],"mappings":"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"}
@@ -195,18 +195,18 @@ export class MigrateCommand {
195
195
  // bare specs/changes dirs and a default config.yaml, and requiring the user
196
196
  // to delete it would undo the init. Only real content blocks the migration.
197
197
  const targetContent = [
198
- ...(await listSpecDirs(path.join(target, 'specs'))),
199
- ...(await listChangeDirs(path.join(target, 'changes'))),
200
- ...(await listChangeDirs(path.join(target, 'changes', 'archive'))),
198
+ ...(await listDirs(path.join(target, 'specs'))),
199
+ ...(await listDirs(path.join(target, 'changes'), 'archive')),
200
+ ...(await listDirs(path.join(target, 'changes', 'archive'), 'archive')),
201
201
  ];
202
202
  if (targetContent.length > 0) {
203
203
  throw new MigrateError(`Target already has specs or changes: ${target}`, {
204
204
  fix: 'Remove or rename the existing tospec/ directory first.',
205
205
  });
206
206
  }
207
- const activeChanges = await listChangeDirs(path.join(source, 'changes'));
208
- const archivedChanges = await listChangeDirs(path.join(source, 'changes', 'archive'));
209
- const specDirs = await listSpecDirs(path.join(source, 'specs'));
207
+ const activeChanges = await listDirs(path.join(source, 'changes'), 'archive');
208
+ const archivedChanges = await listDirs(path.join(source, 'changes', 'archive'), 'archive');
209
+ const specDirs = await listDirs(path.join(source, 'specs'));
210
210
  if (!options?.force) {
211
211
  console.log(`Migrate OpenSpec project to tospec format:`);
212
212
  console.log(` Source: ${source} (read-only)`);
@@ -384,17 +384,11 @@ async function exists(p) {
384
384
  .then(() => true)
385
385
  .catch(() => false);
386
386
  }
387
- async function listChangeDirs(dir) {
387
+ /** Sorted subdirectory names, minus `exclude`. Unreadable dir → empty list. */
388
+ async function listDirs(dir, exclude) {
388
389
  const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => []);
389
390
  return entries
390
- .filter((entry) => entry.isDirectory() && entry.name !== 'archive')
391
- .map((entry) => entry.name)
392
- .sort();
393
- }
394
- async function listSpecDirs(dir) {
395
- const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => []);
396
- return entries
397
- .filter((entry) => entry.isDirectory())
391
+ .filter((entry) => entry.isDirectory() && entry.name !== exclude)
398
392
  .map((entry) => entry.name)
399
393
  .sort();
400
394
  }