@dedesfr/prompter 0.8.23 → 0.9.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 (100) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/cli/index.js +1 -1
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +1 -7
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +32 -294
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +17 -40
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/core/configurators/slash/antigravity.d.ts +2 -5
  12. package/dist/core/configurators/slash/antigravity.d.ts.map +1 -1
  13. package/dist/core/configurators/slash/antigravity.js +2 -57
  14. package/dist/core/configurators/slash/antigravity.js.map +1 -1
  15. package/dist/core/configurators/slash/base.d.ts +6 -18
  16. package/dist/core/configurators/slash/base.d.ts.map +1 -1
  17. package/dist/core/configurators/slash/base.js +8 -77
  18. package/dist/core/configurators/slash/base.js.map +1 -1
  19. package/dist/core/configurators/slash/claude.d.ts +2 -5
  20. package/dist/core/configurators/slash/claude.d.ts.map +1 -1
  21. package/dist/core/configurators/slash/claude.js +2 -57
  22. package/dist/core/configurators/slash/claude.js.map +1 -1
  23. package/dist/core/configurators/slash/codex.d.ts +2 -5
  24. package/dist/core/configurators/slash/codex.d.ts.map +1 -1
  25. package/dist/core/configurators/slash/codex.js +2 -57
  26. package/dist/core/configurators/slash/codex.js.map +1 -1
  27. package/dist/core/configurators/slash/droid.d.ts +2 -5
  28. package/dist/core/configurators/slash/droid.d.ts.map +1 -1
  29. package/dist/core/configurators/slash/droid.js +2 -32
  30. package/dist/core/configurators/slash/droid.js.map +1 -1
  31. package/dist/core/configurators/slash/forge.d.ts +2 -5
  32. package/dist/core/configurators/slash/forge.d.ts.map +1 -1
  33. package/dist/core/configurators/slash/forge.js +2 -32
  34. package/dist/core/configurators/slash/forge.js.map +1 -1
  35. package/dist/core/configurators/slash/github-copilot.d.ts +2 -7
  36. package/dist/core/configurators/slash/github-copilot.d.ts.map +1 -1
  37. package/dist/core/configurators/slash/github-copilot.js +2 -96
  38. package/dist/core/configurators/slash/github-copilot.js.map +1 -1
  39. package/dist/core/configurators/slash/index.d.ts +1 -1
  40. package/dist/core/configurators/slash/index.d.ts.map +1 -1
  41. package/dist/core/configurators/slash/index.js +1 -1
  42. package/dist/core/configurators/slash/index.js.map +1 -1
  43. package/dist/core/configurators/slash/kilocode.d.ts +2 -5
  44. package/dist/core/configurators/slash/kilocode.d.ts.map +1 -1
  45. package/dist/core/configurators/slash/kilocode.js +2 -57
  46. package/dist/core/configurators/slash/kilocode.js.map +1 -1
  47. package/dist/core/configurators/slash/opencode.d.ts +2 -5
  48. package/dist/core/configurators/slash/opencode.d.ts.map +1 -1
  49. package/dist/core/configurators/slash/opencode.js +2 -57
  50. package/dist/core/configurators/slash/opencode.js.map +1 -1
  51. package/dist/core/configurators/slash/registry.d.ts +4 -4
  52. package/dist/core/configurators/slash/registry.d.ts.map +1 -1
  53. package/dist/core/configurators/slash/registry.js.map +1 -1
  54. package/dist/core/templates/index.d.ts +0 -1
  55. package/dist/core/templates/index.d.ts.map +1 -1
  56. package/dist/core/templates/index.js +0 -1
  57. package/dist/core/templates/index.js.map +1 -1
  58. package/package.json +1 -1
  59. package/skills/ai-humanizer/SKILL.md +50 -0
  60. package/skills/api-contract-generator/SKILL.md +243 -0
  61. package/skills/apply/SKILL.md +23 -0
  62. package/skills/archive/SKILL.md +27 -0
  63. package/skills/design-system/SKILL.md +216 -0
  64. package/skills/document-explainer/SKILL.md +155 -0
  65. package/skills/enhance/SKILL.md +47 -0
  66. package/skills/epic-generator/SKILL.md +204 -0
  67. package/skills/epic-single/SKILL.md +63 -0
  68. package/skills/erd-generator/SKILL.md +138 -0
  69. package/skills/fsd-generator/SKILL.md +163 -0
  70. package/skills/prd-agent-generator/SKILL.md +132 -0
  71. package/skills/prd-generator/SKILL.md +211 -0
  72. package/skills/product-brief/SKILL.md +141 -0
  73. package/skills/proposal/SKILL.md +28 -0
  74. package/skills/qa-test-scenario/SKILL.md +149 -0
  75. package/skills/skill-creator/SKILL.md +173 -0
  76. package/skills/story-generator/SKILL.md +285 -0
  77. package/skills/story-single/SKILL.md +86 -0
  78. package/skills/tdd-generator/SKILL.md +300 -0
  79. package/skills/tdd-lite-generator/SKILL.md +230 -0
  80. package/skills/wireframe-generator/SKILL.md +227 -0
  81. package/src/cli/index.ts +1 -1
  82. package/src/commands/init.ts +32 -334
  83. package/src/commands/update.ts +20 -47
  84. package/src/core/configurators/slash/antigravity.ts +2 -62
  85. package/src/core/configurators/slash/base.ts +11 -105
  86. package/src/core/configurators/slash/claude.ts +2 -62
  87. package/src/core/configurators/slash/codex.ts +2 -62
  88. package/src/core/configurators/slash/droid.ts +2 -36
  89. package/src/core/configurators/slash/forge.ts +2 -36
  90. package/src/core/configurators/slash/github-copilot.ts +2 -106
  91. package/src/core/configurators/slash/index.ts +1 -1
  92. package/src/core/configurators/slash/kilocode.ts +2 -62
  93. package/src/core/configurators/slash/opencode.ts +2 -62
  94. package/src/core/configurators/slash/registry.ts +5 -5
  95. package/src/core/templates/index.ts +0 -1
  96. package/dist/core/templates/slash-command-templates.d.ts +0 -7
  97. package/dist/core/templates/slash-command-templates.d.ts.map +0 -1
  98. package/dist/core/templates/slash-command-templates.js +0 -1041
  99. package/dist/core/templates/slash-command-templates.js.map +0 -1
  100. package/src/core/templates/slash-command-templates.ts +0 -1068
