@aicqtools/cli 1.0.0-alpha.2 → 1.0.0-alpha.4
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.en.md +92 -0
- package/README.md +92 -0
- package/dist/bin.js +7 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +15 -7
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/provenance.d.ts.map +1 -1
- package/dist/commands/provenance.js +2 -1
- package/dist/commands/provenance.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +29 -0
- package/dist/version.js.map +1 -0
- package/package.json +5 -5
package/README.en.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<div align="right">
|
|
2
|
+
|
|
3
|
+
[한국어](README.md) | [**English**](README.en.md)
|
|
4
|
+
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
# @aicqtools/cli
|
|
8
|
+
|
|
9
|
+
> The unified `aicq` command-line interface.
|
|
10
|
+
> `check` · `sync-ai-rules` · `mcp` · `provenance` · `docs build`.
|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/@aicqtools/cli)
|
|
13
|
+
[](https://github.com/aicqtools/aicqtools/blob/main/LICENSE)
|
|
14
|
+
|
|
15
|
+
This is the user-facing entry point for the aicqtools monorepo. **Install just this one package** and [`@aicqtools/guardrail`](https://www.npmjs.com/package/@aicqtools/guardrail), [`@aicqtools/provenance`](https://www.npmjs.com/package/@aicqtools/provenance), [`@aicqtools/core`](https://www.npmjs.com/package/@aicqtools/core), and [`@aicqtools/rule-sdk`](https://www.npmjs.com/package/@aicqtools/rule-sdk) come along as dependencies.
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install --save-dev @aicqtools/cli
|
|
21
|
+
# or
|
|
22
|
+
pnpm add -D @aicqtools/cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The `aicq` binary is added to `node_modules/.bin/`. Invoke it with `npx aicq` or via `package.json` `scripts`.
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
| Command | Purpose |
|
|
30
|
+
|---------|---------|
|
|
31
|
+
| `aicq check` | Run the 50 guardrail rules against your project (text/JSON/SARIF output) |
|
|
32
|
+
| `aicq sync-ai-rules` | Auto-inject the rule context into `.cursorrules` / `CLAUDE.md` |
|
|
33
|
+
| `aicq mcp` | Start the MCP (Model Context Protocol) server for Claude Code / Cursor |
|
|
34
|
+
| `aicq provenance capture` | Record git-staged changes and the active AI session as JSON |
|
|
35
|
+
| `aicq provenance report <record>` | Render a capture as an EU AI Act Article 50 report (HTML/PDF) or AI-BOM (CycloneDX 1.6) |
|
|
36
|
+
| `aicq docs build` | Generate per-rule markdown for all 50 rules in Korean and English |
|
|
37
|
+
|
|
38
|
+
Each command shows its full flag set with `aicq <command> --help`. Message language is controlled across all commands by `--locale ko|en`.
|
|
39
|
+
|
|
40
|
+
## Common scenarios
|
|
41
|
+
|
|
42
|
+
### 1) First-time setup — check + agent rule sync
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Run all 50 rules over src/ (warnings exit 0, errors exit 1)
|
|
46
|
+
npx aicq check --locale en
|
|
47
|
+
|
|
48
|
+
# Refresh .cursorrules and CLAUDE.md with the 50-rule summary
|
|
49
|
+
# → Claude Code/Cursor pick the context up on the next generation
|
|
50
|
+
npx aicq sync-ai-rules --locale en
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2) Real-time Claude Code integration (MCP)
|
|
54
|
+
|
|
55
|
+
Block violations *before* the model writes them, at prompt time — not after.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
claude mcp add --transport stdio aicq -- \
|
|
59
|
+
node /absolute/path/node_modules/@aicqtools/cli/dist/bin.js mcp
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Full guide: [docs/mcp-claude-code-setup.md](https://github.com/aicqtools/aicqtools/blob/main/docs/mcp-claude-code-setup.md)
|
|
63
|
+
|
|
64
|
+
### 3) EU AI Act Article 50 PDF report
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Auto-detect and capture the AI session
|
|
68
|
+
npx aicq provenance capture --reader claude-code \
|
|
69
|
+
--output capture.json
|
|
70
|
+
|
|
71
|
+
# Render to PDF (puppeteer optional peer required — pnpm add puppeteer)
|
|
72
|
+
npx aicq provenance report capture.json \
|
|
73
|
+
--format article-50-pdf --locale en \
|
|
74
|
+
--output report.pdf
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If you don't need PDF, `--format article-50-html` produces HTML without the puppeteer dependency. For a machine-readable manifest, `--format ai-bom` emits CycloneDX 1.6 JSON.
|
|
78
|
+
|
|
79
|
+
## Output formats
|
|
80
|
+
|
|
81
|
+
`aicq check --format`:
|
|
82
|
+
- `text` (default) — human-readable colored output
|
|
83
|
+
- `json` — for programmatic post-processing
|
|
84
|
+
- `sarif` — SARIF 2.1.0 (compatible with GitHub Code Scanning and the VS Code SARIF Viewer)
|
|
85
|
+
|
|
86
|
+
## Learn more
|
|
87
|
+
|
|
88
|
+
Full docs · all 50 rules · roadmap: [aicqtools monorepo README](https://github.com/aicqtools/aicqtools)
|
|
89
|
+
|
|
90
|
+
## License
|
|
91
|
+
|
|
92
|
+
MIT — Eom Sik <neuralflux3@gmail.com>
|
package/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<div align="right">
|
|
2
|
+
|
|
3
|
+
[**한국어**](README.md) | [English](README.en.md)
|
|
4
|
+
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
# @aicqtools/cli
|
|
8
|
+
|
|
9
|
+
> AI 코드 품질 도구 `aicq`의 통합 CLI.
|
|
10
|
+
> `check` · `sync-ai-rules` · `mcp` · `provenance` · `docs build`.
|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/@aicqtools/cli)
|
|
13
|
+
[](https://github.com/aicqtools/aicqtools/blob/main/LICENSE)
|
|
14
|
+
|
|
15
|
+
aicqtools 모노레포의 사용자 입구입니다. **이 패키지 하나만 설치**하면 [`@aicqtools/guardrail`](https://www.npmjs.com/package/@aicqtools/guardrail), [`@aicqtools/provenance`](https://www.npmjs.com/package/@aicqtools/provenance), [`@aicqtools/core`](https://www.npmjs.com/package/@aicqtools/core), [`@aicqtools/rule-sdk`](https://www.npmjs.com/package/@aicqtools/rule-sdk)가 의존성으로 함께 설치됩니다.
|
|
16
|
+
|
|
17
|
+
## 설치
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install --save-dev @aicqtools/cli
|
|
21
|
+
# 또는
|
|
22
|
+
pnpm add -D @aicqtools/cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
설치하면 `aicq` 바이너리가 `node_modules/.bin/`에 추가됩니다. `npx aicq` 또는 `package.json`의 `scripts`에서 호출하세요.
|
|
26
|
+
|
|
27
|
+
## 명령어
|
|
28
|
+
|
|
29
|
+
| 명령 | 용도 |
|
|
30
|
+
|------|------|
|
|
31
|
+
| `aicq check` | 가드레일 룰 50개로 프로젝트 검사 (text/JSON/SARIF 출력) |
|
|
32
|
+
| `aicq sync-ai-rules` | `.cursorrules` / `CLAUDE.md`에 룰 컨텍스트 자동 주입 |
|
|
33
|
+
| `aicq mcp` | Claude Code/Cursor용 MCP(Model Context Protocol) 서버 시작 |
|
|
34
|
+
| `aicq provenance capture` | Git staged 변경 + 활성 AI 세션을 JSON으로 기록 |
|
|
35
|
+
| `aicq provenance report <record>` | 캡처본을 EU AI Act Article 50 리포트(HTML/PDF) 또는 AI-BOM(CycloneDX 1.6)으로 변환 |
|
|
36
|
+
| `aicq docs build` | 룰 50개의 마크다운 문서 자동 생성 (한/영) |
|
|
37
|
+
|
|
38
|
+
각 명령은 `aicq <명령> --help`로 전체 플래그를 볼 수 있습니다. 메시지 언어는 모든 명령에서 `--locale ko|en`으로 전환합니다.
|
|
39
|
+
|
|
40
|
+
## 자주 쓰는 시나리오
|
|
41
|
+
|
|
42
|
+
### 1) 처음 도입 — 검사 + AI 룰 동기화
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 50개 룰로 src/ 검사 (warning은 종료코드 0, error는 1)
|
|
46
|
+
npx aicq check --locale ko
|
|
47
|
+
|
|
48
|
+
# .cursorrules와 CLAUDE.md를 50개 룰 요약으로 갱신
|
|
49
|
+
# → Claude Code/Cursor가 다음 코드 생성 시 이 컨텍스트를 사용
|
|
50
|
+
npx aicq sync-ai-rules --locale ko
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2) Claude Code와 실시간 연동 (MCP)
|
|
54
|
+
|
|
55
|
+
코드가 *생성된 후*가 아니라 *생성되기 전* prompt 단계에서 차단합니다.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
claude mcp add --transport stdio aicq -- \
|
|
59
|
+
node /절대경로/node_modules/@aicqtools/cli/dist/bin.js mcp
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
상세 가이드: [docs/mcp-claude-code-setup.md](https://github.com/aicqtools/aicqtools/blob/main/docs/mcp-claude-code-setup.md)
|
|
63
|
+
|
|
64
|
+
### 3) EU AI Act Article 50 PDF 리포트
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# AI 세션 자동 감지 + 캡처
|
|
68
|
+
npx aicq provenance capture --reader claude-code \
|
|
69
|
+
--output capture.json
|
|
70
|
+
|
|
71
|
+
# PDF 렌더링 (puppeteer 옵션 peer 필요 — pnpm add puppeteer)
|
|
72
|
+
npx aicq provenance report capture.json \
|
|
73
|
+
--format article-50-pdf --locale ko \
|
|
74
|
+
--output report.pdf
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
PDF가 필요 없으면 `--format article-50-html`로 HTML만 생성 가능 (puppeteer 의존성 불필요). 기계 가독 포맷이 필요하면 `--format ai-bom`으로 CycloneDX 1.6 JSON을 출력합니다.
|
|
78
|
+
|
|
79
|
+
## 출력 포맷
|
|
80
|
+
|
|
81
|
+
`aicq check`의 `--format` 플래그:
|
|
82
|
+
- `text`(기본) — 사람이 읽기 좋은 컬러 출력
|
|
83
|
+
- `json` — 프로그래밍적 후처리용
|
|
84
|
+
- `sarif` — SARIF 2.1.0(GitHub Code Scanning, VS Code SARIF Viewer 호환)
|
|
85
|
+
|
|
86
|
+
## 더 알아보기
|
|
87
|
+
|
|
88
|
+
전체 문서 · 룰 50개 목록 · 로드맵: [aicqtools 모노레포 README](https://github.com/aicqtools/aicqtools)
|
|
89
|
+
|
|
90
|
+
## 라이선스
|
|
91
|
+
|
|
92
|
+
MIT — Eom Sik <neuralflux3@gmail.com>
|
package/dist/bin.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { buildProgram } from './index.js';
|
|
3
3
|
buildProgram().parseAsync(process.argv).catch((err) => {
|
|
4
|
-
|
|
4
|
+
if (err instanceof Error && 'filePath' in err && typeof err.filePath === 'string') {
|
|
5
|
+
const e = err;
|
|
6
|
+
process.stderr.write(`aicq: parser failed on ${e.filePath}: ${e.message}\n`);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
process.stderr.write(`aicq: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
10
|
+
}
|
|
5
11
|
process.exit(2);
|
|
6
12
|
});
|
|
7
13
|
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC7D,IAAI,GAAG,YAAY,KAAK,IAAI,UAAU,IAAI,GAAG,IAAI,OAAQ,GAA6B,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7G,MAAM,CAAC,GAAG,GAAmC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAiElE"}
|
package/dist/commands/check.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import { writeFile } from 'node:fs/promises';
|
|
3
3
|
import pc from 'picocolors';
|
|
4
|
-
import { FileCache, loadConfig, reportJson, reportSarif, reportText, resolveLocale, t } from '@aicqtools/core';
|
|
4
|
+
import { FileCache, loadConfig, ParserError, reportJson, reportSarif, reportText, resolveLocale, t } from '@aicqtools/core';
|
|
5
5
|
import { loadAllBuiltinRules, loadFunctionRulesFromDir, runProject } from '@aicqtools/guardrail';
|
|
6
|
+
import { getCliVersion } from '../version.js';
|
|
6
7
|
export async function runCheck(opts) {
|
|
7
8
|
const cwd = resolve(opts.cwd);
|
|
8
9
|
const config = await loadConfig(cwd);
|
|
@@ -17,6 +18,11 @@ export async function runCheck(opts) {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
const cache = opts.cache !== false ? new FileCache(resolve(cwd, '.aicq/cache.sqlite')) : undefined;
|
|
21
|
+
const locale = resolveLocale({
|
|
22
|
+
...(opts.locale ? { override: opts.locale } : {}),
|
|
23
|
+
configLocale: config.locale,
|
|
24
|
+
env: process.env,
|
|
25
|
+
});
|
|
20
26
|
let result;
|
|
21
27
|
try {
|
|
22
28
|
result = await runProject({
|
|
@@ -27,19 +33,21 @@ export async function runCheck(opts) {
|
|
|
27
33
|
...(cache ? { cache } : {}),
|
|
28
34
|
});
|
|
29
35
|
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
if (err instanceof ParserError) {
|
|
38
|
+
process.stderr.write(t(locale, 'cli.check.parserFailed', { file: err.filePath, message: err.cause.message }) + '\n');
|
|
39
|
+
return 2;
|
|
40
|
+
}
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
30
43
|
finally {
|
|
31
44
|
cache?.close();
|
|
32
45
|
}
|
|
33
|
-
const locale = resolveLocale({
|
|
34
|
-
...(opts.locale ? { override: opts.locale } : {}),
|
|
35
|
-
configLocale: config.locale,
|
|
36
|
-
env: process.env,
|
|
37
|
-
});
|
|
38
46
|
let serialized;
|
|
39
47
|
if (opts.format === 'json')
|
|
40
48
|
serialized = reportJson(result);
|
|
41
49
|
else if (opts.format === 'sarif')
|
|
42
|
-
serialized = reportSarif(result);
|
|
50
|
+
serialized = reportSarif(result, getCliVersion());
|
|
43
51
|
else
|
|
44
52
|
serialized = reportText(result, locale);
|
|
45
53
|
if (opts.output) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB1F;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCxF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { writeFile } from 'node:fs/promises';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import { loadConfig, resolveLocale, t } from '@aicqtools/core';
|
|
4
|
+
import { getCliVersion } from '../version.js';
|
|
4
5
|
import { buildRecord, capture, createReader, emitAiBom, buildArticle50Report, renderArticle50Html, renderArticle50Pdf, writeProvenanceRecord, } from '@aicqtools/provenance';
|
|
5
6
|
export async function runProvenanceCapture(opts) {
|
|
6
7
|
const cwd = resolve(opts.cwd);
|
|
@@ -28,7 +29,7 @@ export async function runProvenanceReport(opts) {
|
|
|
28
29
|
const path = resolve(cwd, opts.recordPath);
|
|
29
30
|
const record = JSON.parse(await readFile(path, 'utf-8'));
|
|
30
31
|
if (opts.format === 'ai-bom') {
|
|
31
|
-
process.stdout.write(JSON.stringify(emitAiBom(record), null, 2) + '\n');
|
|
32
|
+
process.stdout.write(JSON.stringify(emitAiBom(record, getCliVersion()), null, 2) + '\n');
|
|
32
33
|
return 0;
|
|
33
34
|
}
|
|
34
35
|
if (opts.format === 'article-50-html') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA8B;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,CAAC,CAAC,MAAM,EAAE,wBAAwB,EAAE;QAClC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;KACjC,CAAC,GAAG,IAAI,CACV,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA6B;IACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,YAAY,IAAI,OAAO,CAkJtC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { runCheck } from './commands/check.js';
|
|
3
|
+
import { getCliVersion } from './version.js';
|
|
3
4
|
export function buildProgram() {
|
|
4
5
|
const program = new Command();
|
|
5
6
|
program
|
|
6
7
|
.name('aicq')
|
|
7
8
|
.description('AI Code Quality Platform — guardrail engine and provenance tracker')
|
|
8
|
-
.version(
|
|
9
|
+
.version(getCliVersion());
|
|
9
10
|
program
|
|
10
11
|
.command('check')
|
|
11
12
|
.description('Run guardrail rules against the project')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,IAAI,MAAM,CAuBtC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
let cached;
|
|
5
|
+
export function getCliVersion() {
|
|
6
|
+
if (cached !== undefined)
|
|
7
|
+
return cached;
|
|
8
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
for (let i = 0; i < 6; i++) {
|
|
10
|
+
try {
|
|
11
|
+
const candidate = join(dir, 'package.json');
|
|
12
|
+
const parsed = JSON.parse(readFileSync(candidate, 'utf-8'));
|
|
13
|
+
if (parsed.name === '@aicqtools/cli' && typeof parsed.version === 'string') {
|
|
14
|
+
cached = parsed.version;
|
|
15
|
+
return cached;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
// not this level; keep walking
|
|
20
|
+
}
|
|
21
|
+
const parent = dirname(dir);
|
|
22
|
+
if (parent === dir)
|
|
23
|
+
break;
|
|
24
|
+
dir = parent;
|
|
25
|
+
}
|
|
26
|
+
cached = '0.0.0';
|
|
27
|
+
return cached;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,MAA0B,CAAC;AAE/B,MAAM,UAAU,aAAa;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAGzD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,MAAM,GAAG,OAAO,CAAC;IACjB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aicqtools/cli",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "aicq command-line interface — `aicq check`, `aicq mcp`, `aicq sync-ai-rules`, `aicq provenance`, `aicq docs build`.",
|
|
6
6
|
"keywords": [
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"commander": "^12.1.0",
|
|
42
42
|
"picocolors": "^1.1.1",
|
|
43
|
-
"@aicqtools/core": "1.0.0-alpha.
|
|
44
|
-
"@aicqtools/rule-sdk": "1.0.0-alpha.
|
|
45
|
-
"@aicqtools/
|
|
46
|
-
"@aicqtools/
|
|
43
|
+
"@aicqtools/core": "1.0.0-alpha.4",
|
|
44
|
+
"@aicqtools/rule-sdk": "1.0.0-alpha.4",
|
|
45
|
+
"@aicqtools/provenance": "1.0.0-alpha.4",
|
|
46
|
+
"@aicqtools/guardrail": "1.0.0-alpha.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^22.10.0",
|