@dev-guard/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +79 -0
  3. package/dist/agent-strategies.d.ts +23 -0
  4. package/dist/agent-strategies.js +130 -0
  5. package/dist/agent-strategies.js.map +1 -0
  6. package/dist/ai-context.d.ts +10 -0
  7. package/dist/ai-context.js +143 -0
  8. package/dist/ai-context.js.map +1 -0
  9. package/dist/check.d.ts +6 -0
  10. package/dist/check.js +89 -0
  11. package/dist/check.js.map +1 -0
  12. package/dist/clipboard.d.ts +6 -0
  13. package/dist/clipboard.js +43 -0
  14. package/dist/clipboard.js.map +1 -0
  15. package/dist/codex-notify.d.ts +23 -0
  16. package/dist/codex-notify.js +146 -0
  17. package/dist/codex-notify.js.map +1 -0
  18. package/dist/command-targets.d.ts +10 -0
  19. package/dist/command-targets.js +124 -0
  20. package/dist/command-targets.js.map +1 -0
  21. package/dist/config.d.ts +22 -0
  22. package/dist/config.js +180 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/configure.d.ts +1 -0
  25. package/dist/configure.js +79 -0
  26. package/dist/configure.js.map +1 -0
  27. package/dist/doctor.d.ts +1 -0
  28. package/dist/doctor.js +326 -0
  29. package/dist/doctor.js.map +1 -0
  30. package/dist/drift-telemetry.d.ts +13 -0
  31. package/dist/drift-telemetry.js +64 -0
  32. package/dist/drift-telemetry.js.map +1 -0
  33. package/dist/effective-task.d.ts +44 -0
  34. package/dist/effective-task.js +355 -0
  35. package/dist/effective-task.js.map +1 -0
  36. package/dist/fs.d.ts +10 -0
  37. package/dist/fs.js +58 -0
  38. package/dist/fs.js.map +1 -0
  39. package/dist/git.d.ts +24 -0
  40. package/dist/git.js +235 -0
  41. package/dist/git.js.map +1 -0
  42. package/dist/hooks.d.ts +39 -0
  43. package/dist/hooks.js +513 -0
  44. package/dist/hooks.js.map +1 -0
  45. package/dist/index.d.ts +2 -0
  46. package/dist/index.js +555 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/infer-task.d.ts +1 -0
  49. package/dist/infer-task.js +120 -0
  50. package/dist/infer-task.js.map +1 -0
  51. package/dist/init.d.ts +1 -0
  52. package/dist/init.js +50 -0
  53. package/dist/init.js.map +1 -0
  54. package/dist/install-agent-instructions.d.ts +1 -0
  55. package/dist/install-agent-instructions.js +113 -0
  56. package/dist/install-agent-instructions.js.map +1 -0
  57. package/dist/migration.d.ts +8 -0
  58. package/dist/migration.js +43 -0
  59. package/dist/migration.js.map +1 -0
  60. package/dist/paths.d.ts +38 -0
  61. package/dist/paths.js +41 -0
  62. package/dist/paths.js.map +1 -0
  63. package/dist/project-detection.d.ts +10 -0
  64. package/dist/project-detection.js +144 -0
  65. package/dist/project-detection.js.map +1 -0
  66. package/dist/project-identity.d.ts +7 -0
  67. package/dist/project-identity.js +93 -0
  68. package/dist/project-identity.js.map +1 -0
  69. package/dist/project-memory.d.ts +4 -0
  70. package/dist/project-memory.js +32 -0
  71. package/dist/project-memory.js.map +1 -0
  72. package/dist/prompt.d.ts +13 -0
  73. package/dist/prompt.js +125 -0
  74. package/dist/prompt.js.map +1 -0
  75. package/dist/refresh.d.ts +15 -0
  76. package/dist/refresh.js +146 -0
  77. package/dist/refresh.js.map +1 -0
  78. package/dist/report.d.ts +1 -0
  79. package/dist/report.js +109 -0
  80. package/dist/report.js.map +1 -0
  81. package/dist/review.d.ts +2 -0
  82. package/dist/review.js +653 -0
  83. package/dist/review.js.map +1 -0
  84. package/dist/rule-filter.d.ts +8 -0
  85. package/dist/rule-filter.js +79 -0
  86. package/dist/rule-filter.js.map +1 -0
  87. package/dist/runs.d.ts +21 -0
  88. package/dist/runs.js +142 -0
  89. package/dist/runs.js.map +1 -0
  90. package/dist/runtime-state.d.ts +69 -0
  91. package/dist/runtime-state.js +1383 -0
  92. package/dist/runtime-state.js.map +1 -0
  93. package/dist/scan.d.ts +1 -0
  94. package/dist/scan.js +55 -0
  95. package/dist/scan.js.map +1 -0
  96. package/dist/self.d.ts +3 -0
  97. package/dist/self.js +235 -0
  98. package/dist/self.js.map +1 -0
  99. package/dist/task-ai.d.ts +1 -0
  100. package/dist/task-ai.js +643 -0
  101. package/dist/task-ai.js.map +1 -0
  102. package/dist/telemetry.d.ts +1 -0
  103. package/dist/telemetry.js +11 -0
  104. package/dist/telemetry.js.map +1 -0
  105. package/dist/update.d.ts +6 -0
  106. package/dist/update.js +154 -0
  107. package/dist/update.js.map +1 -0
  108. package/dist/watch.d.ts +1 -0
  109. package/dist/watch.js +303 -0
  110. package/dist/watch.js.map +1 -0
  111. package/package.json +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ProjectIdentity } from "@dev-guard/core";
