oc-pilot 0.0.0-stage → 0.5.1
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/CHANGELOG.md +78 -0
- package/CONTRIBUTING.md +43 -0
- package/Dockerfile +32 -0
- package/LICENSE +21 -0
- package/README.md +665 -2
- package/README.ru.md +523 -0
- package/SECURITY.md +42 -0
- package/action.yml +68 -0
- package/dist/cli.js +120 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.test.js +559 -0
- package/dist/cli.test.js.map +1 -0
- package/dist/commands/custom.js +87 -0
- package/dist/commands/custom.js.map +1 -0
- package/dist/commands/docgen.js +256 -0
- package/dist/commands/docgen.js.map +1 -0
- package/dist/commands/doctor.js +334 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/fix.js +282 -0
- package/dist/commands/fix.js.map +1 -0
- package/dist/commands/init.js +59 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/review.js +77 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/scan.js +102 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/setup.js +443 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/test-fix.js +181 -0
- package/dist/commands/test-fix.js.map +1 -0
- package/dist/core/command.js +69 -0
- package/dist/core/command.js.map +1 -0
- package/dist/core/config.js +277 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/config.test.js +145 -0
- package/dist/core/config.test.js.map +1 -0
- package/dist/core/diff-source.js +98 -0
- package/dist/core/diff-source.js.map +1 -0
- package/dist/core/diff.js +168 -0
- package/dist/core/diff.js.map +1 -0
- package/dist/core/diff.test.js +94 -0
- package/dist/core/diff.test.js.map +1 -0
- package/dist/core/engine.js +179 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/engine.test.js +143 -0
- package/dist/core/engine.test.js.map +1 -0
- package/dist/core/errors.js +21 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/file-context.js +58 -0
- package/dist/core/file-context.js.map +1 -0
- package/dist/core/file-context.test.js +58 -0
- package/dist/core/file-context.test.js.map +1 -0
- package/dist/core/findings.js +110 -0
- package/dist/core/findings.js.map +1 -0
- package/dist/core/findings.test.js +62 -0
- package/dist/core/findings.test.js.map +1 -0
- package/dist/core/format.js +31 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/format.test.js +26 -0
- package/dist/core/format.test.js.map +1 -0
- package/dist/core/git.js +137 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/io.js +57 -0
- package/dist/core/io.js.map +1 -0
- package/dist/core/lang.js +17 -0
- package/dist/core/lang.js.map +1 -0
- package/dist/core/log.js +40 -0
- package/dist/core/log.js.map +1 -0
- package/dist/core/opencode.js +345 -0
- package/dist/core/opencode.js.map +1 -0
- package/dist/core/opencode.test.js +59 -0
- package/dist/core/opencode.test.js.map +1 -0
- package/dist/core/options.js +142 -0
- package/dist/core/options.js.map +1 -0
- package/dist/core/parse.js +54 -0
- package/dist/core/parse.js.map +1 -0
- package/dist/core/patch.js +155 -0
- package/dist/core/patch.js.map +1 -0
- package/dist/core/patch.test.js +70 -0
- package/dist/core/patch.test.js.map +1 -0
- package/dist/core/process.js +27 -0
- package/dist/core/process.js.map +1 -0
- package/dist/core/project.js +191 -0
- package/dist/core/project.js.map +1 -0
- package/dist/core/project.test.js +75 -0
- package/dist/core/project.test.js.map +1 -0
- package/dist/core/prompt.js +255 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/prompt.test.js +106 -0
- package/dist/core/prompt.test.js.map +1 -0
- package/dist/core/rules.js +64 -0
- package/dist/core/rules.js.map +1 -0
- package/dist/core/rules.test.js +72 -0
- package/dist/core/rules.test.js.map +1 -0
- package/dist/core/run.js +255 -0
- package/dist/core/run.js.map +1 -0
- package/dist/core/secrets.js +331 -0
- package/dist/core/secrets.js.map +1 -0
- package/dist/core/secrets.test.js +121 -0
- package/dist/core/secrets.test.js.map +1 -0
- package/dist/core/snippets.js +130 -0
- package/dist/core/snippets.js.map +1 -0
- package/dist/core/snippets.test.js +55 -0
- package/dist/core/snippets.test.js.map +1 -0
- package/dist/mcp-http.test.js +146 -0
- package/dist/mcp-http.test.js.map +1 -0
- package/dist/mcp.js +913 -0
- package/dist/mcp.js.map +1 -0
- package/dist/mcp.test.js +128 -0
- package/dist/mcp.test.js.map +1 -0
- package/dist/setup.test.js +215 -0
- package/dist/setup.test.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/docker-compose.yml +18 -0
- package/docs/integrations.md +467 -0
- package/package.json +76 -4
- package/prompts/oc-pilot.en.md +104 -0
- package/prompts/oc-pilot.ru.md +106 -0
- package/server.json +21 -0
- package/skills/oc-pilot/SKILL.md +47 -0
package/dist/cli.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runCustom } from "./commands/custom.js";
|
|
3
|
+
import { runDoctor } from "./commands/doctor.js";
|
|
4
|
+
import { runDocgen } from "./commands/docgen.js";
|
|
5
|
+
import { runFix } from "./commands/fix.js";
|
|
6
|
+
import { runInit } from "./commands/init.js";
|
|
7
|
+
import { runReview } from "./commands/review.js";
|
|
8
|
+
import { runScan } from "./commands/scan.js";
|
|
9
|
+
import { runSetup } from "./commands/setup.js";
|
|
10
|
+
import { runTestFix } from "./commands/test-fix.js";
|
|
11
|
+
import { PilotError, toPilotError } from "./core/errors.js";
|
|
12
|
+
import { log } from "./core/log.js";
|
|
13
|
+
import { COMMON_HELP } from "./core/options.js";
|
|
14
|
+
import { runMcp } from "./mcp.js";
|
|
15
|
+
import { VERSION } from "./version.js";
|
|
16
|
+
const HANDLERS = {
|
|
17
|
+
review: runReview,
|
|
18
|
+
"test-fix": runTestFix,
|
|
19
|
+
fix: runFix,
|
|
20
|
+
docgen: runDocgen,
|
|
21
|
+
custom: runCustom,
|
|
22
|
+
scan: runScan,
|
|
23
|
+
setup: runSetup,
|
|
24
|
+
doctor: runDoctor,
|
|
25
|
+
mcp: runMcp,
|
|
26
|
+
init: runInit,
|
|
27
|
+
};
|
|
28
|
+
const HELP = `oc-pilot ${VERSION} — AI-ревью, разбор тестов и документация для агентов
|
|
29
|
+
|
|
30
|
+
Использование:
|
|
31
|
+
oc-pilot <команда> [опции]
|
|
32
|
+
|
|
33
|
+
Команды:
|
|
34
|
+
review Ревью git-diff: баги, уязвимости, идиомы языка
|
|
35
|
+
test-fix Разбор падения тестов и минимальный фикс
|
|
36
|
+
fix Патч от модели, git apply и цикл тестов с откатом
|
|
37
|
+
docgen Генерация GoDoc/RustDoc/JSDoc/docstrings
|
|
38
|
+
custom Свободный запрос к oc-pilot
|
|
39
|
+
scan Офлайн-поиск секретов в diff (без LLM)
|
|
40
|
+
setup Установить MCP-сервер в Claude Code, Cursor, OpenCode, Codex, Gemini, DeepSeek Harness, VS Code
|
|
41
|
+
doctor Проверить установку, движок, ключи, git и MCP-конфиги
|
|
42
|
+
mcp Запустить MCP-сервер (stdio или --http)
|
|
43
|
+
init Создать .oc-pilot.json
|
|
44
|
+
version Показать версию
|
|
45
|
+
help Показать помощь
|
|
46
|
+
|
|
47
|
+
Глобальные опции:
|
|
48
|
+
${COMMON_HELP}
|
|
49
|
+
|
|
50
|
+
Примеры:
|
|
51
|
+
oc-pilot review
|
|
52
|
+
oc-pilot review --base main --fail-on critical --fail-on-secrets
|
|
53
|
+
oc-pilot review --no-repo-context
|
|
54
|
+
oc-pilot fix --apply --command "go test ./..."
|
|
55
|
+
oc-pilot test-fix --command "go test ./..."
|
|
56
|
+
oc-pilot docgen "src/**/*.ts" --symbol buildPrompt
|
|
57
|
+
git diff | oc-pilot scan --stdin
|
|
58
|
+
oc-pilot custom "Найди гонки данных" --git-diff
|
|
59
|
+
oc-pilot setup --all
|
|
60
|
+
oc-pilot setup --client claude --http https://example.com/mcp --token "$OC_PILOT_MCP_TOKEN"
|
|
61
|
+
oc-pilot doctor
|
|
62
|
+
oc-pilot review --engine openai --model deepseek-chat --base-url https://api.deepseek.com/v1
|
|
63
|
+
oc-pilot mcp --cwd /path/to/project
|
|
64
|
+
|
|
65
|
+
Коды возврата:
|
|
66
|
+
0 — успех
|
|
67
|
+
1 — ошибка выполнения
|
|
68
|
+
2 — ошибка аргументов
|
|
69
|
+
3 — политика (--fail-on-secrets / --fail-on / --strict)
|
|
70
|
+
`;
|
|
71
|
+
async function main(argv) {
|
|
72
|
+
const command = argv[0];
|
|
73
|
+
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
74
|
+
if (command === "help" && argv[1] && HANDLERS[argv[1]]) {
|
|
75
|
+
return HANDLERS[argv[1]](["--help"]);
|
|
76
|
+
}
|
|
77
|
+
process.stdout.write(HELP);
|
|
78
|
+
return 0;
|
|
79
|
+
}
|
|
80
|
+
if (command === "--version" || command === "-v" || command === "version") {
|
|
81
|
+
process.stdout.write(`oc-pilot ${VERSION}\n`);
|
|
82
|
+
return 0;
|
|
83
|
+
}
|
|
84
|
+
const handler = HANDLERS[command];
|
|
85
|
+
if (!handler) {
|
|
86
|
+
if (command.startsWith("-")) {
|
|
87
|
+
throw new PilotError(`Неизвестная глобальная опция: ${command}`, {
|
|
88
|
+
hint: "Сначала укажите команду, например: oc-pilot review --help",
|
|
89
|
+
exitCode: 2,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
throw new PilotError(`Неизвестная команда: ${command}`, {
|
|
93
|
+
hint: "Доступные команды: review, test-fix, fix, docgen, custom, scan, setup, init.",
|
|
94
|
+
exitCode: 2,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return handler(argv.slice(1));
|
|
98
|
+
}
|
|
99
|
+
process.stdout.on("error", (error) => {
|
|
100
|
+
if (error.code === "EPIPE")
|
|
101
|
+
process.exit(0);
|
|
102
|
+
throw error;
|
|
103
|
+
});
|
|
104
|
+
main(process.argv.slice(2))
|
|
105
|
+
.then((code) => {
|
|
106
|
+
process.exitCode = code;
|
|
107
|
+
})
|
|
108
|
+
.catch((error) => {
|
|
109
|
+
const pilot = toPilotError(error);
|
|
110
|
+
log.error(pilot.message);
|
|
111
|
+
if (pilot.hint) {
|
|
112
|
+
for (const line of pilot.hint.split(/\r?\n/))
|
|
113
|
+
log.detail(line);
|
|
114
|
+
}
|
|
115
|
+
if (!(error instanceof PilotError) && process.env.OC_PILOT_DEBUG) {
|
|
116
|
+
process.stderr.write(`${error instanceof Error ? error.stack : String(error)}\n`);
|
|
117
|
+
}
|
|
118
|
+
process.exitCode = pilot.exitCode;
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|