pupt 1.2.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.
- package/LICENSE +21 -0
- package/README.md +517 -0
- package/dist/annotations/annotation-analyzer.d.ts +17 -0
- package/dist/annotations/annotation-analyzer.d.ts.map +1 -0
- package/dist/annotations/annotation-analyzer.js +145 -0
- package/dist/annotations/annotation-analyzer.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +375 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +149 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/annotate.d.ts +2 -0
- package/dist/commands/annotate.d.ts.map +1 -0
- package/dist/commands/annotate.js +223 -0
- package/dist/commands/annotate.js.map +1 -0
- package/dist/commands/base-command.d.ts +23 -0
- package/dist/commands/base-command.d.ts.map +1 -0
- package/dist/commands/base-command.js +41 -0
- package/dist/commands/base-command.js.map +1 -0
- package/dist/commands/edit.d.ts +2 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +31 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/help.d.ts +2 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +25 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/history.d.ts +9 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +232 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/init-refactored.d.ts +19 -0
- package/dist/commands/init-refactored.d.ts.map +1 -0
- package/dist/commands/init-refactored.js +141 -0
- package/dist/commands/init-refactored.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +124 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +10 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +224 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/review.d.ts +3 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +158 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/run.d.ts +28 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +340 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/config/config-manager.d.ts +19 -0
- package/dist/config/config-manager.d.ts.map +1 -0
- package/dist/config/config-manager.js +386 -0
- package/dist/config/config-manager.js.map +1 -0
- package/dist/config/migration.d.ts +11 -0
- package/dist/config/migration.d.ts.map +1 -0
- package/dist/config/migration.js +153 -0
- package/dist/config/migration.js.map +1 -0
- package/dist/history/enhanced-history-manager.d.ts +25 -0
- package/dist/history/enhanced-history-manager.d.ts.map +1 -0
- package/dist/history/enhanced-history-manager.js +88 -0
- package/dist/history/enhanced-history-manager.js.map +1 -0
- package/dist/history/history-manager.d.ts +33 -0
- package/dist/history/history-manager.d.ts.map +1 -0
- package/dist/history/history-manager.js +176 -0
- package/dist/history/history-manager.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/input-types/file-prompt.d.ts +12 -0
- package/dist/prompts/input-types/file-prompt.d.ts.map +1 -0
- package/dist/prompts/input-types/file-prompt.js +166 -0
- package/dist/prompts/input-types/file-prompt.js.map +1 -0
- package/dist/prompts/input-types/file-search-prompt.d.ts +12 -0
- package/dist/prompts/input-types/file-search-prompt.d.ts.map +1 -0
- package/dist/prompts/input-types/file-search-prompt.js +54 -0
- package/dist/prompts/input-types/file-search-prompt.js.map +1 -0
- package/dist/prompts/input-types/review-file-prompt.d.ts +4 -0
- package/dist/prompts/input-types/review-file-prompt.d.ts.map +1 -0
- package/dist/prompts/input-types/review-file-prompt.js +10 -0
- package/dist/prompts/input-types/review-file-prompt.js.map +1 -0
- package/dist/prompts/prompt-manager.d.ts +12 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -0
- package/dist/prompts/prompt-manager.js +102 -0
- package/dist/prompts/prompt-manager.js.map +1 -0
- package/dist/pupt-1.2.0.tgz +0 -0
- package/dist/schemas/config-schema.d.ts +1268 -0
- package/dist/schemas/config-schema.d.ts.map +1 -0
- package/dist/schemas/config-schema.js +100 -0
- package/dist/schemas/config-schema.js.map +1 -0
- package/dist/schemas/prompt-schema.d.ts +927 -0
- package/dist/schemas/prompt-schema.d.ts.map +1 -0
- package/dist/schemas/prompt-schema.js +110 -0
- package/dist/schemas/prompt-schema.js.map +1 -0
- package/dist/search/file-search-engine.d.ts +36 -0
- package/dist/search/file-search-engine.d.ts.map +1 -0
- package/dist/search/file-search-engine.js +184 -0
- package/dist/search/file-search-engine.js.map +1 -0
- package/dist/search/search-engine.d.ts +8 -0
- package/dist/search/search-engine.d.ts.map +1 -0
- package/dist/search/search-engine.js +52 -0
- package/dist/search/search-engine.js.map +1 -0
- package/dist/services/auto-annotation-service.d.ts +39 -0
- package/dist/services/auto-annotation-service.d.ts.map +1 -0
- package/dist/services/auto-annotation-service.js +203 -0
- package/dist/services/auto-annotation-service.js.map +1 -0
- package/dist/services/file-system-service.d.ts +42 -0
- package/dist/services/file-system-service.d.ts.map +1 -0
- package/dist/services/file-system-service.js +269 -0
- package/dist/services/file-system-service.js.map +1 -0
- package/dist/services/git-service.d.ts +27 -0
- package/dist/services/git-service.d.ts.map +1 -0
- package/dist/services/git-service.js +157 -0
- package/dist/services/git-service.js.map +1 -0
- package/dist/services/logging-service.d.ts +50 -0
- package/dist/services/logging-service.d.ts.map +1 -0
- package/dist/services/logging-service.js +203 -0
- package/dist/services/logging-service.js.map +1 -0
- package/dist/services/output-capture-service.d.ts +25 -0
- package/dist/services/output-capture-service.d.ts.map +1 -0
- package/dist/services/output-capture-service.js +277 -0
- package/dist/services/output-capture-service.js.map +1 -0
- package/dist/services/pattern-detector.d.ts +15 -0
- package/dist/services/pattern-detector.d.ts.map +1 -0
- package/dist/services/pattern-detector.js +219 -0
- package/dist/services/pattern-detector.js.map +1 -0
- package/dist/services/prompt-service.d.ts +30 -0
- package/dist/services/prompt-service.d.ts.map +1 -0
- package/dist/services/prompt-service.js +278 -0
- package/dist/services/prompt-service.js.map +1 -0
- package/dist/services/review-data-builder.d.ts +22 -0
- package/dist/services/review-data-builder.d.ts.map +1 -0
- package/dist/services/review-data-builder.js +263 -0
- package/dist/services/review-data-builder.js.map +1 -0
- package/dist/services/suggestion-generator.d.ts +11 -0
- package/dist/services/suggestion-generator.d.ts.map +1 -0
- package/dist/services/suggestion-generator.js +146 -0
- package/dist/services/suggestion-generator.js.map +1 -0
- package/dist/services/ui-service.d.ts +49 -0
- package/dist/services/ui-service.d.ts.map +1 -0
- package/dist/services/ui-service.js +183 -0
- package/dist/services/ui-service.js.map +1 -0
- package/dist/template/helpers/index.d.ts +4 -0
- package/dist/template/helpers/index.d.ts.map +1 -0
- package/dist/template/helpers/index.js +132 -0
- package/dist/template/helpers/index.js.map +1 -0
- package/dist/template/template-context.d.ts +26 -0
- package/dist/template/template-context.d.ts.map +1 -0
- package/dist/template/template-context.js +65 -0
- package/dist/template/template-context.js.map +1 -0
- package/dist/template/template-engine.d.ts +13 -0
- package/dist/template/template-engine.d.ts.map +1 -0
- package/dist/template/template-engine.js +83 -0
- package/dist/template/template-engine.js.map +1 -0
- package/dist/types/annotations.d.ts +49 -0
- package/dist/types/annotations.d.ts.map +1 -0
- package/dist/types/annotations.js +2 -0
- package/dist/types/annotations.js.map +1 -0
- package/dist/types/config.d.ts +49 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +8 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/history.d.ts +32 -0
- package/dist/types/history.d.ts.map +1 -0
- package/dist/types/history.js +2 -0
- package/dist/types/history.js.map +1 -0
- package/dist/types/patterns.d.ts +24 -0
- package/dist/types/patterns.d.ts.map +1 -0
- package/dist/types/patterns.js +2 -0
- package/dist/types/patterns.js.map +1 -0
- package/dist/types/prompt.d.ts +23 -0
- package/dist/types/prompt.d.ts.map +1 -0
- package/dist/types/prompt.js +2 -0
- package/dist/types/prompt.js.map +1 -0
- package/dist/types/review.d.ts +76 -0
- package/dist/types/review.d.ts.map +1 -0
- package/dist/types/review.js +2 -0
- package/dist/types/review.js.map +1 -0
- package/dist/ui/console-ui.d.ts +35 -0
- package/dist/ui/console-ui.d.ts.map +1 -0
- package/dist/ui/console-ui.js +83 -0
- package/dist/ui/console-ui.js.map +1 -0
- package/dist/ui/interactive-search.d.ts +8 -0
- package/dist/ui/interactive-search.d.ts.map +1 -0
- package/dist/ui/interactive-search.js +29 -0
- package/dist/ui/interactive-search.js.map +1 -0
- package/dist/utils/date-formatter.d.ts +10 -0
- package/dist/utils/date-formatter.d.ts.map +1 -0
- package/dist/utils/date-formatter.js +43 -0
- package/dist/utils/date-formatter.js.map +1 -0
- package/dist/utils/editor.d.ts +13 -0
- package/dist/utils/editor.d.ts.map +1 -0
- package/dist/utils/editor.js +62 -0
- package/dist/utils/editor.js.map +1 -0
- package/dist/utils/errors.d.ts +55 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +248 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/file-utils.d.ts +18 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +88 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/git-info.d.ts +8 -0
- package/dist/utils/git-info.d.ts.map +1 -0
- package/dist/utils/git-info.js +41 -0
- package/dist/utils/git-info.js.map +1 -0
- package/dist/utils/gitignore.d.ts +10 -0
- package/dist/utils/gitignore.d.ts.map +1 -0
- package/dist/utils/gitignore.js +72 -0
- package/dist/utils/gitignore.js.map +1 -0
- package/dist/utils/handlebars-extensions.d.ts +4 -0
- package/dist/utils/handlebars-extensions.d.ts.map +1 -0
- package/dist/utils/handlebars-extensions.js +87 -0
- package/dist/utils/handlebars-extensions.js.map +1 -0
- package/dist/utils/logger.d.ts +39 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +143 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/platform.d.ts +9 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +44 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/security.d.ts +5 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +57 -0
- package/dist/utils/security.js.map +1 -0
- package/dist/utils/tool-detection.d.ts +11 -0
- package/dist/utils/tool-detection.d.ts.map +1 -0
- package/dist/utils/tool-detection.js +32 -0
- package/dist/utils/tool-detection.js.map +1 -0
- package/dist/utils/trie.d.ts +18 -0
- package/dist/utils/trie.d.ts.map +1 -0
- package/dist/utils/trie.js +84 -0
- package/dist/utils/trie.js.map +1 -0
- package/package.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand, CommandContext, CommandOptions } from './base-command.js';
|
|
2
|
+
interface InitInput {
|
|
3
|
+
overwrite: boolean;
|
|
4
|
+
promptDir: string;
|
|
5
|
+
enableHistory: boolean;
|
|
6
|
+
historyDir?: string;
|
|
7
|
+
annotationDir?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class InitCommand extends BaseCommand<InitInput, void> {
|
|
10
|
+
private configPath;
|
|
11
|
+
constructor(context: CommandContext, options?: CommandOptions);
|
|
12
|
+
protected get name(): string;
|
|
13
|
+
protected validatePreconditions(): Promise<void>;
|
|
14
|
+
protected collectInput(): Promise<InitInput>;
|
|
15
|
+
protected performAction(input: InitInput): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export declare function initCommand(context?: CommandContext, options?: CommandOptions): Promise<void>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=init-refactored.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-refactored.d.ts","sourceRoot":"","sources":["../../src/commands/init-refactored.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKhF,UAAU,SAAS;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC;IAC3D,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB;IAKjE,SAAS,KAAK,IAAI,IAAI,MAAM,CAE3B;cAEe,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;cAStC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;cA2DlC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAwD/D;AAGD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAenG"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { input, confirm } from '@inquirer/prompts';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { BaseCommand } from './base-command.js';
|
|
5
|
+
import { DEFAULT_CONFIG } from '../types/config.js';
|
|
6
|
+
import { isGitRepository, addToGitignore } from '../utils/gitignore.js';
|
|
7
|
+
import { errors } from '../utils/errors.js';
|
|
8
|
+
export class InitCommand extends BaseCommand {
|
|
9
|
+
configPath;
|
|
10
|
+
constructor(context, options = {}) {
|
|
11
|
+
super(context, options);
|
|
12
|
+
this.configPath = path.join(process.cwd(), '.pt-config.json');
|
|
13
|
+
}
|
|
14
|
+
get name() {
|
|
15
|
+
return 'init';
|
|
16
|
+
}
|
|
17
|
+
async validatePreconditions() {
|
|
18
|
+
// Check write permissions in current directory
|
|
19
|
+
try {
|
|
20
|
+
await fs.access(process.cwd(), fs.constants.W_OK);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
throw errors.permissionDenied(process.cwd());
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async collectInput() {
|
|
27
|
+
// Check for existing config
|
|
28
|
+
let overwrite = true;
|
|
29
|
+
if (await fs.pathExists(this.configPath)) {
|
|
30
|
+
overwrite = await confirm({
|
|
31
|
+
message: 'Config file already exists. Overwrite?',
|
|
32
|
+
default: false
|
|
33
|
+
});
|
|
34
|
+
if (!overwrite) {
|
|
35
|
+
return {
|
|
36
|
+
overwrite: false,
|
|
37
|
+
promptDir: '',
|
|
38
|
+
enableHistory: false
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Prompt for configuration
|
|
43
|
+
const promptDir = await input({
|
|
44
|
+
message: 'Where should prompts be stored?',
|
|
45
|
+
default: './.prompts'
|
|
46
|
+
});
|
|
47
|
+
const enableHistory = await confirm({
|
|
48
|
+
message: 'Enable prompt history?',
|
|
49
|
+
default: true
|
|
50
|
+
});
|
|
51
|
+
let historyDir;
|
|
52
|
+
let annotationDir;
|
|
53
|
+
if (enableHistory) {
|
|
54
|
+
historyDir = await input({
|
|
55
|
+
message: 'Where should history be stored?',
|
|
56
|
+
default: './.pthistory'
|
|
57
|
+
});
|
|
58
|
+
const enableAnnotations = await confirm({
|
|
59
|
+
message: 'Enable history annotations?',
|
|
60
|
+
default: true
|
|
61
|
+
});
|
|
62
|
+
if (enableAnnotations) {
|
|
63
|
+
annotationDir = await input({
|
|
64
|
+
message: 'Where should annotations be stored?',
|
|
65
|
+
default: './.pthistory'
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
overwrite,
|
|
71
|
+
promptDir,
|
|
72
|
+
enableHistory,
|
|
73
|
+
historyDir,
|
|
74
|
+
annotationDir
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
async performAction(input) {
|
|
78
|
+
if (!input.overwrite) {
|
|
79
|
+
this.context.ui.info('Configuration cancelled.');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// Create directories
|
|
83
|
+
const dirsToCreate = [input.promptDir];
|
|
84
|
+
if (input.historyDir)
|
|
85
|
+
dirsToCreate.push(input.historyDir);
|
|
86
|
+
if (input.annotationDir && input.annotationDir !== input.historyDir) {
|
|
87
|
+
dirsToCreate.push(input.annotationDir);
|
|
88
|
+
}
|
|
89
|
+
for (const dir of dirsToCreate) {
|
|
90
|
+
if (!dir)
|
|
91
|
+
continue;
|
|
92
|
+
const resolvedDir = dir.startsWith('~')
|
|
93
|
+
? path.join(process.env.HOME || '', dir.slice(2))
|
|
94
|
+
: path.resolve(dir);
|
|
95
|
+
await fs.ensureDir(resolvedDir);
|
|
96
|
+
}
|
|
97
|
+
// Generate config
|
|
98
|
+
const config = {
|
|
99
|
+
promptDirs: [input.promptDir],
|
|
100
|
+
...(input.historyDir && { historyDir: input.historyDir }),
|
|
101
|
+
...(input.annotationDir && { annotationDir: input.annotationDir }),
|
|
102
|
+
...DEFAULT_CONFIG
|
|
103
|
+
};
|
|
104
|
+
// Save config
|
|
105
|
+
await fs.writeJson(this.configPath, config, { spaces: 2 });
|
|
106
|
+
// Add to .gitignore if in git repository
|
|
107
|
+
if (await isGitRepository()) {
|
|
108
|
+
const entriesToIgnore = [];
|
|
109
|
+
// Add config backup file
|
|
110
|
+
entriesToIgnore.push('.pt-config.json.backup');
|
|
111
|
+
// Add history directory if it's a local directory
|
|
112
|
+
if (input.historyDir && !path.isAbsolute(input.historyDir) && !input.historyDir.startsWith('~')) {
|
|
113
|
+
entriesToIgnore.push(input.historyDir);
|
|
114
|
+
}
|
|
115
|
+
// Add git prompts directory
|
|
116
|
+
const gitPromptDir = config.gitPromptDir || DEFAULT_CONFIG.gitPromptDir || '.git-prompts';
|
|
117
|
+
entriesToIgnore.push(gitPromptDir);
|
|
118
|
+
// Add all entries to .gitignore
|
|
119
|
+
for (const entry of entriesToIgnore) {
|
|
120
|
+
await addToGitignore(entry);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.context.ui.success('Configuration created successfully!');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Export factory function for backward compatibility
|
|
127
|
+
export async function initCommand(context, options) {
|
|
128
|
+
// If no context provided, create a minimal one
|
|
129
|
+
const defaultConfig = {
|
|
130
|
+
promptDirs: ['./.prompts'],
|
|
131
|
+
...DEFAULT_CONFIG
|
|
132
|
+
};
|
|
133
|
+
const defaultContext = context || {
|
|
134
|
+
config: defaultConfig,
|
|
135
|
+
ui: (await import('../ui/console-ui.js')).ui,
|
|
136
|
+
logger: (await import('../services/logging-service.js')).createLogger(defaultConfig)
|
|
137
|
+
};
|
|
138
|
+
const command = new InitCommand(defaultContext, options);
|
|
139
|
+
return command.execute();
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=init-refactored.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-refactored.js","sourceRoot":"","sources":["../../src/commands/init-refactored.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmIjD"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { input, confirm, select } from '@inquirer/prompts';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { DEFAULT_CONFIG } from '../types/config.js';
|
|
6
|
+
import { isGitRepository, addToGitignore } from '../utils/gitignore.js';
|
|
7
|
+
import { detectInstalledTools, getToolByName } from '../utils/tool-detection.js';
|
|
8
|
+
import { logger } from '../utils/logger.js';
|
|
9
|
+
export async function initCommand() {
|
|
10
|
+
// Check for existing config
|
|
11
|
+
const configPath = path.join(process.cwd(), '.pt-config.json');
|
|
12
|
+
if (await fs.pathExists(configPath)) {
|
|
13
|
+
const overwrite = await confirm({
|
|
14
|
+
message: 'Config file already exists. Overwrite?',
|
|
15
|
+
default: false
|
|
16
|
+
});
|
|
17
|
+
if (!overwrite)
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// Prompt for configuration
|
|
21
|
+
const promptDir = await input({
|
|
22
|
+
message: 'Where should prompts be stored?',
|
|
23
|
+
default: './.prompts'
|
|
24
|
+
});
|
|
25
|
+
const enableHistory = await confirm({
|
|
26
|
+
message: 'Enable prompt history?',
|
|
27
|
+
default: true
|
|
28
|
+
});
|
|
29
|
+
let historyDir;
|
|
30
|
+
let annotationDir;
|
|
31
|
+
if (enableHistory) {
|
|
32
|
+
historyDir = await input({
|
|
33
|
+
message: 'Where should history be stored?',
|
|
34
|
+
default: './.pthistory'
|
|
35
|
+
});
|
|
36
|
+
const enableAnnotations = await confirm({
|
|
37
|
+
message: 'Enable history annotations?',
|
|
38
|
+
default: true
|
|
39
|
+
});
|
|
40
|
+
if (enableAnnotations) {
|
|
41
|
+
annotationDir = await input({
|
|
42
|
+
message: 'Where should annotations be stored?',
|
|
43
|
+
default: './.pthistory'
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Create directories
|
|
48
|
+
const dirsToCreate = [promptDir];
|
|
49
|
+
if (historyDir)
|
|
50
|
+
dirsToCreate.push(historyDir);
|
|
51
|
+
if (annotationDir && annotationDir !== historyDir)
|
|
52
|
+
dirsToCreate.push(annotationDir);
|
|
53
|
+
for (const dir of dirsToCreate) {
|
|
54
|
+
if (!dir)
|
|
55
|
+
continue; // Skip undefined or empty directories
|
|
56
|
+
const resolvedDir = dir.startsWith('~')
|
|
57
|
+
? path.join(process.env.HOME || '', dir.slice(2))
|
|
58
|
+
: path.resolve(dir);
|
|
59
|
+
await fs.ensureDir(resolvedDir);
|
|
60
|
+
}
|
|
61
|
+
// Detect installed tools and prompt for default command
|
|
62
|
+
const installedTools = detectInstalledTools();
|
|
63
|
+
let selectedTool;
|
|
64
|
+
let defaultCmd;
|
|
65
|
+
let defaultCmdArgs;
|
|
66
|
+
let defaultCmdOptions;
|
|
67
|
+
let autoRun = false; // Default to false
|
|
68
|
+
if (installedTools.length > 0) {
|
|
69
|
+
const toolChoices = [
|
|
70
|
+
...installedTools.map(tool => ({
|
|
71
|
+
name: tool.displayName,
|
|
72
|
+
value: tool.name
|
|
73
|
+
})),
|
|
74
|
+
{ name: 'None', value: 'none' }
|
|
75
|
+
];
|
|
76
|
+
selectedTool = await select({
|
|
77
|
+
message: 'Select a default AI tool to use with prompts:',
|
|
78
|
+
choices: toolChoices
|
|
79
|
+
});
|
|
80
|
+
if (selectedTool !== 'none') {
|
|
81
|
+
const toolConfig = getToolByName(selectedTool);
|
|
82
|
+
if (toolConfig) {
|
|
83
|
+
defaultCmd = toolConfig.command;
|
|
84
|
+
defaultCmdArgs = toolConfig.defaultArgs;
|
|
85
|
+
defaultCmdOptions = toolConfig.defaultOptions;
|
|
86
|
+
autoRun = true; // Set autoRun to true when a tool is selected
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Generate config
|
|
91
|
+
// Create base config from DEFAULT_CONFIG, excluding tool-specific settings
|
|
92
|
+
const { defaultCmd: _, defaultCmdArgs: __, defaultCmdOptions: ___, autoRun: ____, ...baseDefaults } = DEFAULT_CONFIG;
|
|
93
|
+
const config = {
|
|
94
|
+
...baseDefaults,
|
|
95
|
+
promptDirs: [promptDir],
|
|
96
|
+
...(historyDir && { historyDir }),
|
|
97
|
+
...(annotationDir && { annotationDir }),
|
|
98
|
+
...(defaultCmd && { defaultCmd }),
|
|
99
|
+
...(defaultCmdArgs && defaultCmdArgs.length > 0 && { defaultCmdArgs }),
|
|
100
|
+
...(defaultCmdOptions && Object.keys(defaultCmdOptions).length > 0 && { defaultCmdOptions }),
|
|
101
|
+
autoRun // Always set autoRun based on tool selection
|
|
102
|
+
};
|
|
103
|
+
// Save config
|
|
104
|
+
await fs.writeJson(configPath, config, { spaces: 2 });
|
|
105
|
+
// Add to .gitignore if in git repository
|
|
106
|
+
if (await isGitRepository()) {
|
|
107
|
+
const entriesToIgnore = [];
|
|
108
|
+
// Add config backup file
|
|
109
|
+
entriesToIgnore.push('.pt-config.json.backup');
|
|
110
|
+
// Add history directory if it's a local directory
|
|
111
|
+
if (historyDir && !path.isAbsolute(historyDir) && !historyDir.startsWith('~')) {
|
|
112
|
+
entriesToIgnore.push(historyDir);
|
|
113
|
+
}
|
|
114
|
+
// Add git prompts directory
|
|
115
|
+
const gitPromptDir = config.gitPromptDir || DEFAULT_CONFIG.gitPromptDir || '.git-prompts';
|
|
116
|
+
entriesToIgnore.push(gitPromptDir);
|
|
117
|
+
// Add all entries to .gitignore
|
|
118
|
+
for (const entry of entriesToIgnore) {
|
|
119
|
+
await addToGitignore(entry);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
logger.log(chalk.green('✓ Configuration created successfully!'));
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SimpleGit } from 'simple-git';
|
|
2
|
+
export declare function validateGitUrl(url: string): void;
|
|
3
|
+
export declare function extractRepoName(url: string): string;
|
|
4
|
+
export declare function installFromGit(url: string, git?: SimpleGit): Promise<void>;
|
|
5
|
+
export declare function isNpmPackage(source: string): boolean;
|
|
6
|
+
export declare function validateNpmPackage(packageName: string): void;
|
|
7
|
+
export declare function isNpmProject(): Promise<boolean>;
|
|
8
|
+
export declare function installFromNpm(packageName: string): Promise<void>;
|
|
9
|
+
export declare function installCommand(source: string): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAKA,OAAkB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUlD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAwBhD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA6BnD;AAcD,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,SAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC7F;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CA8BpD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ5D;AAGD,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAOrD;AAGD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDvE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BlE"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import { ConfigManager } from '../config/config-manager.js';
|
|
4
|
+
import fs2 from 'fs-extra';
|
|
5
|
+
import simpleGit from 'simple-git';
|
|
6
|
+
import { execa } from 'execa';
|
|
7
|
+
import { isGitRepository, addToGitignore } from '../utils/gitignore.js';
|
|
8
|
+
import { logger } from '../utils/logger.js';
|
|
9
|
+
async function saveConfig(config) {
|
|
10
|
+
const configPath = path.join(process.cwd(), '.pt-config.json');
|
|
11
|
+
await fs2.writeJson(configPath, config, { spaces: 2 });
|
|
12
|
+
}
|
|
13
|
+
export function validateGitUrl(url) {
|
|
14
|
+
if (!url || typeof url !== 'string' || url.trim() === '') {
|
|
15
|
+
throw new Error('Invalid URL: URL cannot be empty');
|
|
16
|
+
}
|
|
17
|
+
// Support common git URL formats
|
|
18
|
+
const gitUrlPatterns = [
|
|
19
|
+
// HTTPS URLs
|
|
20
|
+
/^https:\/\/[a-zA-Z0-9.-]+\/[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+(?:\.git)?$/,
|
|
21
|
+
// SSH URLs (git@)
|
|
22
|
+
/^git@[a-zA-Z0-9.-]+:[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+(?:\.git)?$/,
|
|
23
|
+
// SSH URLs (ssh://)
|
|
24
|
+
/^ssh:\/\/git@[a-zA-Z0-9.-]+\/[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+(?:\.git)?$/,
|
|
25
|
+
// Git protocol
|
|
26
|
+
/^git:\/\/[a-zA-Z0-9.-]+\/[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+(?:\.git)?$/,
|
|
27
|
+
// File protocol (for testing and local repos)
|
|
28
|
+
/^file:\/\/\/.+$/
|
|
29
|
+
];
|
|
30
|
+
const isValidGitUrl = gitUrlPatterns.some(pattern => pattern.test(url));
|
|
31
|
+
if (!isValidGitUrl) {
|
|
32
|
+
throw new Error(`Invalid git URL format: ${url}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function extractRepoName(url) {
|
|
36
|
+
// Remove .git suffix if present
|
|
37
|
+
const cleanUrl = url.replace(/\.git$/, '');
|
|
38
|
+
// Extract repo name from different URL formats
|
|
39
|
+
let repoName;
|
|
40
|
+
if (url.includes('://')) {
|
|
41
|
+
// HTTPS, git://, or file:// URLs
|
|
42
|
+
const parts = cleanUrl.split('/');
|
|
43
|
+
repoName = parts[parts.length - 1];
|
|
44
|
+
// For file:// URLs that might end with a slash
|
|
45
|
+
if (!repoName && parts.length > 1) {
|
|
46
|
+
repoName = parts[parts.length - 2];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (url.startsWith('git@')) {
|
|
50
|
+
// SSH URLs (git@host:user/repo)
|
|
51
|
+
const parts = cleanUrl.split(':')[1].split('/');
|
|
52
|
+
repoName = parts[parts.length - 1];
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new Error(`Cannot extract repository name from URL: ${url}`);
|
|
56
|
+
}
|
|
57
|
+
if (!repoName) {
|
|
58
|
+
throw new Error(`Cannot extract repository name from URL: ${url}`);
|
|
59
|
+
}
|
|
60
|
+
return repoName;
|
|
61
|
+
}
|
|
62
|
+
async function getGitInstallPath(repoName) {
|
|
63
|
+
const config = await ConfigManager.load();
|
|
64
|
+
const gitPromptDir = config.gitPromptDir || '.git-prompts';
|
|
65
|
+
const installPath = path.join(gitPromptDir, repoName);
|
|
66
|
+
// Ensure parent directory exists
|
|
67
|
+
await fs.mkdir(gitPromptDir, { recursive: true });
|
|
68
|
+
return installPath;
|
|
69
|
+
}
|
|
70
|
+
export async function installFromGit(url, git = simpleGit()) {
|
|
71
|
+
// Validate URL
|
|
72
|
+
validateGitUrl(url);
|
|
73
|
+
// Extract repository name
|
|
74
|
+
const repoName = extractRepoName(url);
|
|
75
|
+
// Get installation path
|
|
76
|
+
const installPath = await getGitInstallPath(repoName);
|
|
77
|
+
logger.log(`Installing prompts from ${url}...`);
|
|
78
|
+
// Clone repository with depth 1
|
|
79
|
+
try {
|
|
80
|
+
await git.clone(url, installPath, ['--depth', '1']);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
84
|
+
throw new Error(`Failed to clone repository: ${errorMessage}`);
|
|
85
|
+
}
|
|
86
|
+
// Update .gitignore if in git repository
|
|
87
|
+
if (await isGitRepository()) {
|
|
88
|
+
const config = await ConfigManager.load();
|
|
89
|
+
await addToGitignore(config.gitPromptDir || '.git-prompts');
|
|
90
|
+
}
|
|
91
|
+
// Update config with new prompt directory
|
|
92
|
+
const config = await ConfigManager.load();
|
|
93
|
+
const promptPath = path.join(installPath, 'prompts');
|
|
94
|
+
if (!config.promptDirs.includes(promptPath)) {
|
|
95
|
+
config.promptDirs.push(promptPath);
|
|
96
|
+
await saveConfig(config);
|
|
97
|
+
logger.log(`Successfully installed prompts to ${promptPath}`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
logger.log(`Prompts already installed at ${promptPath}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// NPM Package Detection
|
|
104
|
+
export function isNpmPackage(source) {
|
|
105
|
+
if (!source || typeof source !== 'string' || source.trim() === '') {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
// Reject obvious non-package patterns
|
|
109
|
+
if (source.includes('://') || // URLs
|
|
110
|
+
source.includes(':') && source.includes('@') || // SSH URLs
|
|
111
|
+
source.startsWith('./') || source.startsWith('../') || // Relative paths
|
|
112
|
+
source.startsWith('/') || // Absolute paths
|
|
113
|
+
source.includes('\\') || // Windows paths
|
|
114
|
+
source.includes(' ') || // Spaces
|
|
115
|
+
source.startsWith('-') || source.startsWith('.') || source.startsWith('_')) { // Invalid starts
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
// Check for valid npm package name patterns
|
|
119
|
+
// Regular packages: alphanumeric, dash, underscore, dot
|
|
120
|
+
// Scoped packages: @scope/package
|
|
121
|
+
const npmPackagePattern = /^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/i;
|
|
122
|
+
// Additional validation for scoped packages
|
|
123
|
+
if (source.startsWith('@')) {
|
|
124
|
+
const parts = source.split('/');
|
|
125
|
+
if (parts.length !== 2 || parts[0] === '@' || parts[1] === '') {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return npmPackagePattern.test(source);
|
|
130
|
+
}
|
|
131
|
+
export function validateNpmPackage(packageName) {
|
|
132
|
+
if (!packageName || packageName.trim() === '') {
|
|
133
|
+
throw new Error('Package name cannot be empty');
|
|
134
|
+
}
|
|
135
|
+
if (!isNpmPackage(packageName)) {
|
|
136
|
+
throw new Error(`Invalid npm package name: ${packageName}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Check if current directory is an npm project
|
|
140
|
+
export async function isNpmProject() {
|
|
141
|
+
try {
|
|
142
|
+
await fs.access('package.json');
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Install from NPM
|
|
150
|
+
export async function installFromNpm(packageName) {
|
|
151
|
+
// Validate package name
|
|
152
|
+
validateNpmPackage(packageName);
|
|
153
|
+
// Check if we're in an npm project
|
|
154
|
+
if (!await isNpmProject()) {
|
|
155
|
+
throw new Error('NPM package installation requires a package.json file. Run "npm init" first.');
|
|
156
|
+
}
|
|
157
|
+
logger.log(`Installing npm package ${packageName}...`);
|
|
158
|
+
try {
|
|
159
|
+
// Install the package using execa
|
|
160
|
+
await execa('npm', ['install', packageName], {
|
|
161
|
+
stdio: 'inherit' // Show npm output to user
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
166
|
+
throw new Error(`Failed to install npm package: ${errorMessage}`);
|
|
167
|
+
}
|
|
168
|
+
// Get installed package path and metadata
|
|
169
|
+
const packagePath = path.join('node_modules', packageName);
|
|
170
|
+
let promptDir = 'prompts'; // Default prompt directory
|
|
171
|
+
try {
|
|
172
|
+
// Read package.json to check for promptDir field
|
|
173
|
+
const packageJsonPath = path.join(packagePath, 'package.json');
|
|
174
|
+
const packageJsonContent = await fs.readFile(packageJsonPath, 'utf-8');
|
|
175
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
176
|
+
if (packageJson.promptDir) {
|
|
177
|
+
promptDir = packageJson.promptDir;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// If we can't read package.json, use default
|
|
182
|
+
}
|
|
183
|
+
// Update config with new prompt directory
|
|
184
|
+
const config = await ConfigManager.load();
|
|
185
|
+
const fullPromptPath = path.join(packagePath, promptDir);
|
|
186
|
+
if (!config.promptDirs.includes(fullPromptPath)) {
|
|
187
|
+
config.promptDirs.push(fullPromptPath);
|
|
188
|
+
await saveConfig(config);
|
|
189
|
+
logger.log(`Successfully installed prompts from ${packageName}`);
|
|
190
|
+
logger.log(`Added prompt directory: ${fullPromptPath}`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
logger.log(`Prompts from ${packageName} already configured at ${fullPromptPath}`);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
export async function installCommand(source) {
|
|
197
|
+
if (!source) {
|
|
198
|
+
throw new Error('Please provide a git URL or npm package name to install from');
|
|
199
|
+
}
|
|
200
|
+
// Try npm first (since it's simpler to detect)
|
|
201
|
+
if (isNpmPackage(source)) {
|
|
202
|
+
await installFromNpm(source);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
// Try git URL
|
|
206
|
+
try {
|
|
207
|
+
validateGitUrl(source);
|
|
208
|
+
await installFromGit(source);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
212
|
+
if (errorMessage.includes('Invalid git URL')) {
|
|
213
|
+
logger.error(`Error: "${source}" is neither a valid git URL nor an npm package name`);
|
|
214
|
+
logger.error('\nExamples of valid sources:');
|
|
215
|
+
logger.error(' Git: https://github.com/user/repo');
|
|
216
|
+
logger.error(' NPM: @org/package or package-name');
|
|
217
|
+
throw new Error(`Invalid installation source: ${source}`);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
throw error;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAKpE,wBAAsB,aAAa,CACjC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|