@pimzino/sgrep 1.3.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/README.md +413 -0
- package/build/.claude-plugin/marketplace.json +20 -0
- package/build/commands/ask.d.ts +11 -0
- package/build/commands/ask.d.ts.map +1 -0
- package/build/commands/ask.js +65 -0
- package/build/commands/ask.js.map +1 -0
- package/build/commands/enhance.d.ts +16 -0
- package/build/commands/enhance.d.ts.map +1 -0
- package/build/commands/enhance.js +107 -0
- package/build/commands/enhance.js.map +1 -0
- package/build/commands/search.d.ts +12 -0
- package/build/commands/search.d.ts.map +1 -0
- package/build/commands/search.js +65 -0
- package/build/commands/search.js.map +1 -0
- package/build/commands/watch.d.ts +13 -0
- package/build/commands/watch.d.ts.map +1 -0
- package/build/commands/watch.js +179 -0
- package/build/commands/watch.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +124 -0
- package/build/index.js.map +1 -0
- package/build/install/claude-code.d.ts +10 -0
- package/build/install/claude-code.d.ts.map +1 -0
- package/build/install/claude-code.js +255 -0
- package/build/install/claude-code.js.map +1 -0
- package/build/install/codex.d.ts +4 -0
- package/build/install/codex.d.ts.map +1 -0
- package/build/install/codex.js +123 -0
- package/build/install/codex.js.map +1 -0
- package/build/install/cursor.d.ts +4 -0
- package/build/install/cursor.d.ts.map +1 -0
- package/build/install/cursor.js +91 -0
- package/build/install/cursor.js.map +1 -0
- package/build/install/droid.d.ts +4 -0
- package/build/install/droid.d.ts.map +1 -0
- package/build/install/droid.js +226 -0
- package/build/install/droid.js.map +1 -0
- package/build/install/opencode.d.ts +4 -0
- package/build/install/opencode.d.ts.map +1 -0
- package/build/install/opencode.js +276 -0
- package/build/install/opencode.js.map +1 -0
- package/build/plugins/sgrep/.claude-plugin/plugin.json +9 -0
- package/build/plugins/sgrep/hooks/hooks.json +39 -0
- package/build/plugins/sgrep/hooks/sgrep_enhance.js +160 -0
- package/build/plugins/sgrep/hooks/sgrep_watch.js +240 -0
- package/build/plugins/sgrep/hooks/sgrep_watch_kill.js +158 -0
- package/build/plugins/sgrep/skills/sgrep/SKILL.md +97 -0
- package/build/utils/config.d.ts +26 -0
- package/build/utils/config.d.ts.map +1 -0
- package/build/utils/config.js +106 -0
- package/build/utils/config.js.map +1 -0
- package/build/utils/context-manager.d.ts +33 -0
- package/build/utils/context-manager.d.ts.map +1 -0
- package/build/utils/context-manager.js +244 -0
- package/build/utils/context-manager.js.map +1 -0
- package/build/utils/context.d.ts +25 -0
- package/build/utils/context.d.ts.map +1 -0
- package/build/utils/context.js +132 -0
- package/build/utils/context.js.map +1 -0
- package/build/utils/file-walker.d.ts +20 -0
- package/build/utils/file-walker.d.ts.map +1 -0
- package/build/utils/file-walker.js +239 -0
- package/build/utils/file-walker.js.map +1 -0
- package/build/utils/output.d.ts +38 -0
- package/build/utils/output.d.ts.map +1 -0
- package/build/utils/output.js +150 -0
- package/build/utils/output.js.map +1 -0
- package/build/utils/prompt-parser.d.ts +12 -0
- package/build/utils/prompt-parser.d.ts.map +1 -0
- package/build/utils/prompt-parser.js +54 -0
- package/build/utils/prompt-parser.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as path from "path";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import { search as searchCodebase, closeContext } from "../utils/context.js";
|
|
4
|
+
import { printSearchResults, printError, debug, initOutput } from "../utils/output.js";
|
|
5
|
+
import { loadConfig, mergeWithCliOptions } from "../utils/config.js";
|
|
6
|
+
/**
|
|
7
|
+
* Execute the search command.
|
|
8
|
+
*/
|
|
9
|
+
export async function searchCommand(query, pathArg, options) {
|
|
10
|
+
// Load and merge config
|
|
11
|
+
const baseConfig = loadConfig();
|
|
12
|
+
const config = mergeWithCliOptions(baseConfig, options);
|
|
13
|
+
// Initialize output with final options
|
|
14
|
+
initOutput({
|
|
15
|
+
noColor: config.noColor,
|
|
16
|
+
json: config.outputFormat === "json",
|
|
17
|
+
debug: config.debug,
|
|
18
|
+
});
|
|
19
|
+
debug(`Query: ${query}`);
|
|
20
|
+
debug(`Options: ${JSON.stringify(options)}`);
|
|
21
|
+
debug(`Config: ${JSON.stringify(config)}`);
|
|
22
|
+
// Determine directory to search
|
|
23
|
+
let directory;
|
|
24
|
+
if (pathArg) {
|
|
25
|
+
directory = path.resolve(pathArg);
|
|
26
|
+
}
|
|
27
|
+
else if (config.defaultDir) {
|
|
28
|
+
directory = path.resolve(config.defaultDir);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
directory = process.cwd();
|
|
32
|
+
}
|
|
33
|
+
debug(`Directory: ${directory}`);
|
|
34
|
+
// Validate directory
|
|
35
|
+
if (!fs.existsSync(directory)) {
|
|
36
|
+
printError(`Directory does not exist: ${directory}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
if (!fs.statSync(directory).isDirectory()) {
|
|
40
|
+
printError(`Path is not a directory: ${directory}`);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const results = await searchCodebase(directory, query);
|
|
45
|
+
if (!results || results.trim() === "") {
|
|
46
|
+
if (config.outputFormat === "json") {
|
|
47
|
+
console.log(JSON.stringify({ type: "search", results: "", message: "No results found" }, null, 2));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.log("No results found.");
|
|
51
|
+
}
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
printSearchResults(results, config.maxResults);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
58
|
+
printError(errorMessage);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
await closeContext();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface WatchOptions {
|
|
2
|
+
dir?: string;
|
|
3
|
+
json?: boolean;
|
|
4
|
+
noColor?: boolean;
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
pidFile?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Execute the watch command - keeps index alive with file watching.
|
|
10
|
+
* Outputs index updates to console until user stops with Ctrl+C.
|
|
11
|
+
*/
|
|
12
|
+
export declare function watchCommand(pathArg: string | undefined, options: WatchOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Kf"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import * as path from "path";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import ora from "ora";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { createWatchContext, closeContext } from "../utils/context.js";
|
|
6
|
+
import { printError, initOutput } from "../utils/output.js";
|
|
7
|
+
import { loadConfig, mergeWithCliOptions } from "../utils/config.js";
|
|
8
|
+
/**
|
|
9
|
+
* Format a timestamp for log output
|
|
10
|
+
*/
|
|
11
|
+
function timestamp() {
|
|
12
|
+
return new Date().toLocaleTimeString();
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Execute the watch command - keeps index alive with file watching.
|
|
16
|
+
* Outputs index updates to console until user stops with Ctrl+C.
|
|
17
|
+
*/
|
|
18
|
+
export async function watchCommand(pathArg, options) {
|
|
19
|
+
// Load and merge config
|
|
20
|
+
const baseConfig = loadConfig();
|
|
21
|
+
const config = mergeWithCliOptions(baseConfig, options);
|
|
22
|
+
const useJson = config.outputFormat === "json";
|
|
23
|
+
const useColor = !config.noColor;
|
|
24
|
+
// Initialize output with final options
|
|
25
|
+
initOutput({
|
|
26
|
+
noColor: config.noColor,
|
|
27
|
+
json: useJson,
|
|
28
|
+
debug: config.debug,
|
|
29
|
+
});
|
|
30
|
+
// Write PID to file if requested (for daemon management)
|
|
31
|
+
const pidFile = options.pidFile;
|
|
32
|
+
if (pidFile) {
|
|
33
|
+
try {
|
|
34
|
+
fs.writeFileSync(pidFile, String(process.pid));
|
|
35
|
+
if (config.debug) {
|
|
36
|
+
console.error(`[debug] Wrote PID ${process.pid} to ${pidFile}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
41
|
+
console.error(`Warning: Failed to write PID file: ${errorMessage}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Determine directory to watch
|
|
45
|
+
let directory;
|
|
46
|
+
if (pathArg) {
|
|
47
|
+
directory = path.resolve(pathArg);
|
|
48
|
+
}
|
|
49
|
+
else if (config.defaultDir) {
|
|
50
|
+
directory = path.resolve(config.defaultDir);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
directory = process.cwd();
|
|
54
|
+
}
|
|
55
|
+
// Validate directory
|
|
56
|
+
if (!fs.existsSync(directory)) {
|
|
57
|
+
printError(`Directory does not exist: ${directory}`);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
if (!fs.statSync(directory).isDirectory()) {
|
|
61
|
+
printError(`Path is not a directory: ${directory}`);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Handle index update events - output to console
|
|
66
|
+
*/
|
|
67
|
+
function handleIndexUpdate(event) {
|
|
68
|
+
const { type, files, totalIndexed } = event;
|
|
69
|
+
if (useJson) {
|
|
70
|
+
console.log(JSON.stringify({
|
|
71
|
+
timestamp: new Date().toISOString(),
|
|
72
|
+
type,
|
|
73
|
+
files,
|
|
74
|
+
totalIndexed,
|
|
75
|
+
}));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const time = useColor ? chalk.gray(`[${timestamp()}]`) : `[${timestamp()}]`;
|
|
79
|
+
const count = useColor ? chalk.cyan(`(${totalIndexed} total)`) : `(${totalIndexed} total)`;
|
|
80
|
+
for (const file of files) {
|
|
81
|
+
let icon;
|
|
82
|
+
let action;
|
|
83
|
+
let fileDisplay;
|
|
84
|
+
switch (type) {
|
|
85
|
+
case "added":
|
|
86
|
+
icon = useColor ? chalk.green("+") : "+";
|
|
87
|
+
action = useColor ? chalk.green("added") : "added";
|
|
88
|
+
fileDisplay = useColor ? chalk.white(file) : file;
|
|
89
|
+
break;
|
|
90
|
+
case "changed":
|
|
91
|
+
icon = useColor ? chalk.yellow("~") : "~";
|
|
92
|
+
action = useColor ? chalk.yellow("updated") : "updated";
|
|
93
|
+
fileDisplay = useColor ? chalk.white(file) : file;
|
|
94
|
+
break;
|
|
95
|
+
case "removed":
|
|
96
|
+
icon = useColor ? chalk.red("-") : "-";
|
|
97
|
+
action = useColor ? chalk.red("removed") : "removed";
|
|
98
|
+
fileDisplay = useColor ? chalk.gray(file) : file;
|
|
99
|
+
break;
|
|
100
|
+
default:
|
|
101
|
+
icon = " ";
|
|
102
|
+
action = type;
|
|
103
|
+
fileDisplay = file;
|
|
104
|
+
}
|
|
105
|
+
console.log(`${time} ${icon} ${action}: ${fileDisplay} ${count}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Show spinner while initializing
|
|
109
|
+
const spinner = useJson ? null : ora({
|
|
110
|
+
text: "Initializing codebase index...",
|
|
111
|
+
color: "cyan",
|
|
112
|
+
}).start();
|
|
113
|
+
try {
|
|
114
|
+
const contextManager = await createWatchContext(directory, handleIndexUpdate);
|
|
115
|
+
const fileCount = contextManager.getIndexedFileCount();
|
|
116
|
+
if (spinner) {
|
|
117
|
+
spinner.succeed(`Index ready (${fileCount} files indexed)`);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
console.log(JSON.stringify({
|
|
121
|
+
timestamp: new Date().toISOString(),
|
|
122
|
+
type: "ready",
|
|
123
|
+
totalIndexed: fileCount,
|
|
124
|
+
directory,
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
if (spinner) {
|
|
130
|
+
spinner.fail("Failed to initialize");
|
|
131
|
+
}
|
|
132
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
133
|
+
printError(errorMessage);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
// Print status
|
|
137
|
+
if (!useJson) {
|
|
138
|
+
console.log("");
|
|
139
|
+
console.log(useColor ? chalk.cyan("Watching for file changes...") : "Watching for file changes...");
|
|
140
|
+
console.log(useColor ? chalk.gray(`Directory: ${directory}`) : `Directory: ${directory}`);
|
|
141
|
+
console.log(useColor ? chalk.gray("Press Ctrl+C to stop") : "Press Ctrl+C to stop");
|
|
142
|
+
console.log("");
|
|
143
|
+
}
|
|
144
|
+
// Keep the process alive until interrupted
|
|
145
|
+
await new Promise((resolve) => {
|
|
146
|
+
const shutdown = async () => {
|
|
147
|
+
if (!useJson) {
|
|
148
|
+
console.log("");
|
|
149
|
+
console.log(useColor ? chalk.gray("Shutting down file watcher...") : "Shutting down file watcher...");
|
|
150
|
+
}
|
|
151
|
+
await closeContext();
|
|
152
|
+
// Clean up PID file if we created one
|
|
153
|
+
if (pidFile) {
|
|
154
|
+
try {
|
|
155
|
+
fs.unlinkSync(pidFile);
|
|
156
|
+
if (config.debug) {
|
|
157
|
+
console.error(`[debug] Removed PID file: ${pidFile}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
// Ignore errors - file may already be deleted
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (!useJson) {
|
|
165
|
+
console.log(useColor ? chalk.green("Done.") : "Done.");
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
console.log(JSON.stringify({
|
|
169
|
+
timestamp: new Date().toISOString(),
|
|
170
|
+
type: "shutdown",
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
resolve();
|
|
174
|
+
};
|
|
175
|
+
process.on("SIGINT", shutdown);
|
|
176
|
+
process.on("SIGTERM", shutdown);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { searchCommand } from "./commands/search.js";
|
|
4
|
+
import { askCommand } from "./commands/ask.js";
|
|
5
|
+
import { watchCommand } from "./commands/watch.js";
|
|
6
|
+
import { enhanceCommand } from "./commands/enhance.js";
|
|
7
|
+
import { installClaudeCode, uninstallClaudeCode } from "./install/claude-code.js";
|
|
8
|
+
import { installCodex, uninstallCodex } from "./install/codex.js";
|
|
9
|
+
import { installCursor, uninstallCursor } from "./install/cursor.js";
|
|
10
|
+
import { installDroid, uninstallDroid } from "./install/droid.js";
|
|
11
|
+
import { installOpencode, uninstallOpencode } from "./install/opencode.js";
|
|
12
|
+
import { closeContext } from "./utils/context.js";
|
|
13
|
+
const program = new Command();
|
|
14
|
+
program
|
|
15
|
+
.name("sgrep")
|
|
16
|
+
.description("Semantic grep - search codebases by meaning using the Augment SDK")
|
|
17
|
+
.version("1.0.0", "-v, --version", "Show version number");
|
|
18
|
+
// Global options
|
|
19
|
+
program
|
|
20
|
+
.option("-d, --dir <path>", "Directory to search (default: current directory)")
|
|
21
|
+
.option("-j, --json", "Output results as JSON")
|
|
22
|
+
.option("--no-color", "Disable colored output")
|
|
23
|
+
.option("--debug", "Enable verbose debug logging");
|
|
24
|
+
// Search command (also the default action)
|
|
25
|
+
program
|
|
26
|
+
.command("search <query> [path]")
|
|
27
|
+
.description("Semantic search for code by functionality")
|
|
28
|
+
.option("-m, --max-results <n>", "Limit number of results", parseInt)
|
|
29
|
+
.action(async (query, pathArg, cmdOptions) => {
|
|
30
|
+
const globalOptions = program.opts();
|
|
31
|
+
await searchCommand(query, pathArg, {
|
|
32
|
+
dir: globalOptions.dir,
|
|
33
|
+
maxResults: cmdOptions.maxResults,
|
|
34
|
+
json: globalOptions.json,
|
|
35
|
+
noColor: !globalOptions.color, // commander inverts --no-color to color=false
|
|
36
|
+
debug: globalOptions.debug,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
// Ask command
|
|
40
|
+
program
|
|
41
|
+
.command("ask <question> [path]")
|
|
42
|
+
.description("Ask a question about the codebase")
|
|
43
|
+
.action(async (question, pathArg) => {
|
|
44
|
+
const globalOptions = program.opts();
|
|
45
|
+
await askCommand(question, pathArg, {
|
|
46
|
+
dir: globalOptions.dir,
|
|
47
|
+
json: globalOptions.json,
|
|
48
|
+
noColor: !globalOptions.color,
|
|
49
|
+
debug: globalOptions.debug,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
// Watch command - interactive mode with file watching
|
|
53
|
+
program
|
|
54
|
+
.command("watch [path]")
|
|
55
|
+
.description("Interactive mode with live file watching - index updates automatically as files change")
|
|
56
|
+
.option("--pid-file <path>", "Write process PID to this file (for daemon management)")
|
|
57
|
+
.action(async (pathArg, cmdOptions) => {
|
|
58
|
+
const globalOptions = program.opts();
|
|
59
|
+
await watchCommand(pathArg, {
|
|
60
|
+
dir: globalOptions.dir,
|
|
61
|
+
json: globalOptions.json,
|
|
62
|
+
noColor: !globalOptions.color,
|
|
63
|
+
debug: globalOptions.debug,
|
|
64
|
+
pidFile: cmdOptions.pidFile,
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
// Enhance command - improve prompts using codebase context
|
|
68
|
+
program
|
|
69
|
+
.command("enhance <prompt> [path]")
|
|
70
|
+
.description("Enhance a prompt using codebase context to make it clearer and more specific")
|
|
71
|
+
.action(async (prompt, pathArg) => {
|
|
72
|
+
const globalOptions = program.opts();
|
|
73
|
+
await enhanceCommand(prompt, pathArg, {
|
|
74
|
+
dir: globalOptions.dir,
|
|
75
|
+
json: globalOptions.json,
|
|
76
|
+
noColor: !globalOptions.color,
|
|
77
|
+
debug: globalOptions.debug,
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
// Install commands for coding agents
|
|
81
|
+
program.addCommand(installClaudeCode);
|
|
82
|
+
program.addCommand(uninstallClaudeCode);
|
|
83
|
+
program.addCommand(installCodex);
|
|
84
|
+
program.addCommand(uninstallCodex);
|
|
85
|
+
program.addCommand(installCursor);
|
|
86
|
+
program.addCommand(uninstallCursor);
|
|
87
|
+
program.addCommand(installDroid);
|
|
88
|
+
program.addCommand(uninstallDroid);
|
|
89
|
+
program.addCommand(installOpencode);
|
|
90
|
+
program.addCommand(uninstallOpencode);
|
|
91
|
+
// Default action: treat first argument as a search query if no command specified
|
|
92
|
+
program
|
|
93
|
+
.argument("[query]", "Search query (runs search command by default)")
|
|
94
|
+
.argument("[path]", "Path to search in")
|
|
95
|
+
.action(async (query, pathArg) => {
|
|
96
|
+
// If no query provided, show help
|
|
97
|
+
if (!query) {
|
|
98
|
+
program.help();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const globalOptions = program.opts();
|
|
102
|
+
await searchCommand(query, pathArg, {
|
|
103
|
+
dir: globalOptions.dir,
|
|
104
|
+
json: globalOptions.json,
|
|
105
|
+
noColor: !globalOptions.color,
|
|
106
|
+
debug: globalOptions.debug,
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
// Handle graceful shutdown
|
|
110
|
+
process.on("SIGINT", async () => {
|
|
111
|
+
await closeContext();
|
|
112
|
+
process.exit(0);
|
|
113
|
+
});
|
|
114
|
+
process.on("SIGTERM", async () => {
|
|
115
|
+
await closeContext();
|
|
116
|
+
process.exit(0);
|
|
117
|
+
});
|
|
118
|
+
// Parse and execute
|
|
119
|
+
program.parseAsync(process.argv).catch(async (error) => {
|
|
120
|
+
console.error("Error:", error.message);
|
|
121
|
+
await closeContext();
|
|
122
|
+
process.exit(1);
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,mEAAmE,CAAC;KAChF,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;AAE5D,iBAAiB;AACjB,OAAO;KACJ,MAAM,CAAC,kBAAkB,EAAE,kDAAkD,CAAC;KAC9E,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC9C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC9C,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;AAErD,2CAA2C;AAC3C,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,QAAQ,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAA2B,EAAE,UAAmC,EAAE,EAAE;IAChG,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE;QAClC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,8CAA8C;QAC7E,KAAK,EAAE,aAAa,CAAC,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAA2B,EAAE,EAAE;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE;QAClC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK;QAC7B,KAAK,EAAE,aAAa,CAAC,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,sDAAsD;AACtD,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,wFAAwF,CAAC;KACrG,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;KACrF,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,UAAgC,EAAE,EAAE;IAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,CAAC,OAAO,EAAE;QAC1B,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK;QAC7B,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,2DAA2D;AAC3D,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,8EAA8E,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAA2B,EAAE,EAAE;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;QACpC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK;QAC7B,KAAK,EAAE,aAAa,CAAC,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,qCAAqC;AACrC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAEtC,iFAAiF;AACjF,OAAO;KACJ,QAAQ,CAAC,SAAS,EAAE,+CAA+C,CAAC;KACpE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,KAAyB,EAAE,OAA2B,EAAE,EAAE;IACvE,kCAAkC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE;QAClC,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK;QAC7B,KAAK,EAAE,aAAa,CAAC,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,2BAA2B;AAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,YAAY,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,YAAY,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACrD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,YAAY,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* Install command for Claude Code
|
|
4
|
+
*/
|
|
5
|
+
export declare const installClaudeCode: Command;
|
|
6
|
+
/**
|
|
7
|
+
* Uninstall command for Claude Code
|
|
8
|
+
*/
|
|
9
|
+
export declare const uninstallClaudeCode: Command;
|
|
10
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+RpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,SAI1B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAI5B,CAAC"}
|