@dedesfr/prompter 0.9.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +105 -77
  3. package/dist/cli/index.js +25 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +35 -9
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/login.d.ts +4 -0
  9. package/dist/commands/login.d.ts.map +1 -0
  10. package/dist/commands/login.js +56 -0
  11. package/dist/commands/login.js.map +1 -0
  12. package/dist/commands/logout.d.ts +4 -0
  13. package/dist/commands/logout.d.ts.map +1 -0
  14. package/dist/commands/logout.js +14 -0
  15. package/dist/commands/logout.js.map +1 -0
  16. package/dist/commands/update.d.ts +0 -2
  17. package/dist/commands/update.d.ts.map +1 -1
  18. package/dist/commands/update.js +19 -48
  19. package/dist/commands/update.js.map +1 -1
  20. package/dist/commands/whoami.d.ts +4 -0
  21. package/dist/commands/whoami.d.ts.map +1 -0
  22. package/dist/commands/whoami.js +42 -0
  23. package/dist/commands/whoami.js.map +1 -0
  24. package/dist/core/auth-store.d.ts +10 -0
  25. package/dist/core/auth-store.d.ts.map +1 -0
  26. package/dist/core/auth-store.js +39 -0
  27. package/dist/core/auth-store.js.map +1 -0
  28. package/dist/core/config.d.ts +0 -7
  29. package/dist/core/config.d.ts.map +1 -1
  30. package/dist/core/config.js +0 -128
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/registry.d.ts +18 -0
  33. package/dist/core/registry.d.ts.map +1 -0
  34. package/dist/core/registry.js +94 -0
  35. package/dist/core/registry.js.map +1 -0
  36. package/package.json +7 -1
  37. package/AGENTS.md +0 -123
  38. package/CLAUDE.md +0 -17
  39. package/build.js +0 -20
  40. package/convex-setup.md +0 -403
  41. package/dist/core/prompt-templates.d.ts +0 -23
  42. package/dist/core/prompt-templates.d.ts.map +0 -1
  43. package/dist/core/prompt-templates.js +0 -3485
  44. package/dist/core/prompt-templates.js.map +0 -1
  45. package/prompt/ai-humanizer.md +0 -45
  46. package/prompt/api-contract-generator.md +0 -234
  47. package/prompt/apply.md +0 -17
  48. package/prompt/archive.md +0 -21
  49. package/prompt/design-system.md +0 -210
  50. package/prompt/document-explainer.md +0 -149
  51. package/prompt/epic-generator.md +0 -198
  52. package/prompt/epic-single.md +0 -47
  53. package/prompt/erd-generator.md +0 -130
  54. package/prompt/fsd-generator.md +0 -157
  55. package/prompt/prd-agent-generator.md +0 -147
  56. package/prompt/prd-generator.md +0 -195
  57. package/prompt/product-brief.md +0 -289
  58. package/prompt/proposal.md +0 -22
  59. package/prompt/qa-test-scenario.md +0 -133
  60. package/prompt/skill-creator.md +0 -350
  61. package/prompt/story-generator.md +0 -278
  62. package/prompt/story-single.md +0 -70
  63. package/prompt/tdd-generator.md +0 -294
  64. package/prompt/tdd-lite-generator.md +0 -224
  65. package/prompt/wireframe-generator.md +0 -219
  66. package/skills/ai-context-generator/SKILL.md +0 -54
  67. package/skills/ai-context-generator/references/AGENTS.template.md +0 -83
  68. package/skills/ai-context-generator/references/CLAUDE.template.md +0 -39
  69. package/skills/ai-context-generator/references/behavioral-guidelines.md +0 -71
  70. package/skills/ai-context-generator/references/discovery-checklist.md +0 -40
  71. package/skills/ai-context-generator/references/examples/AGENTS.good.md +0 -103
  72. package/skills/ai-context-generator/references/extraction-checklist.md +0 -23
  73. package/skills/ai-context-generator/references/overlays/laravel.md +0 -44
  74. package/skills/ai-humanizer/SKILL.md +0 -50
  75. package/skills/api-contract-generator/SKILL.md +0 -243
  76. package/skills/apply/SKILL.md +0 -23
  77. package/skills/archive/SKILL.md +0 -27
  78. package/skills/cerebro/SKILL.md +0 -187
  79. package/skills/cerebro/references/agents.md +0 -213
  80. package/skills/code-review/SKILL.md +0 -373
  81. package/skills/code-review/assets/report-template-agent.md +0 -212
  82. package/skills/code-review/assets/report-template-compact.md +0 -81
  83. package/skills/code-review/assets/report-template-full.md +0 -264
  84. package/skills/code-review/assets/report-template-human.md +0 -168
  85. package/skills/code-review/references/universal-patterns.md +0 -495
  86. package/skills/design-md/README.md +0 -34
  87. package/skills/design-md/SKILL.md +0 -172
  88. package/skills/design-md/examples/DESIGN.md +0 -154
  89. package/skills/design-system/SKILL.md +0 -216
  90. package/skills/design-system-generator/SKILL.md +0 -324
  91. package/skills/design-system-generator/assets/design-system-template.md +0 -348
  92. package/skills/design-system-generator/references/extraction-patterns.md +0 -321
  93. package/skills/doc-builder/SKILL.md +0 -115
  94. package/skills/doc-builder/references/ui-patterns.md +0 -394
  95. package/skills/document-explainer/SKILL.md +0 -155
  96. package/skills/document-translator/SKILL.md +0 -58
  97. package/skills/enhance/SKILL.md +0 -47
  98. package/skills/enhance-prompt/README.md +0 -34
  99. package/skills/enhance-prompt/SKILL.md +0 -204
  100. package/skills/enhance-prompt/references/KEYWORDS.md +0 -114
  101. package/skills/epic-generator/SKILL.md +0 -204
  102. package/skills/epic-single/SKILL.md +0 -63
  103. package/skills/erd-generator/SKILL.md +0 -138
  104. package/skills/feature-planner/SKILL.md +0 -305
  105. package/skills/feature-planner/assets/implementation-plan-template.md +0 -85
  106. package/skills/frontend-design/LICENSE.txt +0 -177
  107. package/skills/frontend-design/SKILL.md +0 -42
  108. package/skills/fsd-generator/SKILL.md +0 -163
  109. package/skills/gamma-builder/SKILL.md +0 -134
  110. package/skills/laravel-code-review/SKILL.md +0 -383
  111. package/skills/laravel-code-review/assets/report-template-agent.md +0 -195
  112. package/skills/laravel-code-review/assets/report-template-compact.md +0 -79
  113. package/skills/laravel-code-review/assets/report-template-full.md +0 -253
  114. package/skills/laravel-code-review/assets/report-template-human.md +0 -159
  115. package/skills/laravel-code-review/references/laravel-patterns.md +0 -571
  116. package/skills/laravel-code-review/references/php84-features.md +0 -442
  117. package/skills/mcp-builder/LICENSE.txt +0 -202
  118. package/skills/mcp-builder/SKILL.md +0 -236
  119. package/skills/mcp-builder/reference/evaluation.md +0 -602
  120. package/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
  121. package/skills/mcp-builder/reference/node_mcp_server.md +0 -970
  122. package/skills/mcp-builder/reference/python_mcp_server.md +0 -719
  123. package/skills/mcp-builder/scripts/connections.py +0 -151
  124. package/skills/mcp-builder/scripts/evaluation.py +0 -373
  125. package/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  126. package/skills/mcp-builder/scripts/requirements.txt +0 -2
  127. package/skills/meeting-notes/SKILL.md +0 -159
  128. package/skills/meeting-notes/evals/evals.json +0 -23
  129. package/skills/prd-agent-generator/SKILL.md +0 -132
  130. package/skills/prd-generator/SKILL.md +0 -211
  131. package/skills/product-brief/SKILL.md +0 -141
  132. package/skills/project-orchestrator/SKILL.md +0 -487
  133. package/skills/project-orchestrator/assets/caddy-vps-setup.md +0 -180
  134. package/skills/project-orchestrator/assets/plan-summary-template.md +0 -159
  135. package/skills/prompter-specs/SKILL.md +0 -115
  136. package/skills/prompter-workflow/SKILL.md +0 -166
  137. package/skills/prompter-workflow/evals/evals.json +0 -89
  138. package/skills/proposal/SKILL.md +0 -28
  139. package/skills/qa-test-scenario/SKILL.md +0 -149
  140. package/skills/skill-creator/SKILL.md +0 -173
  141. package/skills/sph-generator/SKILL.md +0 -488
  142. package/skills/story-generator/SKILL.md +0 -285
  143. package/skills/story-single/SKILL.md +0 -86
  144. package/skills/tdd-generator/SKILL.md +0 -300
  145. package/skills/tdd-lite-generator/SKILL.md +0 -230
  146. package/skills/ui-ux-pro/SKILL.md +0 -199
  147. package/skills/ui-ux-pro/assets/design-spec-template.md +0 -173
  148. package/skills/ui-ux-pro/references/component-patterns.md +0 -255
  149. package/skills/ui-ux-pro/references/design-principles.md +0 -167
  150. package/skills/wireframe-generator/SKILL.md +0 -227
  151. package/src/cli/index.ts +0 -223
  152. package/src/commands/archive.ts +0 -302
  153. package/src/commands/change.ts +0 -292
  154. package/src/commands/config.ts +0 -233
  155. package/src/commands/guide.ts +0 -50
  156. package/src/commands/init.ts +0 -597
  157. package/src/commands/list.ts +0 -194
  158. package/src/commands/show.ts +0 -138
  159. package/src/commands/spec.ts +0 -251
  160. package/src/commands/update.ts +0 -129
  161. package/src/commands/upgrade.ts +0 -30
  162. package/src/commands/validate.ts +0 -326
  163. package/src/core/artifact-graph/graph.ts +0 -167
  164. package/src/core/artifact-graph/index.ts +0 -44
  165. package/src/core/artifact-graph/instruction-loader.ts +0 -302
  166. package/src/core/artifact-graph/resolver.ts +0 -226
  167. package/src/core/artifact-graph/schema.ts +0 -124
  168. package/src/core/artifact-graph/state.ts +0 -64
  169. package/src/core/artifact-graph/types.ts +0 -65
  170. package/src/core/completions/command-registry.ts +0 -382
  171. package/src/core/completions/completion-provider.ts +0 -128
  172. package/src/core/completions/generators/bash-generator.ts +0 -191
  173. package/src/core/completions/generators/fish-generator.ts +0 -188
  174. package/src/core/completions/generators/powershell-generator.ts +0 -223
  175. package/src/core/completions/generators/zsh-generator.ts +0 -281
  176. package/src/core/completions/templates/bash-templates.ts +0 -24
  177. package/src/core/completions/templates/fish-templates.ts +0 -40
  178. package/src/core/completions/templates/powershell-templates.ts +0 -25
  179. package/src/core/completions/templates/zsh-templates.ts +0 -36
  180. package/src/core/completions/types.ts +0 -90
  181. package/src/core/config-schema.ts +0 -230
  182. package/src/core/config.ts +0 -181
  183. package/src/core/configurators/slash/antigravity.ts +0 -10
  184. package/src/core/configurators/slash/base.ts +0 -109
  185. package/src/core/configurators/slash/claude.ts +0 -10
  186. package/src/core/configurators/slash/codex.ts +0 -10
  187. package/src/core/configurators/slash/droid.ts +0 -10
  188. package/src/core/configurators/slash/forge.ts +0 -10
  189. package/src/core/configurators/slash/github-copilot.ts +0 -10
  190. package/src/core/configurators/slash/index.ts +0 -10
  191. package/src/core/configurators/slash/kilocode.ts +0 -10
  192. package/src/core/configurators/slash/opencode.ts +0 -10
  193. package/src/core/configurators/slash/registry.ts +0 -51
  194. package/src/core/converters/json-converter.ts +0 -62
  195. package/src/core/global-config.ts +0 -136
  196. package/src/core/parsers/change-parser.ts +0 -234
  197. package/src/core/parsers/markdown-parser.ts +0 -237
  198. package/src/core/parsers/requirement-blocks.ts +0 -234
  199. package/src/core/prompt-templates.ts +0 -3504
  200. package/src/core/schemas/base.schema.ts +0 -20
  201. package/src/core/schemas/change.schema.ts +0 -42
  202. package/src/core/schemas/index.ts +0 -20
  203. package/src/core/schemas/spec.schema.ts +0 -17
  204. package/src/core/skill-discovery.ts +0 -68
  205. package/src/core/specs-apply.ts +0 -483
  206. package/src/core/styles/palette.ts +0 -8
  207. package/src/core/templates/agents-template.ts +0 -459
  208. package/src/core/templates/claude-template.ts +0 -2
  209. package/src/core/templates/index.ts +0 -3
  210. package/src/core/templates/project-template.ts +0 -32
  211. package/src/core/validation/constants.ts +0 -48
  212. package/src/core/validation/types.ts +0 -19
  213. package/src/core/validation/validator.ts +0 -449
  214. package/src/core/view.ts +0 -219
  215. package/src/index.ts +0 -1
  216. package/src/utils/change-metadata.ts +0 -171
  217. package/src/utils/change-utils.ts +0 -131
  218. package/src/utils/file-system.ts +0 -252
  219. package/src/utils/index.ts +0 -12
  220. package/src/utils/interactive.ts +0 -29
  221. package/src/utils/item-discovery.ts +0 -66
  222. package/src/utils/match.ts +0 -26
  223. package/src/utils/shell-detection.ts +0 -62
  224. package/src/utils/task-progress.ts +0 -43
  225. package/tsconfig.json +0 -28