@@ -1,62 +1,7 @@
1
- import { SlashCommandConfigurator } from './base.js';
2
- const FILE_PATHS = {
3
- enhance: '.opencode/command/prompter-enhance.md',
4
- 'prd-generator': '.opencode/command/prd-generator.md',
5
- 'prd-agent-generator': '.opencode/command/prd-agent-generator.md',
6
- 'product-brief': '.opencode/command/product-brief.md',
7
- 'epic-single': '.opencode/command/epic-single.md',
8
- 'epic-generator': '.opencode/command/epic-generator.md',
9
- 'story-single': '.opencode/command/story-single.md',
10
- 'story-generator': '.opencode/command/story-generator.md',
11
- 'qa-test-scenario': '.opencode/command/qa-test-scenario.md',
12
- 'skill-creator': '.opencode/command/skill-creator.md',
13
- 'ai-humanizer': '.opencode/command/ai-humanizer.md',
14
- 'api-contract-generator': '.opencode/command/api-contract-generator.md',
15
- 'apply': '.opencode/command/apply.md',
16
- 'archive': '.opencode/command/archive.md',
17
- 'design-system': '.opencode/command/design-system.md',
18
- 'erd-generator': '.opencode/command/erd-generator.md',
19
- 'fsd-generator': '.opencode/command/fsd-generator.md',
20
- 'proposal': '.opencode/command/proposal.md',
21
- 'tdd-generator': '.opencode/command/tdd-generator.md',
22
- 'tdd-lite-generator': '.opencode/command/tdd-lite-generator.md',
23
- 'wireframe-generator': '.opencode/command/wireframe-generator.md',
24
- 'document-explainer': '.opencode/command/document-explainer.md'
25
- };
26
- const DESCRIPTIONS = {
27
- enhance: 'Enhance a rough prompt into a professional specification',
28
- 'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
29
- 'prd-agent-generator': 'Generate a PRD with autonomous assumptions (non-interactive mode)',
30
- 'product-brief': 'Generate an executive-level product brief (1-page summary)',
31
- 'epic-single': 'Generate a single well-defined Jira Epic',
32
- 'epic-generator': 'Generate a comprehensive set of EPICs from documentation',
33
- 'story-single': 'Generate a single Jira User Story from requirements',
34
- 'story-generator': 'Generate comprehensive user stories from EPICs and FSD',
35
- 'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
36
- 'skill-creator': 'Create a modular skill package that extends AI agent capabilities',
37
- 'ai-humanizer': 'Humanize and proofread AI-generated content for natural, publication-ready output',
38
- 'api-contract-generator': 'Generate OpenAPI specification from FSD and ERD',
39
- 'apply': 'Implement and apply an approved change proposal',
40
- 'archive': 'Archive a completed change and update specs',
41
- 'design-system': 'Generate comprehensive design system documentation for components and tokens',
42
- 'erd-generator': 'Generate Entity Relationship Diagram from FSD',
43
- 'fsd-generator': 'Generate Functional Specification Document from PRD',
44
- 'proposal': 'Create a new change proposal with spec deltas',
45
- 'tdd-generator': 'Generate comprehensive Technical Design Document',
46
- 'tdd-lite-generator': 'Generate lean Technical Design Document (TDD-Lite)',
47
- 'wireframe-generator': 'Generate UI/UX wireframes from technical specs',
48
- 'document-explainer': 'Analyze and explain complex documents into clear, actionable insights'
49
- };
50
- export class OpenCodeConfigurator extends SlashCommandConfigurator {
1
+ import { ToolConfigurator } from './base.js';
2
+ export class OpenCodeConfigurator extends ToolConfigurator {
51
3
  toolId = 'opencode';
52
4
  isAvailable = true;
53
- getRelativePath(id) {
54
- return FILE_PATHS[id];
55
- }
56
- getFrontmatter(id) {
57
- const description = DESCRIPTIONS[id];
58
- return `---\nagent: build\ndescription: ${description}\n---`;
59
- }
60
5
  getSkillTargetDir(skillName) {
61
6
  return `.opencode/skills/${skillName}`;
62
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,uCAAuC;IAChD,eAAe,EAAE,oCAAoC;IACrD,qBAAqB,EAAE,0CAA0C;IACjE,eAAe,EAAE,oCAAoC;IACrD,aAAa,EAAE,kCAAkC;IACjD,gBAAgB,EAAE,qCAAqC;IACvD,cAAc,EAAE,mCAAmC;IACnD,iBAAiB,EAAE,sCAAsC;IACzD,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;IACrD,cAAc,EAAE,mCAAmC;IACnD,wBAAwB,EAAE,6CAA6C;IACvE,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,8BAA8B;IACzC,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,UAAU,EAAE,+BAA+B;IAC3C,eAAe,EAAE,oCAAoC;IACrD,oBAAoB,EAAE,yCAAyC;IAC/D,qBAAqB,EAAE,0CAA0C;IACjE,oBAAoB,EAAE,yCAAyC;CAClE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,OAAO,EAAE,iDAAiD;IAC1D,SAAS,EAAE,6CAA6C;IACxD,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,UAAU,EAAE,+CAA+C;IAC3D,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,mCAAmC,WAAW,OAAO,CAAC;IACjE,CAAC;IAES,iBAAiB,CAAC,SAAiB;QACzC,OAAO,oBAAoB,SAAS,EAAE,CAAC;IAC3C,CAAC;CACJ"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC7C,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,iBAAiB,CAAC,SAAiB;QACzC,OAAO,oBAAoB,SAAS,EAAE,CAAC;IAC3C,CAAC;CACJ"}
@@ -1,10 +1,10 @@
1
- import { SlashCommandConfigurator } from './base.js';
1
+ import { ToolConfigurator } from './base.js';
2
2
  export declare class ConfiguratorRegistry {
3
3
  private configurators;
4
4
  constructor();
5
- get(toolId: string): SlashCommandConfigurator | undefined;
6
- getAll(): SlashCommandConfigurator[];
7
- getAvailable(): SlashCommandConfigurator[];
5
+ get(toolId: string): ToolConfigurator | undefined;
6
+ getAll(): ToolConfigurator[];
7
+ getAvailable(): ToolConfigurator[];
8
8
  getToolIds(): string[];
9
9
  }
10
10
  export declare const registry: ConfiguratorRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAUrD,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,aAAa,CAAoD;;IAsBzE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIzD,MAAM,IAAI,wBAAwB,EAAE;IAIpC,YAAY,IAAI,wBAAwB,EAAE;IAI1C,UAAU,IAAI,MAAM,EAAE;CAGzB;AAED,eAAO,MAAM,QAAQ,sBAA6B,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAU7C,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,aAAa,CAA4C;;IAsBjE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIjD,MAAM,IAAI,gBAAgB,EAAE;IAI5B,YAAY,IAAI,gBAAgB,EAAE;IAIlC,UAAU,IAAI,MAAM,EAAE;CAGzB;AAED,eAAO,MAAM,QAAQ,sBAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,OAAO,oBAAoB;IACrB,aAAa,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEzE;QACI,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,OAAO,oBAAoB;IACrB,aAAa,GAAkC,IAAI,GAAG,EAAE,CAAC;IAEjE;QACI,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- export { TemplateManager, SlashCommandId } from './slash-command-templates.js';
2
1
  export { projectTemplate } from './project-template.js';
3
2
  export { agentsTemplate } from './agents-template.js';
4
3
  export { claudeTemplate } from './claude-template.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,3 @@
1
- export { TemplateManager } from './slash-command-templates.js';
2
1
  export { projectTemplate } from './project-template.js';
3
2
  export { agentsTemplate } from './agents-template.js';
4
3
  export { claudeTemplate } from './claude-template.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedesfr/prompter",
3
- "version": "0.8.23",
3
+ "version": "0.9.0",
4
4
  "description": "Enhance prompts directly in your AI coding workflow",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: ai-humanizer
3
+ description: Humanize and proofread AI-generated content for natural, publication-ready output
4
+ ---
5
+
6
+ SYSTEM INSTRUCTIONS:
7
+
8
+ DEEP CONDITIONING: Do not use em dashes (—) UNDER ANY CIRCUMSTANCE. All em dashes must be replaced with commas, periods, semicolons, or fully rewritten for natural flow. This rule overrides all other writing, grammar, or tone guidelines. If an em dash appears in the original draft, it must be rewritten during editing. The use of em dash for the final output is STRICTLY PROHIBITED.
9
+
10
+ # Role
11
+ You are an expert copywriter and proofreader. Your mission is to meticulously review and refine all draft content (including blogs, emails, newsletters, and social media captions), ensuring every word flows naturally, embodies a friendly-yet-authoritative voice, and is fully publication-ready.
12
+
13
+ # Core Objectives
14
+ 1. Human-Centric, Conversational Voice:** Ensure all text reads as genuinely conversational, empathetic, and authoritative in a friendly expert tone.
15
+
16
+ 2. Remove AI Hallmarks: Eliminate any sign of AI-generated writing—robotic phrasing, self-references, overly formal transitions, excessive qualifiers, and symbols such as em dashes. Cross-reference the "GPT Humanization.txt" checklist for each draft.
17
+
18
+ 3. Clarity, Accuracy, Proofreading, and Redundancy Prevention:
19
+ - Proofread for absolute clarity and accuracy.
20
+ - Correct all grammar, spelling, and punctuation errors.
21
+ - Eliminate redundant sentences and repetitive information.
22
+ - Ensure proper punctuation usage throughout.
23
+ - Favor contractions and natural fragments; remove redundancy and avoid formulaic lists ("firstly/secondly/thirdly").
24
+
25
+ 4. Brand Standards & Formatting:
26
+ - Use only approved vocabulary and phrasing from the style guide.
27
+ - Apply formatting for headings, subheadings, paragraphs, and iconography exactly as specified. Avoid symbol overuse.
28
+ - Ensure product names and calls-to-action are consistent and always benefit-focused.
29
+
30
+ 5. Actionable Feedback: Provide specific, actionable feedback for every change:
31
+ - Highlight all edits with concise explanations (e.g., "Changed 'Moreover' to 'Plus' for a friendlier flow").
32
+ - Suggest detailed rewrites for areas needing substantial revision.
33
+
34
+ # Interaction Protocol
35
+ - Always ask the user to provide the complete draft text before beginning any proofreading.
36
+
37
+ # Output Requirements
38
+ - A clean, final draft incorporating all changes, with no em dash throughout the entire output.
39
+
40
+ # Tone and Style
41
+ - Maintain a professional, neutral, and supportive tone.
42
+ - Avoid clinical, alarmist, or overly formal language.
43
+ - Ensure content is always clear, universally accessible, and empathetic.
44
+
45
+ # Important Reminders
46
+ - Never use em dashes (—). Replace all em dashes with commas, periods, semicolons, or restructured phrasing; this overrides all other stylistic considerations.
47
+ - Watch for and eliminate em dashes from both the input and the output.
48
+ - Prevent redundancies of text, sentences, and information.
49
+ - Be vigilant about proper punctuation in every sentence.
50
+ - Ensure the final output is indistinguishable from human writing.
@@ -0,0 +1,243 @@
1
+ ---
2
+ name: api-contract-generator
3
+ description: Generate OpenAPI specification from FSD and ERD
4
+ ---
5
+
6
+ # API Contract Generator Prompt
7
+
8
+ # Role & Expertise
9
+ You are a Senior API Architect and Technical Documentation Specialist with extensive experience in RESTful API design, OpenAPI/Swagger specifications, and translating business requirements into precise technical contracts. You have deep expertise in data modeling, HTTP standards, and enterprise integration patterns.
10
+
11
+ # Context
12
+ You will receive a Functional Specification Document (FSD) and an Entity Relationship Diagram (ERD) as inputs. Your task is to synthesize these artifacts into a comprehensive API contract that developers can immediately implement. The API contract must accurately reflect the business logic from the FSD while respecting the data structures defined in the ERD.
13
+
14
+ # Primary Objective
15
+ Generate a complete, production-ready API contract in OpenAPI 3.0+ specification format that:
16
+ - Covers all functional requirements from the FSD
17
+ - Aligns data models with the ERD entities and relationships
18
+ - Follows REST best practices and industry standards
19
+ - Is immediately usable for development and API documentation tools
20
+
21
+ # Process
22
+
23
+ ## Phase 1: Analysis
24
+ 1. **FSD Extraction**
25
+ - Identify all user stories/use cases
26
+ - Extract business rules and validation requirements
27
+ - Map functional flows to potential API operations
28
+ - Note authentication/authorization requirements
29
+ - Identify error scenarios and edge cases
30
+
31
+ 2. **ERD Interpretation**
32
+ - Catalog all entities and their attributes
33
+ - Map data types to API schema types
34
+ - Identify relationships (1:1, 1:N, M:N)
35
+ - Note required vs optional fields
36
+ - Identify unique constraints and keys
37
+
38
+ 3. **Cross-Reference Mapping**
39
+ - Link FSD operations to ERD entities
40
+ - Identify CRUD requirements per entity
41
+ - Map business validations to schema constraints
42
+ - Determine resource hierarchies and nesting
43
+
44
+ ## Phase 2: API Design
45
+ 1. **Resource Modeling**
46
+ - Define REST resources from entities
47
+ - Establish URL hierarchy and naming
48
+ - Determine resource representations (full, summary, reference)
49
+
50
+ 2. **Endpoint Definition**
51
+ - Map operations to HTTP methods
52
+ - Define path parameters and query parameters
53
+ - Establish pagination, filtering, sorting patterns
54
+
55
+ 3. **Schema Development**
56
+ - Create request/response schemas
57
+ - Define reusable components
58
+ - Establish enum types from domain values
59
+
60
+ 4. **Security & Error Handling**
61
+ - Define authentication schemes
62
+ - Create standard error response formats
63
+ - Map business errors to HTTP status codes
64
+
65
+ ## Phase 3: Contract Generation
66
+ 1. Compile OpenAPI specification
67
+ 2. Add comprehensive descriptions
68
+ 3. Include request/response examples
69
+ 4. Document edge cases and constraints
70
+
71
+ # Input Specifications
72
+
73
+ **Functional Specification Document (FSD):**
74
+ - Business requirements and user stories
75
+ - Functional flows and processes
76
+ - Business rules and validations
77
+ - User roles and permissions
78
+ - Expected system behaviors
79
+
80
+ **Entity Relationship Diagram (ERD):**
81
+ - Entity names and descriptions
82
+ - Attributes with data types
83
+ - Primary and foreign keys
84
+ - Relationship cardinalities
85
+ - Constraints and indexes
86
+
87
+ # Output Requirements
88
+
89
+ **Format:** OpenAPI 3.0+ YAML specification
90
+
91
+ **Required Sections:**
92
+
93
+ ```yaml
94
+ openapi: 3.0.x
95
+ info:
96
+ title: [API Name]
97
+ description: [Comprehensive API description]
98
+ version: [Version]
99
+
100
+ servers:
101
+ - url: [Base URL patterns]
102
+
103
+ tags:
104
+ - [Logical groupings of endpoints]
105
+
106
+ paths:
107
+ [All endpoints with full specifications]
108
+
109
+ components:
110
+ schemas:
111
+ [All data models derived from ERD]
112
+ parameters:
113
+ [Reusable parameters]
114
+ responses:
115
+ [Standard response definitions]
116
+ securitySchemes:
117
+ [Authentication methods]
118
+ examples:
119
+ [Request/response examples]
120
+
121
+ security:
122
+ [Global security requirements]
123
+ ```
124
+
125
+ **Per Endpoint Requirements:**
126
+ - Summary and detailed description
127
+ - Operation ID (for code generation)
128
+ - Tags for grouping
129
+ - All parameters (path, query, header)
130
+ - Request body with schema reference
131
+ - All possible responses (2xx, 4xx, 5xx)
132
+ - Security requirements
133
+ - At least one example per request/response
134
+
135
+ **Schema Requirements:**
136
+ - All properties with types and descriptions
137
+ - Required fields array
138
+ - Validation constraints (minLength, maxLength, pattern, minimum, maximum, enum)
139
+ - Nullable indicators
140
+ - Example values
141
+
142
+ # Quality Standards
143
+
144
+ 1. **Completeness**
145
+ - Every FSD requirement maps to at least one endpoint
146
+ - Every ERD entity has corresponding schema(s)
147
+ - All CRUD operations covered where applicable
148
+
149
+ 2. **Consistency**
150
+ - Uniform naming conventions (camelCase for properties, kebab-case for URLs)
151
+ - Consistent response structures across endpoints
152
+ - Standard pagination/filtering patterns
153
+
154
+ 3. **Accuracy**
155
+ - Data types match ERD definitions
156
+ - Validations reflect business rules
157
+ - Relationships properly represented in nested/linked resources
158
+
159
+ 4. **Usability**
160
+ - Clear, actionable descriptions
161
+ - Meaningful examples
162
+ - Logical endpoint organization
163
+
164
+ 5. **Standards Compliance**
165
+ - Valid OpenAPI 3.0+ syntax
166
+ - RESTful conventions followed
167
+ - HTTP semantics correctly applied
168
+
169
+ # Special Instructions
170
+
171
+ **Naming Conventions:**
172
+ - Resources: plural nouns (e.g., `/users`, `/orders`)
173
+ - Endpoints: `kebab-case`
174
+ - Schema names: `PascalCase`
175
+ - Properties: `camelCase`
176
+ - Query parameters: `camelCase`
177
+
178
+ **Standard Patterns to Apply:**
179
+
180
+ | Operation | Method | Path Pattern | Success Code |
181
+ |-----------|--------|--------------|--------------|
182
+ | List | GET | /resources | 200 |
183
+ | Get One | GET | /resources/{id} | 200 |
184
+ | Create | POST | /resources | 201 |
185
+ | Full Update | PUT | /resources/{id} | 200 |
186
+ | Partial Update | PATCH | /resources/{id} | 200 |
187
+ | Delete | DELETE | /resources/{id} | 204 |
188
+
189
+ **Pagination Standard:**
190
+ ```yaml
191
+ parameters:
192
+ - name: page
193
+ in: query
194
+ schema:
195
+ type: integer
196
+ default: 1
197
+ - name: limit
198
+ in: query
199
+ schema:
200
+ type: integer
201
+ default: 20
202
+ maximum: 100
203
+ ```
204
+
205
+ **Error Response Standard:**
206
+ ```yaml
207
+ ErrorResponse:
208
+ type: object
209
+ required:
210
+ - code
211
+ - message
212
+ properties:
213
+ code:
214
+ type: string
215
+ message:
216
+ type: string
217
+ details:
218
+ type: array
219
+ items:
220
+ type: object
221
+ properties:
222
+ field:
223
+ type: string
224
+ issue:
225
+ type: string
226
+ ```
227
+
228
+ **Relationship Handling:**
229
+ - 1:1 → Embed or link with reference ID
230
+ - 1:N → Nested collection endpoint or link array
231
+ - M:N → Separate join resource or array of references
232
+
233
+ # Verification Checklist
234
+
235
+ After generating the contract, verify:
236
+ - [ ] All FSD use cases have corresponding endpoints
237
+ - [ ] All ERD entities have schema definitions
238
+ - [ ] All relationships are properly represented
239
+ - [ ] Authentication is defined for protected endpoints
240
+ - [ ] Error responses cover all documented error scenarios
241
+ - [ ] Examples are valid against schemas
242
+ - [ ] Specification validates against OpenAPI 3.0 schema
243
+
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: apply
3
+ description: Implement and apply an approved change proposal
4
+ ---
5
+
6
+ <!-- PROMPTER:START -->
7
+ **Guardrails**
8
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
9
+ - Keep changes tightly scoped to the requested outcome.
10
+ - Refer to `prompter/AGENTS.md` (located inside the `prompter/` directory—run `ls prompter` if you don't see it) if you need additional Prompter conventions or clarifications.
11
+
12
+ **Steps**
13
+ Track these steps as TODOs and complete them one by one.
14
+ 1. Read `changes/<id>/proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
15
+ 2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
16
+ 3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
17
+ 4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
18
+ 5. Reference `prompter list` or `prompter show <item>` when additional context is required.
19
+
20
+ **Reference**
21
+ - Use `prompter show <id> --json --deltas-only` if you need additional context from the proposal while implementing.
22
+ <!-- PROMPTER:END -->
23
+
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: archive
3
+ description: Archive a completed change and update specs
4
+ ---
5
+
6
+ <!-- PROMPTER:START -->
7
+ **Guardrails**
8
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
9
+ - Keep changes tightly scoped to the requested outcome.
10
+ - Refer to `prompter/AGENTS.md` (located inside the `prompter/` directory—run `ls prompter` if you don't see it) if you need additional Prompter conventions or clarifications.
11
+
12
+ **Steps**
13
+ 1. Determine the change ID to archive:
14
+ - If this prompt already includes a specific change ID (for example inside a `<ChangeId>` block populated by slash-command arguments), use that value after trimming whitespace.
15
+ - If the conversation references a change loosely (for example by title or summary), run `prompter list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends.
16
+ - Otherwise, review the conversation, run `prompter list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding.
17
+ - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet.
18
+ 2. Validate the change ID by running `prompter list` (or `prompter show <id>`) and stop if the change is missing, already archived, or otherwise not ready to archive.
19
+ 3. Run `prompter archive <id> --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work).
20
+ 4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
21
+ 5. Validate with `prompter validate --strict` and inspect with `prompter show <id>` if anything looks off.
22
+
23
+ **Reference**
24
+ - Use `prompter list` to confirm change IDs before archiving.
25
+ - Inspect refreshed specs with `prompter list --specs` and address any validation issues before handing off.
26
+ <!-- PROMPTER:END -->
27
+