pupt 1.4.0 → 2.0.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 (152) hide show
  1. package/dist/cli.js +124 -38
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/add.d.ts.map +1 -1
  4. package/dist/commands/add.js +15 -49
  5. package/dist/commands/add.js.map +1 -1
  6. package/dist/commands/config.d.ts +9 -0
  7. package/dist/commands/config.d.ts.map +1 -0
  8. package/dist/commands/config.js +120 -0
  9. package/dist/commands/config.js.map +1 -0
  10. package/dist/commands/edit.d.ts.map +1 -1
  11. package/dist/commands/edit.js +4 -3
  12. package/dist/commands/edit.js.map +1 -1
  13. package/dist/commands/history.d.ts.map +1 -1
  14. package/dist/commands/history.js +14 -15
  15. package/dist/commands/history.js.map +1 -1
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +20 -45
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/install.d.ts +6 -0
  20. package/dist/commands/install.d.ts.map +1 -1
  21. package/dist/commands/install.js +52 -6
  22. package/dist/commands/install.js.map +1 -1
  23. package/dist/commands/migrate.d.ts +22 -0
  24. package/dist/commands/migrate.d.ts.map +1 -0
  25. package/dist/commands/migrate.js +92 -0
  26. package/dist/commands/migrate.js.map +1 -0
  27. package/dist/commands/run.d.ts.map +1 -1
  28. package/dist/commands/run.js +13 -77
  29. package/dist/commands/run.js.map +1 -1
  30. package/dist/config/config-manager.d.ts +9 -0
  31. package/dist/config/config-manager.d.ts.map +1 -1
  32. package/dist/config/config-manager.js +70 -64
  33. package/dist/config/config-manager.js.map +1 -1
  34. package/dist/config/migration.d.ts.map +1 -1
  35. package/dist/config/migration.js +52 -16
  36. package/dist/config/migration.js.map +1 -1
  37. package/dist/history/history-manager.js +1 -1
  38. package/dist/history/history-manager.js.map +1 -1
  39. package/dist/index.d.ts +2 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +2 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/schemas/config-schema.d.ts +522 -260
  44. package/dist/schemas/config-schema.d.ts.map +1 -1
  45. package/dist/schemas/config-schema.js +38 -22
  46. package/dist/schemas/config-schema.js.map +1 -1
  47. package/dist/schemas/prompt-schema.d.ts +115 -115
  48. package/dist/search/search-engine.d.ts.map +1 -1
  49. package/dist/search/search-engine.js +2 -1
  50. package/dist/search/search-engine.js.map +1 -1
  51. package/dist/services/input-collector.d.ts +9 -0
  52. package/dist/services/input-collector.d.ts.map +1 -0
  53. package/dist/services/input-collector.js +154 -0
  54. package/dist/services/input-collector.js.map +1 -0
  55. package/dist/services/prompt-converter.d.ts +27 -0
  56. package/dist/services/prompt-converter.d.ts.map +1 -0
  57. package/dist/services/prompt-converter.js +383 -0
  58. package/dist/services/prompt-converter.js.map +1 -0
  59. package/dist/services/prompt-resolver.d.ts +32 -0
  60. package/dist/services/prompt-resolver.d.ts.map +1 -0
  61. package/dist/services/prompt-resolver.js +71 -0
  62. package/dist/services/prompt-resolver.js.map +1 -0
  63. package/dist/services/pupt-service.d.ts +47 -0
  64. package/dist/services/pupt-service.d.ts.map +1 -0
  65. package/dist/services/pupt-service.js +252 -0
  66. package/dist/services/pupt-service.js.map +1 -0
  67. package/dist/services/review-data-builder.d.ts +1 -1
  68. package/dist/services/review-data-builder.d.ts.map +1 -1
  69. package/dist/services/review-data-builder.js +13 -9
  70. package/dist/services/review-data-builder.js.map +1 -1
  71. package/dist/types/config.d.ts +62 -12
  72. package/dist/types/config.d.ts.map +1 -1
  73. package/dist/types/config.js +1 -7
  74. package/dist/types/config.js.map +1 -1
  75. package/dist/types/prompt.d.ts +6 -0
  76. package/dist/types/prompt.d.ts.map +1 -1
  77. package/dist/types/prompt.js +23 -1
  78. package/dist/types/prompt.js.map +1 -1
  79. package/dist/utils/errors.js +1 -1
  80. package/dist/utils/errors.js.map +1 -1
  81. package/dist/utils/path-utils.d.ts +42 -0
  82. package/dist/utils/path-utils.d.ts.map +1 -0
  83. package/dist/utils/path-utils.js +139 -0
  84. package/dist/utils/path-utils.js.map +1 -0
  85. package/dist/utils/prompt-format.d.ts +27 -0
  86. package/dist/utils/prompt-format.d.ts.map +1 -0
  87. package/dist/utils/prompt-format.js +28 -0
  88. package/dist/utils/prompt-format.js.map +1 -0
  89. package/package.json +3 -3
  90. package/prompts/ad-hoc-long.prompt +60 -0
  91. package/prompts/ad-hoc.prompt +32 -0
  92. package/prompts/add-summary.prompt +48 -0
  93. package/prompts/code-review.prompt +103 -0
  94. package/prompts/debugging-error-message.prompt +81 -0
  95. package/prompts/fix-github-actions.prompt +60 -0
  96. package/prompts/fix-test-errors.prompt +71 -0
  97. package/prompts/git-commit-comment.prompt +59 -0
  98. package/prompts/implementation-phase.prompt +57 -0
  99. package/prompts/implementation-plan.prompt +105 -0
  100. package/prompts/new-feature.prompt +93 -0
  101. package/prompts/new-project.prompt +9 -0
  102. package/prompts/one-shot-change.prompt +77 -0
  103. package/prompts/pupt-prompt-improvement.prompt +265 -0
  104. package/prompts/simple-test.prompt +8 -0
  105. package/prompts/update-design.prompt +75 -0
  106. package/prompts/update-documentation.prompt +6 -0
  107. package/dist/prompts/prompt-manager.d.ts +0 -12
  108. package/dist/prompts/prompt-manager.d.ts.map +0 -1
  109. package/dist/prompts/prompt-manager.js +0 -102
  110. package/dist/prompts/prompt-manager.js.map +0 -1
  111. package/dist/services/auto-annotation-service.d.ts +0 -40
  112. package/dist/services/auto-annotation-service.d.ts.map +0 -1
  113. package/dist/services/auto-annotation-service.js +0 -439
  114. package/dist/services/auto-annotation-service.js.map +0 -1
  115. package/dist/services/prompt-service.d.ts +0 -31
  116. package/dist/services/prompt-service.d.ts.map +0 -1
  117. package/dist/services/prompt-service.js +0 -278
  118. package/dist/services/prompt-service.js.map +0 -1
  119. package/dist/template/helpers/index.d.ts +0 -4
  120. package/dist/template/helpers/index.d.ts.map +0 -1
  121. package/dist/template/helpers/index.js +0 -156
  122. package/dist/template/helpers/index.js.map +0 -1
  123. package/dist/template/template-context.d.ts +0 -32
  124. package/dist/template/template-context.d.ts.map +0 -1
  125. package/dist/template/template-context.js +0 -81
  126. package/dist/template/template-context.js.map +0 -1
  127. package/dist/template/template-engine.d.ts +0 -14
  128. package/dist/template/template-engine.d.ts.map +0 -1
  129. package/dist/template/template-engine.js +0 -85
  130. package/dist/template/template-engine.js.map +0 -1
  131. package/dist/utils/handlebars-extensions.d.ts +0 -4
  132. package/dist/utils/handlebars-extensions.d.ts.map +0 -1
  133. package/dist/utils/handlebars-extensions.js +0 -87
  134. package/dist/utils/handlebars-extensions.js.map +0 -1
  135. package/prompts/ad-hoc-long.md +0 -52
  136. package/prompts/ad-hoc.md +0 -23
  137. package/prompts/add-summary.md +0 -42
  138. package/prompts/analyze-execution.md +0 -181
  139. package/prompts/code-review.md +0 -97
  140. package/prompts/debugging-error-message.md +0 -75
  141. package/prompts/fix-github-actions.md +0 -55
  142. package/prompts/fix-test-errors.md +0 -66
  143. package/prompts/git-commit-comment.md +0 -54
  144. package/prompts/implementation-phase.md +0 -46
  145. package/prompts/implementation-plan.md +0 -89
  146. package/prompts/new-feature.md +0 -80
  147. package/prompts/new-project.md +0 -11
  148. package/prompts/one-shot-change.md +0 -71
  149. package/prompts/pupt-prompt-improvement.md +0 -264
  150. package/prompts/simple-test.md +0 -11
  151. package/prompts/update-design.md +0 -68
  152. package/prompts/update-documentation.md +0 -8