@@ -1,7 +1,5 @@
1
1
  export declare class UpdateCommand {
2
2
  execute(): Promise<void>;
3
- private fileExists;
4
3
  private detectConfiguredTools;
5
- private updateCorePrompts;
6
4
  }
7
5
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AASA,qBAAa,aAAa;IAChB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA8DhB,UAAU;YASV,qBAAqB;YAiBrB,iBAAiB;CA8BlC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAQA,qBAAa,aAAa;IAChB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAiEhB,qBAAqB;CAiBtC"}
@@ -1,11 +1,10 @@
1
1
  import chalk from 'chalk';
2
2
  import { promises as fs } from 'fs';
3
3
  import path from 'path';
4
- import { fileURLToPath } from 'url';
5
- import { PrompterConfig, AVAILABLE_PROMPTS, PROMPTER_DIR } from '../core/config.js';
4
+ import { PrompterConfig } from '../core/config.js';
6
5
  import { registry } from '../core/configurators/slash/index.js';
7
- import { PROMPT_TEMPLATES } from '../core/prompt-templates.js';
8
- import { discoverSkills } from '../core/skill-discovery.js';
6
+ import { fetchAndCacheSkills, RegistryAuthError } from '../core/registry.js';
7
+ import { getToken } from '../core/auth-store.js';
9
8
  export class UpdateCommand {
10
9
  async execute() {
11
10
  const projectPath = process.cwd();
@@ -26,9 +25,22 @@ export class UpdateCommand {
26
25
  return;
27
26
  }
28
27
  let updatedCount = 0;
29
- // Clean up legacy slash command files and update skills for each tool
30
- const packageDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..');
31
- const availableSkills = await discoverSkills(path.join(packageDir, 'skills'));
28
+ // Fetch skills from registry (falls back to local cache)
29
+ const token = await getToken();
30
+ let availableSkills = await (async () => {
31
+ try {
32
+ return await fetchAndCacheSkills(token);
33
+ }
34
+ catch (err) {
35
+ if (err instanceof RegistryAuthError) {
36
+ console.log(chalk.yellow(`\n⚠ ${err.message}`));
37
+ }
38
+ else {
39
+ console.log(chalk.yellow('\n⚠ ' + err.message));
40
+ }
41
+ return [];
42
+ }
43
+ })();
32
44
  for (const toolId of configuredTools) {
33
45
  const configurator = registry.get(toolId);
34
46
  if (!configurator)
@@ -46,13 +58,6 @@ export class UpdateCommand {
46
58
  console.log(chalk.red('✗') + ` Failed to update ${configurator.toolId}: ${error}`);
47
59
  }
48
60
  }
49
- // Update existing prompts in prompter/core/
50
- const prompterPath = path.join(projectPath, PROMPTER_DIR);
51
- const updatedCorePrompts = await this.updateCorePrompts(prompterPath);
52
- for (const promptName of updatedCorePrompts) {
53
- console.log(chalk.green('✓') + ` Updated ${chalk.cyan(`${PROMPTER_DIR}/core/${promptName}`)}`);
54
- updatedCount++;
55
- }
56
61
  if (updatedCount === 0) {
57
62
  console.log(chalk.yellow('⚠️ No workflow files found to update.'));
58
63
  console.log(chalk.gray(' Run `prompter init` to create them.\n'));
@@ -61,15 +66,6 @@ export class UpdateCommand {
61
66
  console.log(chalk.green(`\n✅ ${updatedCount} file(s) updated.\n`));
62
67
  }
63
68
  }
64
- async fileExists(filePath) {
65
- try {
66
- await fs.access(filePath);
67
- return true;
68
- }
69
- catch {
70
- return false;
71
- }
72
- }
73
69
  async detectConfiguredTools(projectPath) {
74
70
  const configuredTools = [];
75
71
  const allConfigurators = registry.getAll();
@@ -86,30 +82,5 @@ export class UpdateCommand {
86
82
  }
87
83
  return configuredTools;
88
84
  }
89
- async updateCorePrompts(prompterPath) {
90
- const updatedPrompts = [];
91
- const corePath = path.join(prompterPath, 'core');
92
- if (!await this.fileExists(corePath)) {
93
- return updatedPrompts;
94
- }
95
- for (const prompt of AVAILABLE_PROMPTS) {
96
- const promptFilePath = path.join(corePath, prompt.sourceFile);
97
- if (await this.fileExists(promptFilePath)) {
98
- try {
99
- const content = PROMPT_TEMPLATES[prompt.value];
100
- if (!content) {
101
- console.log(chalk.yellow(` Warning: Template not found for ${prompt.name}`));
102
- continue;
103
- }
104
- await fs.writeFile(promptFilePath, content, 'utf-8');
105
- updatedPrompts.push(prompt.sourceFile);
106
- }
107
- catch (error) {
108
- console.log(chalk.red(` Error updating ${prompt.name}: ${error}`));
109
- }
110
- }
111
- }
112
- return updatedPrompts;
113
- }
114
85
  }
115
86
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class WhoamiCommand {
2
+ execute(): Promise<void>;
3
+ }
4
+ //# sourceMappingURL=whoami.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAa;IAChB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsCjC"}
@@ -0,0 +1,42 @@
1
+ import chalk from 'chalk';
2
+ import { getToken } from '../core/auth-store.js';
3
+ import { getRegistryUrl } from '../core/registry.js';
4
+ export class WhoamiCommand {
5
+ async execute() {
6
+ const token = await getToken();
7
+ if (!token) {
8
+ console.log(chalk.yellow('Not logged in. Run `prompter login`.'));
9
+ process.exitCode = 1;
10
+ return;
11
+ }
12
+ const registryUrl = getRegistryUrl();
13
+ let res;
14
+ try {
15
+ res = await fetch(`${registryUrl}/auth/me`, {
16
+ headers: { Authorization: `Bearer ${token}` }
17
+ });
18
+ }
19
+ catch {
20
+ console.log(chalk.red(`✗ Could not reach registry at ${registryUrl}`));
21
+ process.exitCode = 1;
22
+ return;
23
+ }
24
+ if (res.status === 401) {
25
+ console.log(chalk.red('Session expired. Run `prompter login` again.'));
26
+ process.exitCode = 1;
27
+ return;
28
+ }
29
+ if (!res.ok) {
30
+ console.log(chalk.red(`Registry error (${res.status}). Try again later.`));
31
+ process.exitCode = 1;
32
+ return;
33
+ }
34
+ const body = await res.json();
35
+ console.log(chalk.green('✓ Logged in'));
36
+ if (body.email)
37
+ console.log(chalk.gray(` Email: ${body.email}`));
38
+ if (body.tier)
39
+ console.log(chalk.gray(` Tier: ${body.tier}`));
40
+ }
41
+ }
42
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,aAAa;IACtB,KAAK,CAAC,OAAO;QACT,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,UAAU,EAAE;gBACxC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;aAChD,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAuC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI;YAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ export interface AuthData {
2
+ token: string;
3
+ email?: string;
4
+ tier?: string;
5
+ }
6
+ export declare function getToken(): Promise<string | null>;
7
+ export declare function getAuthData(): Promise<AuthData | null>;
8
+ export declare function setAuthData(data: AuthData): Promise<void>;
9
+ export declare function clearToken(): Promise<void>;
10
+ //# sourceMappingURL=auth-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../src/core/auth-store.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQvD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAO5D;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhD"}
@@ -0,0 +1,39 @@
1
+ import { promises as fs } from 'fs';
2
+ import os from 'os';
3
+ import path from 'path';
4
+ const AUTH_FILE = path.join(os.homedir(), '.prompter', 'auth.json');
5
+ async function ensureDir() {
6
+ await fs.mkdir(path.dirname(AUTH_FILE), { recursive: true });
7
+ }
8
+ export async function getToken() {
9
+ try {
10
+ const raw = await fs.readFile(AUTH_FILE, 'utf-8');
11
+ const data = JSON.parse(raw);
12
+ return data.token ?? null;
13
+ }
14
+ catch {
15
+ return null;
16
+ }
17
+ }
18
+ export async function getAuthData() {
19
+ try {
20
+ const raw = await fs.readFile(AUTH_FILE, 'utf-8');
21
+ return JSON.parse(raw);
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ export async function setAuthData(data) {
28
+ await ensureDir();
29
+ await fs.writeFile(AUTH_FILE, JSON.stringify(data, null, 2), { encoding: 'utf-8', mode: 0o600 });
30
+ }
31
+ export async function clearToken() {
32
+ try {
33
+ await fs.unlink(AUTH_FILE);
34
+ }
35
+ catch {
36
+ // file didn't exist — that's fine
37
+ }
38
+ }
39
+ //# sourceMappingURL=auth-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../../src/core/auth-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAQpE,KAAK,UAAU,SAAS;IACpB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC5C,MAAM,SAAS,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC5B,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACL,kCAAkC;IACtC,CAAC;AACL,CAAC"}
@@ -9,14 +9,7 @@ export interface ToolChoice {
9
9
  available: boolean;
10
10
  successLabel: string;
11
11
  }
12
- export interface PromptChoice {
13
- name: string;
14
- value: string;
15
- description: string;
16
- sourceFile: string;
17
- }
18
12
  export declare const SUPPORTED_TOOLS: ToolChoice[];
19
- export declare const AVAILABLE_PROMPTS: PromptChoice[];
20
13
  export declare class PrompterConfig {
21
14
  static ensurePrompterDir(projectPath: string): Promise<string>;
22
15
  static prompterDirExists(projectPath: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,UAAU,EASvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,EA+H3C,CAAC;AAEF,qBAAa,cAAc;WACV,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAMvD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CASxE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,UAAU,EASvC,CAAC;AAGF,qBAAa,cAAc;WACV,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAMvD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CASxE"}
@@ -15,134 +15,6 @@ export const SUPPORTED_TOOLS = [
15
15
  { name: 'Forge', value: 'forge', available: true, successLabel: 'Forge' },
16
16
  { name: 'Droid', value: 'droid', available: true, successLabel: 'Droid' }
17
17
  ];
18
- export const AVAILABLE_PROMPTS = [
19
- {
20
- name: 'AI Humanizer',
21
- value: 'ai-humanizer',
22
- description: 'Transform AI-generated text into natural, human-like content',
23
- sourceFile: 'ai-humanizer.md'
24
- },
25
- {
26
- name: 'API Contract Generator',
27
- value: 'api-contract-generator',
28
- description: 'Generate OpenAPI specification from FSD and ERD',
29
- sourceFile: 'api-contract-generator.md'
30
- },
31
- {
32
- name: 'Apply',
33
- value: 'apply',
34
- description: 'Implement and apply an approved change proposal',
35
- sourceFile: 'apply.md'
36
- },
37
- {
38
- name: 'Archive',
39
- value: 'archive',
40
- description: 'Archive a completed change and update specs',
41
- sourceFile: 'archive.md'
42
- },
43
- {
44
- name: 'Design System',
45
- value: 'design-system',
46
- description: 'Generate comprehensive design system documentation for components and tokens',
47
- sourceFile: 'design-system.md'
48
- },
49
- {
50
- name: 'Document Explainer',
51
- value: 'document-explainer',
52
- description: 'Analyze and explain complex documents into clear, actionable insights',
53
- sourceFile: 'document-explainer.md'
54
- },
55
- {
56
- name: 'Epic (Single)',
57
- value: 'epic-single',
58
- description: 'Generate comprehensive epic documentation',
59
- sourceFile: 'epic-single.md'
60
- },
61
- {
62
- name: 'Epic Generator',
63
- value: 'epic-generator',
64
- description: 'Generate comprehensive EPICs from FSD and TDD documentation',
65
- sourceFile: 'epic-generator.md'
66
- },
67
- {
68
- name: 'ERD Generator',
69
- value: 'erd-generator',
70
- description: 'Generate Entity Relationship Diagram from FSD',
71
- sourceFile: 'erd-generator.md'
72
- },
73
- {
74
- name: 'FSD Generator',
75
- value: 'fsd-generator',
76
- description: 'Generate Functional Specification Document from PRD',
77
- sourceFile: 'fsd-generator.md'
78
- },
79
- {
80
- name: 'PRD Agent Generator',
81
- value: 'prd-agent-generator',
82
- description: 'Create AGENT.md files with Product Requirements Document prompts',
83
- sourceFile: 'prd-agent-generator.md'
84
- },
85
- {
86
- name: 'PRD Generator',
87
- value: 'prd-generator',
88
- description: 'Generate detailed Product Requirements Documents',
89
- sourceFile: 'prd-generator.md'
90
- },
91
- {
92
- name: 'Product Brief',
93
- value: 'product-brief',
94
- description: 'Create concise product brief documents',
95
- sourceFile: 'product-brief.md'
96
- },
97
- {
98
- name: 'Proposal',
99
- value: 'proposal',
100
- description: 'Create a new change proposal with spec deltas',
101
- sourceFile: 'proposal.md'
102
- },
103
- {
104
- name: 'QA Test Scenario',
105
- value: 'qa-test-scenario',
106
- description: 'Generate comprehensive test scenarios and test cases',
107
- sourceFile: 'qa-test-scenario.md'
108
- },
109
- {
110
- name: 'Skill Creator',
111
- value: 'skill-creator',
112
- description: 'Create structured skill documentation for AI agents',
113
- sourceFile: 'skill-creator.md'
114
- },
115
- {
116
- name: 'Story (Single)',
117
- value: 'story-single',
118
- description: 'Generate detailed user story documentation',
119
- sourceFile: 'story-single.md'
120
- },
121
- {
122
- name: 'Story Generator',
123
- value: 'story-generator',
124
- description: 'Generate comprehensive user stories from EPICs and FSD',
125
- sourceFile: 'story-generator.md'
126
- },
127
- {
128
- name: 'TDD Generator',
129
- value: 'tdd-generator',
130
- description: 'Generate comprehensive Technical Design Document',
131
- sourceFile: 'tdd-generator.md'
132
- },
133
- {
134
- name: 'TDD-Lite Generator',
135
- value: 'tdd-lite-generator',
136
- description: 'Generate lean Technical Design Document (TDD-Lite)',
137
- sourceFile: 'tdd-lite-generator.md'
138
- },
139
- {
140
- name: 'Wireframe Generator',
141
- value: 'wireframe-generator',
142
- description: 'Generate UI/UX wireframes from technical specs',
143
- sourceFile: 'wireframe-generator.md'
144
- }
145
- ];
146
18
  export class PrompterConfig {
147
19
  static async ensurePrompterDir(projectPath) {
148
20
  const prompterPath = path.join(projectPath, PROMPTER_DIR);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,KAAK,EAAE,iCAAiC;IACxC,GAAG,EAAE,+BAA+B;CACvC,CAAC;AASF,MAAM,CAAC,MAAM,eAAe,GAAiB;IACzC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE;IAC3F,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE;IACtF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;IACzE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE;IACpG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE;IAClF,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE;IACpF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;IACzE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;CAC5E,CAAC;AAGF,MAAM,OAAO,cAAc;IACvB,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAC9C,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC1D,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ import { SkillMetadata } from './skill-discovery.js';
2
+ export declare function getRegistryUrl(): string;
3
+ interface SkillEntry {
4
+ name: string;
5
+ files: string[];
6
+ }
7
+ export declare function fetchSkillList(token?: string | null): Promise<SkillEntry[]>;
8
+ export declare class RegistryAuthError extends Error {
9
+ constructor(message: string);
10
+ }
11
+ /**
12
+ * Fetch skill list from registry, download all skill files to local cache,
13
+ * and return SkillMetadata[] compatible with discoverSkills() output.
14
+ * Falls back to local cache on network failure.
15
+ */
16
+ export declare function fetchAndCacheSkills(token?: string | null): Promise<SkillMetadata[]>;
17
+ export {};
18
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAUD,wBAAsB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAajF;AAkCD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI9B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA6BzF"}
@@ -0,0 +1,94 @@
1
+ import { promises as fs } from 'fs';
2
+ import os from 'os';
3
+ import path from 'path';
4
+ import chalk from 'chalk';
5
+ const DEFAULT_REGISTRY_URL = 'https://anvil.bezhoe.id/api/prompter';
6
+ const CACHE_DIR = path.join(os.homedir(), '.prompter', 'cache', 'skills');
7
+ const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
8
+ export function getRegistryUrl() {
9
+ return process.env.PROMPTER_REGISTRY_URL ?? DEFAULT_REGISTRY_URL;
10
+ }
11
+ function authHeaders(token) {
12
+ return token ? { Authorization: `Bearer ${token}` } : {};
13
+ }
14
+ export async function fetchSkillList(token) {
15
+ const url = `${getRegistryUrl()}/index.json`;
16
+ const res = await fetch(url, { headers: authHeaders(token) });
17
+ if (res.status === 401) {
18
+ throw new RegistryAuthError('Session expired. Run `prompter login`.');
19
+ }
20
+ if (!res.ok) {
21
+ throw new Error(`Registry returned ${res.status} for ${url}`);
22
+ }
23
+ const body = await res.json();
24
+ return body.skills ?? [];
25
+ }
26
+ async function isCacheFresh(skillCacheDir) {
27
+ try {
28
+ const skillMd = path.join(skillCacheDir, 'SKILL.md');
29
+ const stat = await fs.stat(skillMd);
30
+ return Date.now() - stat.mtimeMs < CACHE_TTL_MS;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ async function downloadSkill(entry, token) {
37
+ const skillCacheDir = path.join(CACHE_DIR, entry.name);
38
+ if (await isCacheFresh(skillCacheDir))
39
+ return;
40
+ await fs.mkdir(skillCacheDir, { recursive: true });
41
+ const files = entry.files.includes('SKILL.md') ? entry.files : ['SKILL.md', ...entry.files];
42
+ const registryUrl = getRegistryUrl();
43
+ for (const file of files) {
44
+ const url = `${registryUrl}/${entry.name}/${file}`;
45
+ const res = await fetch(url, { headers: authHeaders(token) });
46
+ if (res.status === 401)
47
+ throw new RegistryAuthError('Session expired. Run `prompter login`.');
48
+ if (!res.ok)
49
+ continue; // skip non-critical files silently
50
+ const content = await res.text();
51
+ await fs.writeFile(path.join(skillCacheDir, file), content, 'utf-8');
52
+ }
53
+ }
54
+ export class RegistryAuthError extends Error {
55
+ constructor(message) {
56
+ super(message);
57
+ this.name = 'RegistryAuthError';
58
+ }
59
+ }
60
+ /**
61
+ * Fetch skill list from registry, download all skill files to local cache,
62
+ * and return SkillMetadata[] compatible with discoverSkills() output.
63
+ * Falls back to local cache on network failure.
64
+ */
65
+ export async function fetchAndCacheSkills(token) {
66
+ let entries;
67
+ let usingCache = false;
68
+ try {
69
+ entries = await fetchSkillList(token);
70
+ await Promise.all(entries.map(e => downloadSkill(e, token)));
71
+ }
72
+ catch (err) {
73
+ if (err instanceof RegistryAuthError)
74
+ throw err;
75
+ // Network failure — fall back to cache
76
+ const cached = await loadFromCache();
77
+ if (cached.length > 0) {
78
+ console.log(chalk.yellow('⚠ Registry unreachable — using cached skills.'));
79
+ usingCache = true;
80
+ return cached;
81
+ }
82
+ throw new Error(`Could not reach registry at ${getRegistryUrl()} and no local cache found.\n` +
83
+ ` Check your internet connection or run with --offline to skip skill selection.`);
84
+ }
85
+ if (!usingCache) {
86
+ return loadFromCache();
87
+ }
88
+ return [];
89
+ }
90
+ async function loadFromCache() {
91
+ const { discoverSkills } = await import('./skill-discovery.js');
92
+ return discoverSkills(CACHE_DIR);
93
+ }
94
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,15 @@
1
1
  {
2
2
  "name": "@dedesfr/prompter",
3
- "version": "0.9.0",
3
+ "version": "1.1.0",
4
4
  "description": "Enhance prompts directly in your AI coding workflow",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
+ "files": [
8
+ "dist/",
9
+ "bin/",
10
+ "README.md",
11
+ "CHANGELOG.md"
12
+ ],
7
13
  "bin": {
8
14
  "prompter": "./bin/prompter.js"
9
15
  },