2
+ export interface MarkdownFilterResult {
3
+ filteredMarkdown: string;
4
+ loaded: number;
5
+ relevant: number;
6
+ suppressed: string[];
7
+ }
8
+ export declare function filterRelevantMarkdown(markdown: string, relevanceText: string, identity?: ProjectIdentity, extraKeywords?: string[]): MarkdownFilterResult;
@@ -0,0 +1,79 @@
1
+ const genericRuleTokens = new Set([
2
+ "scope",
3
+ "diff",
4
+ "build",
5
+ "test",
6
+ "검증",
7
+ "빌드",
8
+ "테스트",
9
+ "범위",
10
+ "요구사항",
11
+ "수정",
12
+ "관련",
13
+ "파일",
14
+ "보호",
15
+ "최소",
16
+ "비밀",
17
+ "api",
18
+ "key",
19
+ "secret"
20
+ ]);
21
+ export function filterRelevantMarkdown(markdown, relevanceText, identity, extraKeywords = []) {
22
+ const items = splitMarkdownItems(markdown);
23
+ const relevanceTokens = new Set([
24
+ ...extractTokens(relevanceText),
25
+ ...extractTokens(identity?.packageName ?? ""),
26
+ ...(identity?.frameworkKeywords ?? []).flatMap(extractTokens),
27
+ ...extraKeywords.flatMap(extractTokens)
28
+ ]);
29
+ const kept = [];
30
+ const suppressed = [];
31
+ for (const item of items) {
32
+ const tokens = extractTokens(item);
33
+ const hasGenericRuleToken = tokens.some((token) => genericRuleTokens.has(token));
34
+ const hasOverlap = tokens.some((token) => relevanceTokens.has(token));
35
+ if (hasOverlap || hasGenericRuleToken || tokens.length === 0) {
36
+ kept.push(item);
37
+ }
38
+ else {
39
+ suppressed.push(compactLine(item));
40
+ }
41
+ }
42
+ return {
43
+ filteredMarkdown: kept.join("\n").trim(),
44
+ loaded: items.length,
45
+ relevant: kept.length,
46
+ suppressed
47
+ };
48
+ }
49
+ function splitMarkdownItems(markdown) {
50
+ const lines = markdown
51
+ .split("\n")
52
+ .map((line) => line.trim())
53
+ .filter(Boolean)
54
+ .filter((line) => !/^#{1,6}\s*$/.test(line));
55
+ const items = [];
56
+ let current = "";
57
+ for (const line of lines) {
58
+ if (/^[-*]\s+/.test(line) || /^#{1,6}\s+/.test(line) || !current) {
59
+ if (current) {
60
+ items.push(current);
61
+ }
62
+ current = line;
63
+ }
64
+ else {
65
+ current = `${current} ${line}`;
66
+ }
67
+ }
68
+ if (current) {
69
+ items.push(current);
70
+ }
71
+ return items;
72
+ }
73
+ function extractTokens(value) {
74
+ return [...new Set((value.toLowerCase().match(/[a-z0-9가-힣]{2,}/g) ?? []).filter((token) => token.length >= 2))];
75
+ }
76
+ function compactLine(value) {
77
+ return value.replace(/^[-*]\s+/, "").replace(/\s+/g, " ").slice(0, 100);
78
+ }
79
+ //# sourceMappingURL=rule-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-filter.js","sourceRoot":"","sources":["../src/rule-filter.ts"],"names":[],"mappings":"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"}
package/dist/runs.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import type { DevGuardRunLog, ProjectIdentity } from "@dev-guard/core";
2
+ interface SaveRunInput {
3
+ command: string;
4
+ userRequest?: string;
5
+ generatedTaskMarkdown?: string;
6
+ generatedCodexPrompt?: string;
7
+ relatedFiles?: string[];
8
+ model?: string;
9
+ provider?: DevGuardRunLog["provider"];
10
+ changedFilesAtCreation?: string[];
11
+ projectIdentity?: ProjectIdentity;
12
+ status?: DevGuardRunLog["status"];
13
+ }
14
+ export declare function createRunLog(root: string, input: SaveRunInput): Promise<DevGuardRunLog | undefined>;
15
+ export declare function upsertLatestRun(root: string, input: SaveRunInput): Promise<DevGuardRunLog | undefined>;
16
+ export declare function updateRunLog(root: string, id: string, patch: Partial<Omit<DevGuardRunLog, "id" | "createdAt">>): Promise<DevGuardRunLog | undefined>;
17
+ export declare function readLatestRun(root: string): Promise<DevGuardRunLog | undefined>;
18
+ export declare function readRunById(root: string, id: string): Promise<DevGuardRunLog | undefined>;
19
+ export declare function listRunLogs(root: string): Promise<DevGuardRunLog[]>;
20
+ export declare function logRunSaved(run: DevGuardRunLog | undefined): void;
21
+ export {};
package/dist/runs.js ADDED
@@ -0,0 +1,142 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import { basename } from "node:path";
3
+ import { fromRoot, readJsonFile, writeTextFile } from "./fs.js";
4
+ import { getGitIdentity } from "./git.js";
5
+ import { loadCurrentProjectIdentity, sameProjectIdentity } from "./project-identity.js";
6
+ const promptMaxLength = 200_000;
7
+ export async function createRunLog(root, input) {
8
+ try {
9
+ const createdAt = new Date().toISOString();
10
+ const id = createRunId(createdAt);
11
+ const git = await getGitIdentity(root).catch(() => ({ gitHead: "", gitBranch: "" }));
12
+ const projectIdentity = input.projectIdentity ?? (await loadCurrentProjectIdentity(root).catch(() => undefined));
13
+ const run = {
14
+ id,
15
+ createdAt,
16
+ updatedAt: createdAt,
17
+ command: input.command,
18
+ title: makeRunTitle(input.userRequest || input.command),
19
+ userRequest: input.userRequest,
20
+ generatedTaskMarkdown: truncate(input.generatedTaskMarkdown),
21
+ generatedCodexPrompt: truncate(input.generatedCodexPrompt),
22
+ relatedFiles: input.relatedFiles ?? [],
23
+ model: input.model,
24
+ provider: input.provider,
25
+ gitHead: git.gitHead,
26
+ gitBranch: git.gitBranch,
27
+ changedFilesAtCreation: input.changedFilesAtCreation ?? [],
28
+ projectIdentity,
29
+ status: input.status ?? "created"
30
+ };
31
+ await writeRunFiles(root, run);
32
+ return run;
33
+ }
34
+ catch (error) {
35
+ warnRunFailure("save", error);
36
+ return undefined;
37
+ }
38
+ }
39
+ export async function upsertLatestRun(root, input) {
40
+ const latest = await readLatestRun(root);
41
+ if (!latest) {
42
+ return createRunLog(root, input);
43
+ }
44
+ const projectIdentity = input.projectIdentity ?? (await loadCurrentProjectIdentity(root).catch(() => undefined));
45
+ if (projectIdentity && latest.projectIdentity && !sameProjectIdentity(projectIdentity, latest.projectIdentity)) {
46
+ return createRunLog(root, {
47
+ ...input,
48
+ projectIdentity
49
+ });
50
+ }
51
+ return updateRunLog(root, latest.id, {
52
+ command: latest.command,
53
+ userRequest: input.userRequest ?? latest.userRequest,
54
+ generatedTaskMarkdown: input.generatedTaskMarkdown ?? latest.generatedTaskMarkdown,
55
+ generatedCodexPrompt: input.generatedCodexPrompt ?? latest.generatedCodexPrompt,
56
+ relatedFiles: input.relatedFiles ?? latest.relatedFiles,
57
+ model: input.model ?? latest.model,
58
+ provider: input.provider ?? latest.provider,
59
+ changedFilesAtCreation: input.changedFilesAtCreation ?? latest.changedFilesAtCreation,
60
+ projectIdentity: projectIdentity ?? latest.projectIdentity,
61
+ status: input.status ?? latest.status
62
+ });
63
+ }
64
+ export async function updateRunLog(root, id, patch) {
65
+ try {
66
+ const current = (await readRunById(root, id)) ?? (await readLatestRun(root));
67
+ if (!current) {
68
+ return undefined;
69
+ }
70
+ const next = {
71
+ ...current,
72
+ ...patch,
73
+ generatedTaskMarkdown: truncate(patch.generatedTaskMarkdown ?? current.generatedTaskMarkdown),
74
+ generatedCodexPrompt: truncate(patch.generatedCodexPrompt ?? current.generatedCodexPrompt),
75
+ fixPrompt: truncate(patch.fixPrompt ?? current.fixPrompt),
76
+ reviewResult: truncate(patch.reviewResult ?? current.reviewResult),
77
+ updatedAt: new Date().toISOString()
78
+ };
79
+ await writeRunFiles(root, next);
80
+ return next;
81
+ }
82
+ catch (error) {
83
+ warnRunFailure("update", error);
84
+ return undefined;
85
+ }
86
+ }
87
+ export async function readLatestRun(root) {
88
+ const run = await readJsonFile(fromRoot(root, ".devguard/runs/latest.json"), undefined);
89
+ return run?.id ? run : undefined;
90
+ }
91
+ export async function readRunById(root, id) {
92
+ const safeId = basename(id).replace(/\.json$/i, "");
93
+ const run = await readJsonFile(fromRoot(root, `.devguard/runs/${safeId}.json`), undefined);
94
+ return run?.id ? run : undefined;
95
+ }
96
+ export async function listRunLogs(root) {
97
+ try {
98
+ const entries = await readdir(fromRoot(root, ".devguard/runs"));
99
+ const ids = entries
100
+ .filter((entry) => entry.endsWith(".json") && entry !== "latest.json")
101
+ .map((entry) => entry.replace(/\.json$/i, ""));
102
+ const runs = await Promise.all(ids.map((id) => readRunById(root, id)));
103
+ return runs
104
+ .filter((run) => Boolean(run))
105
+ .sort((a, b) => Date.parse(b.createdAt) - Date.parse(a.createdAt));
106
+ }
107
+ catch {
108
+ return [];
109
+ }
110
+ }
111
+ export function logRunSaved(run) {
112
+ if (run) {
113
+ console.error(`dev-guard run saved: ${run.id}`);
114
+ }
115
+ }
116
+ function writeRunFiles(root, run) {
117
+ const content = `${JSON.stringify(run, null, 2)}\n`;
118
+ return Promise.all([
119
+ writeTextFile(fromRoot(root, `.devguard/runs/${run.id}.json`), content),
120
+ writeTextFile(fromRoot(root, ".devguard/runs/latest.json"), content)
121
+ ]);
122
+ }
123
+ function compactTimestamp(value) {
124
+ return value.replace(/[-:]/g, "").replace(/\.\d{3}Z$/, "Z");
125
+ }
126
+ function createRunId(createdAt) {
127
+ return `run_${compactTimestamp(createdAt)}`.replace(/[^a-zA-Z0-9_]/g, "").slice(0, 60);
128
+ }
129
+ function makeRunTitle(value) {
130
+ return value.trim().replace(/\s+/g, " ").slice(0, 120) || "dev-guard run";
131
+ }
132
+ function truncate(value) {
133
+ if (!value || value.length <= promptMaxLength) {
134
+ return value;
135
+ }
136
+ return `${value.slice(0, promptMaxLength)}\n... truncated by dev-guard run log limit ...`;
137
+ }
138
+ function warnRunFailure(action, error) {
139
+ const message = error instanceof Error ? error.message : String(error);
140
+ console.error(`dev-guard warning: failed to ${action} run log (${message})`);
141
+ }
142
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export interface RuntimeState {
2
+ pendingChangedFiles: string[];
3
+ firstChangedAt?: string;
4
+ lastChangedAt?: string;
5
+ lastStableAt?: string;
6
+ lastDiffHash?: string;
7
+ lastStatus?: "idle" | "active" | "ready_for_done" | "processed";
8
+ revision?: number;
9
+ updatedAt?: string;
10
+ }
11
+ export interface ProjectState {
12
+ lastProcessedAt?: string;
13
+ lastSummary?: string;
14
+ lastDrift?: "low" | "medium" | "high";
15
+ lastQualityVerdict?: QualityVerdict;
16
+ lastQualityNextAction?: string;
17
+ lastChangedFiles?: string[];
18
+ lastReportPath?: string;
19
+ lastPromptPath?: string;
20
+ lastHandoffPath?: string;
21
+ }
22
+ export interface DoneProcessingResult {
23
+ changedFiles: string[];
24
+ areas: string[];
25
+ judgments: string[];
26
+ reportPath: string;
27
+ promptPath: string;
28
+ historySummaryPath: string;
29
+ decisionCandidatesPath: string;
30
+ qualityReportPath: string;
31
+ projectHandoffPath: string;
32
+ agentContextPath: string;
33
+ nextClaudePromptPath: string;
34
+ qualityVerdict: QualityVerdict;
35
+ summary: string;
36
+ drift: "low" | "medium" | "high";
37
+ }
38
+ type QualityVerdict = "PASS" | "NEEDS_REVIEW" | "BLOCKED";
39
+ export interface HistoryRecord {
40
+ id: string;
41
+ timestamp: string;
42
+ changedFiles: string[];
43
+ areas: string[];
44
+ diffStat: string;
45
+ inferredSummary: string;
46
+ driftCandidates: string[];
47
+ docUpdateCandidates: string[];
48
+ testCandidates: string[];
49
+ generatedPromptPath: string;
50
+ reportPath: string;
51
+ }
52
+ export declare function readRuntimeState(root: string): Promise<RuntimeState>;
53
+ export declare function writeRuntimeState(root: string, state: RuntimeState): Promise<void>;
54
+ export declare function resetRuntimeState(root: string): Promise<void>;
55
+ export declare function readProjectState(root: string): Promise<ProjectState>;
56
+ export declare function writeProjectState(root: string, state: ProjectState): Promise<void>;
57
+ export declare function readHistoryRecords(root: string, limit?: number): Promise<HistoryRecord[]>;
58
+ export declare function recordRuntimeChange(root: string, path: string): Promise<RuntimeState>;
59
+ export declare function markRuntimeStable(root: string, diffHash: string): Promise<RuntimeState>;
60
+ export declare function isIgnoredWatchPath(path: string): boolean;
61
+ export declare function processDoneEvent(root: string): Promise<DoneProcessingResult>;
62
+ export declare function generateProjectHandoff(root: string): Promise<string>;
63
+ export declare function generateAgentContext(root: string): Promise<string>;
64
+ export declare function generateNextClaudePrompt(root: string): Promise<string>;
65
+ export declare function classifyAreas(files: string[]): string[];
66
+ export declare function hashRuntimeFiles(files: string[]): string;
67
+ export declare function ensureDevguardDirs(root: string): Promise<void>;
68
+ export declare function ensureDevguardWorkspace(root: string): Promise<void>;
69
+ export {};