@@ -1,3 +1,60 @@
1
+ /**
2
+ * LLM configuration for prompt rendering.
3
+ * Defines the target AI model and provider.
4
+ */
5
+ export interface LlmConfig {
6
+ /** Model name (e.g., 'claude-3-opus', 'gpt-4') */
7
+ model?: string;
8
+ /** Provider name (e.g., 'anthropic', 'openai') */
9
+ provider?: string;
10
+ /** Maximum tokens for the response */
11
+ maxTokens?: number;
12
+ /** Temperature for response generation (0-2) */
13
+ temperature?: number;
14
+ }
15
+ /**
16
+ * Output formatting configuration.
17
+ */
18
+ export interface OutputConfigOptions {
19
+ /** Preferred output format */
20
+ format?: 'xml' | 'markdown' | 'json' | 'text' | 'unspecified';
21
+ /** Whether to trim whitespace from output */
22
+ trim?: boolean;
23
+ /** Indentation string for structured output */
24
+ indent?: string;
25
+ }
26
+ /**
27
+ * Code-related configuration.
28
+ */
29
+ export interface CodeConfig {
30
+ /** Programming language context (e.g., 'typescript', 'python') */
31
+ language?: string;
32
+ /** Whether to enable syntax highlighting */
33
+ highlight?: boolean;
34
+ }
35
+ /**
36
+ * User/caller context configuration.
37
+ */
38
+ export interface UserContextConfig {
39
+ /** User's preferred editor */
40
+ editor?: string;
41
+ }
42
+ /**
43
+ * Environment configuration for prompt rendering.
44
+ * These are explicitly configured values (auto-detected values like
45
+ * hostname, cwd, platform, etc. are NOT stored here - they come from
46
+ * pupt-lib's createRuntimeConfig() at render time).
47
+ */
48
+ export interface EnvironmentConfig {
49
+ /** LLM/AI model configuration */
50
+ llm?: LlmConfig;
51
+ /** Output formatting preferences */
52
+ output?: OutputConfigOptions;
53
+ /** Code-related settings */
54
+ code?: CodeConfig;
55
+ /** User context */
56
+ user?: UserContextConfig;
57
+ }
1
58
  export interface Config {
2
59
  promptDirs: string[];
3
60
  historyDir?: string;
@@ -8,15 +65,18 @@ export interface Config {
8
65
  autoReview?: boolean;
9
66
  autoRun?: boolean;
10
67
  gitPromptDir?: string;
11
- handlebarsExtensions?: HandlebarsExtensionConfig[];
12
68
  version?: string;
13
69
  helpers?: Record<string, HelperConfig>;
14
70
  logLevel?: string;
15
71
  outputCapture?: OutputCaptureConfig;
16
- autoAnnotate?: AutoAnnotateConfig;
72
+ libraries?: string[];
73
+ /** Environment configuration for prompt rendering (LLM, output format, code language, etc.) */
74
+ environment?: EnvironmentConfig;
17
75
  codingTool?: string;
18
76
  codingToolArgs?: string[];
19
77
  codingToolOptions?: Record<string, string>;
78
+ /** @deprecated Use environment.llm.provider instead */
79
+ targetLlm?: string;
20
80
  }
21
81
  interface OutputCaptureConfig {
22
82
  enabled: boolean;
@@ -24,21 +84,11 @@ interface OutputCaptureConfig {
24
84
  maxSizeMB?: number;
25
85
  retentionDays?: number;
26
86
  }
27
- interface AutoAnnotateConfig {
28
- enabled: boolean;
29
- triggers?: string[];
30
- analysisPrompt: string;
31
- }
32
87
  interface HelperConfig {
33
88
  type: 'inline' | 'file';
34
89
  value?: string;
35
90
  path?: string;
36
91
  }
37
- export interface HandlebarsExtensionConfig {
38
- type: 'inline' | 'file';
39
- value?: string;
40
- path?: string;
41
- }
42
92
  export declare const DEFAULT_CONFIG: Partial<Config>;
43
93
  export {};
44
94
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAiB1C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC9D,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mBAAmB;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAW1C,CAAC"}
@@ -2,18 +2,12 @@ export const DEFAULT_CONFIG = {
2
2
  autoReview: true,
3
3
  autoRun: false,
4
4
  gitPromptDir: '.git-prompts',
5
- handlebarsExtensions: [],
6
- version: '4.0.0',
5
+ version: '6.0.0',
7
6
  outputCapture: {
8
7
  enabled: false,
9
8
  directory: '.pt-output',
10
9
  maxSizeMB: 50,
11
10
  retentionDays: 30
12
11
  },
13
- autoAnnotate: {
14
- enabled: false,
15
- triggers: ['claude', 'ai', 'assistant'],
16
- analysisPrompt: 'analyze-execution'
17
- }
18
12
  };
19
13
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,EAAE;IACxB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;KAClB;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC;QACvC,cAAc,EAAE,mBAAmB;KACpC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAoGA,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;KAClB;CACF,CAAC"}
@@ -8,6 +8,7 @@ export interface Prompt {
8
8
  frontmatter: Record<string, unknown>;
9
9
  variables?: VariableDefinition[];
10
10
  summary?: string;
11
+ _source?: import('pupt-lib').DiscoveredPromptWithMethods;
11
12
  }
12
13
  export interface VariableDefinition {
13
14
  name: string;
@@ -20,4 +21,9 @@ export interface VariableDefinition {
20
21
  filter?: string;
21
22
  autoReview?: boolean;
22
23
  }
24
+ /**
25
+ * Convert a pupt-lib DiscoveredPromptWithMethods to pupt's Prompt interface.
26
+ * This adapter allows the JSX-based prompts to work with existing search/UI code.
27
+ */
28
+ export declare function fromDiscoveredPrompt(dp: import('pupt-lib').DiscoveredPromptWithMethods, filePath?: string, baseDir?: string): Prompt;
23
29
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/types/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/types/prompt.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,UAAU,EAAE,2BAA2B,CAAC;CAC1D;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,OAAO,UAAU,EAAE,2BAA2B,EAClD,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAkBR"}
@@ -1,2 +1,24 @@
1
- export {};
1
+ import path from 'node:path';
2
+ /**
3
+ * Convert a pupt-lib DiscoveredPromptWithMethods to pupt's Prompt interface.
4
+ * This adapter allows the JSX-based prompts to work with existing search/UI code.
5
+ */
6
+ export function fromDiscoveredPrompt(dp, filePath, baseDir) {
7
+ const resolvedPath = filePath || dp.name;
8
+ const relativePath = (filePath && baseDir)
9
+ ? path.relative(baseDir, filePath)
10
+ : resolvedPath;
11
+ const filename = path.basename(resolvedPath);
12
+ return {
13
+ path: resolvedPath,
14
+ relativePath,
15
+ filename,
16
+ title: dp.description || dp.name, // Use human-friendly description as title, fall back to name
17
+ tags: dp.tags,
18
+ content: dp.description,
19
+ frontmatter: {},
20
+ summary: dp.description,
21
+ _source: dp,
22
+ };
23
+ }
2
24
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/types/prompt.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/types/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AA2B7B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,EAAkD,EAClD,QAAiB,EACjB,OAAgB;IAEhB,MAAM,YAAY,GAAG,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC;IACzC,MAAM,YAAY,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAClC,CAAC,CAAC,YAAY,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,QAAQ;QACR,KAAK,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,6DAA6D;QAC/F,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,OAAO,EAAE,EAAE,CAAC,WAAW;QACvB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE,CAAC,WAAW;QACvB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC"}
@@ -115,7 +115,7 @@ export const errors = {
115
115
  category: ErrorCategory.USER_ERROR,
116
116
  suggestions: [
117
117
  { text: 'Create a new prompt interactively', command: 'pt add' },
118
- { text: `Create a .md file in one of the directories` }
118
+ { text: `Create a .prompt file in one of the directories` }
119
119
  ],
120
120
  icon: '🔍'
121
121
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Utilities for converting paths to portable format for config files.
3
+ *
4
+ * When saving configs, absolute paths should be converted to portable formats:
5
+ * - Paths under project root → ${projectRoot}/...
6
+ * - Paths under home directory → ~/...
7
+ * - Already relative paths → kept as-is
8
+ * - Other absolute paths → kept as-is with warning
9
+ */
10
+ export interface ContractPathsOptions {
11
+ /** Directory to resolve relative paths from (typically config file location) */
12
+ configDir?: string;
13
+ /** Whether to warn about non-portable absolute paths */
14
+ warnOnAbsolute?: boolean;
15
+ }
16
+ export interface ContractPathsResult {
17
+ /** The contracted path */
18
+ path: string;
19
+ /** Whether a warning was issued */
20
+ warned: boolean;
21
+ }
22
+ /**
23
+ * Contract a single path to a portable format.
24
+ *
25
+ * Priority:
26
+ * 1. Already relative paths → keep as-is
27
+ * 2. Paths under project root → ${projectRoot}/...
28
+ * 3. Paths under home directory → ~/...
29
+ * 4. Other absolute paths → keep as-is (with optional warning)
30
+ */
31
+ export declare function contractPath(filepath: string, options?: ContractPathsOptions): ContractPathsResult;
32
+ /**
33
+ * Check if a path is absolute and could be made portable.
34
+ * Used for warning users on config load.
35
+ */
36
+ export declare function isNonPortableAbsolutePath(filepath: string, configDir?: string): boolean;
37
+ /**
38
+ * Warn about non-portable paths in a config.
39
+ * Call this when loading a config to alert users.
40
+ */
41
+ export declare function warnAboutNonPortablePaths(paths: (string | undefined)[], configFilePath?: string): void;
42
+ //# sourceMappingURL=path-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../../src/utils/path-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4BH,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAuDrB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BvF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAkBN"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Utilities for converting paths to portable format for config files.
3
+ *
4
+ * When saving configs, absolute paths should be converted to portable formats:
5
+ * - Paths under project root → ${projectRoot}/...
6
+ * - Paths under home directory → ~/...
7
+ * - Already relative paths → kept as-is
8
+ * - Other absolute paths → kept as-is with warning
9
+ */
10
+ import path from 'node:path';
11
+ import fs from 'node:fs';
12
+ import os from 'node:os';
13
+ import { findProjectRoot } from './project-root.js';
14
+ import { logger } from './logger.js';
15
+ /**
16
+ * Resolve symlinks in a path, even if the leaf segments don't exist.
17
+ * Walks up to the nearest existing ancestor, resolves it, then re-appends
18
+ * the non-existent tail. This handles macOS /var -> /private/var symlink
19
+ * differences when the target path (e.g. a prompt directory) hasn't been
20
+ * created yet.
21
+ */
22
+ function safeRealpath(p) {
23
+ try {
24
+ return fs.realpathSync(p);
25
+ }
26
+ catch {
27
+ const parent = path.dirname(p);
28
+ if (parent === p) {
29
+ // Reached filesystem root — nothing more to resolve
30
+ return p;
31
+ }
32
+ return path.join(safeRealpath(parent), path.basename(p));
33
+ }
34
+ }
35
+ /**
36
+ * Contract a single path to a portable format.
37
+ *
38
+ * Priority:
39
+ * 1. Already relative paths → keep as-is
40
+ * 2. Paths under project root → ${projectRoot}/...
41
+ * 3. Paths under home directory → ~/...
42
+ * 4. Other absolute paths → keep as-is (with optional warning)
43
+ */
44
+ export function contractPath(filepath, options = {}) {
45
+ const { configDir = process.cwd(), warnOnAbsolute = true } = options;
46
+ // Already relative path - keep as-is
47
+ if (!path.isAbsolute(filepath)) {
48
+ return { path: filepath, warned: false };
49
+ }
50
+ // Already uses ${projectRoot} or ~ - keep as-is
51
+ if (filepath.includes('${projectRoot}') || filepath.startsWith('~/')) {
52
+ return { path: filepath, warned: false };
53
+ }
54
+ const homeDir = os.homedir();
55
+ const projectRoot = findProjectRoot(configDir);
56
+ // Resolve symlinks for comparison (handles macOS /var -> /private/var)
57
+ const resolvedPath = safeRealpath(filepath);
58
+ // Check if path is under project root (prefer this over home)
59
+ if (projectRoot) {
60
+ const resolvedProjectRoot = safeRealpath(projectRoot);
61
+ if (resolvedPath.startsWith(resolvedProjectRoot + path.sep) || resolvedPath === resolvedProjectRoot) {
62
+ const relativePath = path.relative(resolvedProjectRoot, resolvedPath);
63
+ // Use forward slashes for cross-platform compatibility in config
64
+ const portablePath = relativePath.split(path.sep).join('/');
65
+ return {
66
+ path: portablePath ? `\${projectRoot}/${portablePath}` : '${projectRoot}',
67
+ warned: false
68
+ };
69
+ }
70
+ }
71
+ // Check if path is under home directory
72
+ const resolvedHomeDir = safeRealpath(homeDir);
73
+ if (resolvedPath.startsWith(resolvedHomeDir + path.sep) || resolvedPath === resolvedHomeDir) {
74
+ const relativePath = path.relative(resolvedHomeDir, resolvedPath);
75
+ // Use forward slashes for cross-platform compatibility
76
+ const portablePath = relativePath.split(path.sep).join('/');
77
+ return {
78
+ path: portablePath ? `~/${portablePath}` : '~',
79
+ warned: false
80
+ };
81
+ }
82
+ // Absolute path outside project and home - keep as-is but warn
83
+ if (warnOnAbsolute) {
84
+ logger.warn(`Path "${filepath}" is absolute and outside the project root. ` +
85
+ `This path will not be portable across machines. ` +
86
+ `Consider using a relative path, ~/..., or \${projectRoot}/...`);
87
+ }
88
+ return { path: filepath, warned: true };
89
+ }
90
+ /**
91
+ * Check if a path is absolute and could be made portable.
92
+ * Used for warning users on config load.
93
+ */
94
+ export function isNonPortableAbsolutePath(filepath, configDir) {
95
+ // Not absolute - it's fine
96
+ if (!path.isAbsolute(filepath)) {
97
+ return false;
98
+ }
99
+ // Uses portable variables - it's fine
100
+ if (filepath.includes('${projectRoot}') || filepath.startsWith('~/')) {
101
+ return false;
102
+ }
103
+ const homeDir = os.homedir();
104
+ const projectRoot = findProjectRoot(configDir || process.cwd());
105
+ const resolvedPath = safeRealpath(filepath);
106
+ // Check if it could be made portable
107
+ if (projectRoot) {
108
+ const resolvedProjectRoot = safeRealpath(projectRoot);
109
+ if (resolvedPath.startsWith(resolvedProjectRoot + path.sep)) {
110
+ return true; // Could use ${projectRoot}
111
+ }
112
+ }
113
+ const resolvedHomeDir = safeRealpath(homeDir);
114
+ if (resolvedPath.startsWith(resolvedHomeDir + path.sep)) {
115
+ return true; // Could use ~/
116
+ }
117
+ // Absolute but can't be made portable - still flag it
118
+ return true;
119
+ }
120
+ /**
121
+ * Warn about non-portable paths in a config.
122
+ * Call this when loading a config to alert users.
123
+ */
124
+ export function warnAboutNonPortablePaths(paths, configFilePath) {
125
+ const configDir = configFilePath ? path.dirname(configFilePath) : process.cwd();
126
+ const nonPortable = [];
127
+ for (const p of paths) {
128
+ if (p && isNonPortableAbsolutePath(p, configDir)) {
129
+ nonPortable.push(p);
130
+ }
131
+ }
132
+ if (nonPortable.length > 0) {
133
+ logger.warn(`Your config contains absolute paths that may not be portable:\n` +
134
+ nonPortable.map(p => ` - ${p}`).join('\n') + '\n' +
135
+ `These will be converted to portable format next time the config is saved.\n` +
136
+ `To fix manually, use relative paths, ~/..., or \${projectRoot}/...`);
137
+ }
138
+ }
139
+ //# sourceMappingURL=path-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../src/utils/path-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Prompt format types supported by pupt.
3
+ *
4
+ * - `jsx`: Build-time JSX, imported as ES modules (.tsx/.jsx files)
5
+ * - `jsx-runtime`: Runtime-parsed JSX via createPromptFromSource (.prompt files)
6
+ */
7
+ export type PromptFormat = 'jsx' | 'jsx-runtime';
8
+ /**
9
+ * File extensions recognized as pupt-lib JSX prompt formats.
10
+ */
11
+ export declare const PUPT_LIB_EXTENSIONS: string[];
12
+ /**
13
+ * All file extensions recognized as prompt files.
14
+ */
15
+ export declare const ALL_PROMPT_EXTENSIONS: string[];
16
+ /**
17
+ * Detect the prompt format based on file extension.
18
+ *
19
+ * @param filePath - Path or filename to check
20
+ * @returns The detected prompt format
21
+ */
22
+ export declare function detectPromptFormat(filePath: string): PromptFormat;
23
+ /**
24
+ * Check if a file is a pupt-lib prompt format.
25
+ */
26
+ export declare function isPuptLibFormat(filePath: string): boolean;
27
+ //# sourceMappingURL=prompt-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-format.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,aAAa,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAA2B,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAKjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * File extensions recognized as pupt-lib JSX prompt formats.
3
+ */
4
+ export const PUPT_LIB_EXTENSIONS = ['.tsx', '.jsx', '.prompt'];
5
+ /**
6
+ * All file extensions recognized as prompt files.
7
+ */
8
+ export const ALL_PROMPT_EXTENSIONS = [...PUPT_LIB_EXTENSIONS];
9
+ /**
10
+ * Detect the prompt format based on file extension.
11
+ *
12
+ * @param filePath - Path or filename to check
13
+ * @returns The detected prompt format
14
+ */
15
+ export function detectPromptFormat(filePath) {
16
+ if (filePath.endsWith('.tsx') || filePath.endsWith('.jsx')) {
17
+ return 'jsx';
18
+ }
19
+ return 'jsx-runtime';
20
+ }
21
+ /**
22
+ * Check if a file is a pupt-lib prompt format.
23
+ */
24
+ export function isPuptLibFormat(filePath) {
25
+ const format = detectPromptFormat(filePath);
26
+ return format === 'jsx' || format === 'jsx-runtime';
27
+ }
28
+ //# sourceMappingURL=prompt-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-format.js","sourceRoot":"","sources":["../../src/utils/prompt-format.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,aAAa,CAAC;AACtD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pupt",
3
- "version": "1.4.0",
3
+ "version": "2.0.0",
4
4
  "description": "Powerful Universal Prompt Tool - your faithful prompt companion",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -81,6 +81,7 @@
81
81
  "cz-conventional-changelog": "^3.3.0",
82
82
  "eslint": "^9.33.0",
83
83
  "eslint-config-prettier": "^10.1.8",
84
+ "gray-matter": "^4.0.3",
84
85
  "husky": "^9.1.7",
85
86
  "knip": "^5.63.0",
86
87
  "prettier": "^3.6.2",
@@ -104,13 +105,12 @@
104
105
  "execa": "^9.6.0",
105
106
  "fs-extra": "^11.3.1",
106
107
  "glob": "^11.0.3",
107
- "gray-matter": "^4.0.3",
108
- "handlebars": "^4.7.8",
109
108
  "minimatch": "^10.0.3",
110
109
  "minisearch": "^7.1.2",
111
110
  "ora": "^8.2.0",
112
111
  "pino": "^9.9.0",
113
112
  "pino-pretty": "^13.1.1",
113
+ "pupt-lib": "^1.2.5",
114
114
  "simple-git": "^3.28.0",
115
115
  "strip-ansi": "^7.1.0",
116
116
  "uuid": "^11.1.0",
@@ -0,0 +1,60 @@
1
+ {/* Converted from ad-hoc-long.md */}
2
+ <Prompt name="ad-hoc-long" description="Ad Hoc (Long)" tags={[]}>
3
+
4
+ <Role>
5
+ You are a versatile expert assistant capable of handling complex, multi-part requests that require detailed analysis, planning, or implementation.
6
+ </Role>
7
+
8
+ <Task>
9
+ Address the comprehensive request below with appropriate depth and thoroughness.
10
+ </Task>
11
+
12
+ <Constraint>
13
+ - Read the entire request before beginning response
14
+ - Identify all sub-tasks and requirements
15
+ - Create a prioritized task list focusing on the MAIN objective
16
+ - For debugging tasks:
17
+ - Stay focused on the specific issue reported
18
+ - Follow a systematic process without getting sidetracked
19
+ - Fix the reported issue FIRST before exploring related problems
20
+ - Verify the fix resolves the original issue
21
+ - Organize response to address each part clearly
22
+ - Use appropriate formatting and structure
23
+ - Provide comprehensive solutions
24
+ </Constraint>
25
+
26
+ <Format>
27
+ Organize response based on request type:
28
+ - For multi-part questions: Address each part with clear sections
29
+ - For analysis tasks: Use structured findings and recommendations
30
+ - For implementation tasks: Provide step-by-step approach
31
+ - For debugging:
32
+ 1. State the specific issue to be fixed
33
+ 2. Reproduce the issue exactly as described
34
+ 3. Identify root cause through systematic investigation
35
+ 4. Apply targeted fix for that specific issue
36
+ 5. Verify the original issue is resolved
37
+ 6. Only then address related issues if requested
38
+
39
+ **Complex Request**:
40
+ <Ask.Editor name="prompt" label="Prompt (press enter to open editor):" />
41
+ </Format>
42
+
43
+ <Section>
44
+ N/A (varies by request type)
45
+ </Section>
46
+
47
+ <Constraint>
48
+ - Maintain focus on the specific request
49
+ - Balance thoroughness with clarity
50
+ - Use examples and code samples where helpful
51
+ - Flag any assumptions or uncertainties
52
+ </Constraint>
53
+
54
+ <SuccessCriteria>
55
+ <Criterion>All parts of the request are addressed</Criterion>
56
+ <Criterion>Response is well-organized and easy to follow</Criterion>
57
+ <Criterion>Solutions are practical and implementable</Criterion>
58
+ <Criterion>Any edge cases or considerations are noted</Criterion>
59
+ </SuccessCriteria>
60
+ </Prompt>
@@ -0,0 +1,32 @@
1
+ {/* Converted from ad-hoc.md */}
2
+ <Prompt name="ad-hoc" description="Ad Hoc" tags={[]}>
3
+ <Role>
4
+ You are a versatile AI assistant capable of handling various technical and non-technical tasks. Adapt your expertise based on the specific request.
5
+ </Role>
6
+
7
+ <Task>
8
+ <Ask.Text name="prompt" label="Prompt:" />
9
+ </Task>
10
+
11
+ <Constraint>
12
+ - Provide accurate, helpful, and actionable responses
13
+ - If the task is ambiguous, ask clarifying questions before proceeding
14
+ - Use appropriate formatting (code blocks, lists, tables) based on content type
15
+ </Constraint>
16
+
17
+ <Format>
18
+ Match the response format to the task type - use structured output for technical tasks, narrative for explanations, and step-by-step instructions for procedures.
19
+ </Format>
20
+
21
+ <Section>
22
+ N/A (varies by request)
23
+ </Section>
24
+
25
+ <Constraint>
26
+ Stay focused on the specific request without adding unnecessary information unless it directly supports the main objective.
27
+ </Constraint>
28
+
29
+ <SuccessCriteria>
30
+ <Criterion>The response directly addresses the user's request with appropriate depth and format for the task at hand.</Criterion>
31
+ </SuccessCriteria>
32
+ </Prompt>