sandstream-kit 1.4.1 → 1.4.3
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 +1 -1
- package/dist/agent-config.d.ts +25 -1
- package/dist/agent-config.js +75 -2
- package/dist/agent-config.js.map +1 -1
- package/dist/check-security.js +17 -12
- package/dist/check-security.js.map +1 -1
- package/dist/cli.js +88 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/memory.js +7 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/escalate.js +19 -6
- package/dist/escalate.js.map +1 -1
- package/dist/memory/backup.js +6 -2
- package/dist/memory/backup.js.map +1 -1
- package/dist/memory/install.d.ts +1 -0
- package/dist/memory/install.js +35 -12
- package/dist/memory/install.js.map +1 -1
- package/dist/recommended.d.ts +22 -0
- package/dist/recommended.js +36 -0
- package/dist/recommended.js.map +1 -0
- package/dist/scan-build.js +7 -1
- package/dist/scan-build.js.map +1 -1
- package/dist/toml-generator.d.ts +8 -0
- package/dist/toml-generator.js +26 -2
- package/dist/toml-generator.js.map +1 -1
- package/dist/utils/resolveTool.d.ts +15 -0
- package/dist/utils/resolveTool.js +31 -0
- package/dist/utils/resolveTool.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,7 +126,7 @@ Complete reference: [`docs/COMMANDS.md`](./docs/COMMANDS.md). The shortlist:
|
|
|
126
126
|
- `kit fix`: Auto-remediate gaps (tools, gitignore, hooks, .env.template)
|
|
127
127
|
- `kit login --plan`: Show the resolved auth strategy (vault/capture/interactive) per service without logging in
|
|
128
128
|
- `kit secrets {set,migrate,rotate,propagate,onecli,validate}`: Secret lifecycle
|
|
129
|
-
- `kit memory {index,search,suggest,
|
|
129
|
+
- `kit memory {index,search,stats,suggest,merge,save,threads,share,backup}`: Local-first, cross-harness second brain (per-harness `stats`, project recall, saved copilots) + `kit memory pal` pending-action ledger
|
|
130
130
|
- `kit auth {elevate,setup-totp,status,revoke}`: Elevation gate + TOTP
|
|
131
131
|
- `kit mcp {list,auth,set-token,clear}`: MCP-server orchestrator
|
|
132
132
|
- `kit env {list,switch,current,diff}`: Environment routing + drift detection
|
package/dist/agent-config.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const KIT_BLOCK_BEGIN = "<!-- BEGIN kit (managed block \u2014 edi
|
|
|
15
15
|
export declare const KIT_BLOCK_END = "<!-- END kit -->";
|
|
16
16
|
/** The canonical "use kit" instruction. Kept short on purpose — agents read it
|
|
17
17
|
* every turn, so it states the rules, not the rationale. */
|
|
18
|
-
export declare const KIT_INSTRUCTION = "## kit\n\nThis project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:\n\n- Run `kit check` before starting; if it reports `fail`, run `kit fix` then re-check.\n- Before installing ANY dependency, run `kit triage npm|pip|docker|repo <target>` and only install if it passes.\n- Never write secrets to `.env*` in plaintext \u2014 resolve them with `kit secrets` (vault-backed).\n- After a batch of edits, run `kit check --category security`; halt and surface findings on `fail`.\n- Destructive secret ops require `kit auth elevate` first.";
|
|
18
|
+
export declare const KIT_INSTRUCTION = "## kit\n\nThis project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:\n\n- Run `kit check` before starting; if it reports `fail`, run `kit fix` then re-check.\n- Recall prior decisions with `kit memory search \"<query>\"` (cross-session, cross-agent); keep the local store current with `kit memory index`.\n- Before installing ANY dependency, run `kit triage npm|pip|docker|repo <target>` and only install if it passes.\n- Never write secrets to `.env*` in plaintext \u2014 resolve them with `kit secrets` (vault-backed).\n- After a batch of edits, run `kit check --category security`; halt and surface findings on `fail`.\n- Destructive secret ops require `kit auth elevate` first.";
|
|
19
19
|
export interface AgentTarget {
|
|
20
20
|
/** Agent/tool name for display. */
|
|
21
21
|
agent: string;
|
|
@@ -54,3 +54,27 @@ export interface AgentConfigResult {
|
|
|
54
54
|
* Read-only mode refuses + audits before any write.
|
|
55
55
|
*/
|
|
56
56
|
export declare function writeAgentConfig(cwd?: string, targets?: AgentTarget[]): Promise<AgentConfigResult[]>;
|
|
57
|
+
/**
|
|
58
|
+
* The READ-ONLY kit commands an agent should be allowed to run without a
|
|
59
|
+
* permission prompt. Teaching the agent to "use kit" is useless if every
|
|
60
|
+
* `kit …` hits the permission wall in auto/non-interactive mode and the agent
|
|
61
|
+
* silently never runs it. These are all non-mutating: no `secrets`, `fix`,
|
|
62
|
+
* `hooks add`, `agent-config`, `context use`, or `memory install` — those keep
|
|
63
|
+
* prompting on purpose. We never write a `deny` rule or a bypass mode.
|
|
64
|
+
*/
|
|
65
|
+
export declare const READONLY_KIT_PERMISSIONS: string[];
|
|
66
|
+
export interface PermissionResult {
|
|
67
|
+
file: string;
|
|
68
|
+
added: string[];
|
|
69
|
+
alreadyPresent: number;
|
|
70
|
+
action: "created" | "updated" | "unchanged" | "skipped" | "failed";
|
|
71
|
+
detail?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Grant the agent permission to run kit's read-only commands by merging
|
|
75
|
+
* allow-rules into the project's `.claude/settings.json`. Idempotent and
|
|
76
|
+
* non-destructive: preserves the user's other allow rules, never touches
|
|
77
|
+
* `deny`, never sets a permission mode. Only wired for Claude Code (the agent
|
|
78
|
+
* whose settings schema we know).
|
|
79
|
+
*/
|
|
80
|
+
export declare function installKitPermissions(cwd?: string): Promise<PermissionResult>;
|
package/dist/agent-config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
1
|
+
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
|
-
import { resolve } from "node:path";
|
|
3
|
+
import { resolve, dirname } from "node:path";
|
|
4
4
|
/**
|
|
5
5
|
* Teach the coding agent to use kit.
|
|
6
6
|
*
|
|
@@ -23,6 +23,7 @@ export const KIT_INSTRUCTION = `## kit
|
|
|
23
23
|
This project uses [kit](https://github.com/sandstream/kit) to manage tools, secrets, and environment setup. As the agent working here:
|
|
24
24
|
|
|
25
25
|
- Run \`kit check\` before starting; if it reports \`fail\`, run \`kit fix\` then re-check.
|
|
26
|
+
- Recall prior decisions with \`kit memory search "<query>"\` (cross-session, cross-agent); keep the local store current with \`kit memory index\`.
|
|
26
27
|
- Before installing ANY dependency, run \`kit triage npm|pip|docker|repo <target>\` and only install if it passes.
|
|
27
28
|
- Never write secrets to \`.env*\` in plaintext — resolve them with \`kit secrets\` (vault-backed).
|
|
28
29
|
- After a batch of edits, run \`kit check --category security\`; halt and surface findings on \`fail\`.
|
|
@@ -126,4 +127,76 @@ export async function writeAgentConfig(cwd = process.cwd(), targets) {
|
|
|
126
127
|
}
|
|
127
128
|
return results;
|
|
128
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* The READ-ONLY kit commands an agent should be allowed to run without a
|
|
132
|
+
* permission prompt. Teaching the agent to "use kit" is useless if every
|
|
133
|
+
* `kit …` hits the permission wall in auto/non-interactive mode and the agent
|
|
134
|
+
* silently never runs it. These are all non-mutating: no `secrets`, `fix`,
|
|
135
|
+
* `hooks add`, `agent-config`, `context use`, or `memory install` — those keep
|
|
136
|
+
* prompting on purpose. We never write a `deny` rule or a bypass mode.
|
|
137
|
+
*/
|
|
138
|
+
export const READONLY_KIT_PERMISSIONS = [
|
|
139
|
+
"Bash(kit check:*)",
|
|
140
|
+
"Bash(kit status:*)",
|
|
141
|
+
"Bash(kit doctor:*)",
|
|
142
|
+
"Bash(kit ci:*)",
|
|
143
|
+
"Bash(kit analyze:*)",
|
|
144
|
+
"Bash(kit escalate:*)",
|
|
145
|
+
"Bash(kit context check:*)",
|
|
146
|
+
"Bash(kit triage:*)",
|
|
147
|
+
"Bash(kit memory search:*)",
|
|
148
|
+
"Bash(kit memory stats:*)",
|
|
149
|
+
"Bash(kit memory index:*)",
|
|
150
|
+
];
|
|
151
|
+
/**
|
|
152
|
+
* Grant the agent permission to run kit's read-only commands by merging
|
|
153
|
+
* allow-rules into the project's `.claude/settings.json`. Idempotent and
|
|
154
|
+
* non-destructive: preserves the user's other allow rules, never touches
|
|
155
|
+
* `deny`, never sets a permission mode. Only wired for Claude Code (the agent
|
|
156
|
+
* whose settings schema we know).
|
|
157
|
+
*/
|
|
158
|
+
export async function installKitPermissions(cwd = process.cwd()) {
|
|
159
|
+
const file = ".claude/settings.json";
|
|
160
|
+
const path = resolve(cwd, file);
|
|
161
|
+
const { isReadOnlyMode } = await import("./read-only-mode.js");
|
|
162
|
+
if (isReadOnlyMode()) {
|
|
163
|
+
return { file, added: [], alreadyPresent: 0, action: "skipped", detail: "read-only mode" };
|
|
164
|
+
}
|
|
165
|
+
// Only meaningful in a Claude Code project.
|
|
166
|
+
if (!existsSync(resolve(cwd, ".claude")) && !existsSync(resolve(cwd, "CLAUDE.md"))) {
|
|
167
|
+
return { file, added: [], alreadyPresent: 0, action: "skipped", detail: "no Claude Code project detected" };
|
|
168
|
+
}
|
|
169
|
+
let settings = {};
|
|
170
|
+
let existed = false;
|
|
171
|
+
try {
|
|
172
|
+
settings = JSON.parse(await readFile(path, "utf-8"));
|
|
173
|
+
existed = true;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
settings = {}; // absent or unreadable → start fresh (preserve nothing we can't parse)
|
|
177
|
+
}
|
|
178
|
+
const perms = (settings.permissions ??= {});
|
|
179
|
+
const allow = (perms.allow ??= []);
|
|
180
|
+
const added = [];
|
|
181
|
+
let alreadyPresent = 0;
|
|
182
|
+
for (const rule of READONLY_KIT_PERMISSIONS) {
|
|
183
|
+
if (allow.includes(rule)) {
|
|
184
|
+
alreadyPresent++;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
allow.push(rule);
|
|
188
|
+
added.push(rule);
|
|
189
|
+
}
|
|
190
|
+
if (added.length === 0) {
|
|
191
|
+
return { file, added, alreadyPresent, action: "unchanged" };
|
|
192
|
+
}
|
|
193
|
+
try {
|
|
194
|
+
await mkdir(dirname(path), { recursive: true });
|
|
195
|
+
await writeFile(path, JSON.stringify(settings, null, 2) + "\n", "utf-8");
|
|
196
|
+
return { file, added, alreadyPresent, action: existed ? "updated" : "created" };
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
return { file, added: [], alreadyPresent, action: "failed", detail: err instanceof Error ? err.message : String(err) };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
129
202
|
//# sourceMappingURL=agent-config.js.map
|
package/dist/agent-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
|
package/dist/check-security.js
CHANGED
|
@@ -3,6 +3,7 @@ import { promisify } from "node:util";
|
|
|
3
3
|
import { readFile, access } from "node:fs/promises";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { execFileNoThrow } from "./utils/execFileNoThrow.js";
|
|
6
|
+
import { resolveToolBin } from "./utils/resolveTool.js";
|
|
6
7
|
import { ruleForCheck } from "./rules/catalog.js";
|
|
7
8
|
import { ensureBumblebee, runScan, maxSeverity, newestCatalogMtime, isCatalogStale, } from "./bumblebee.js";
|
|
8
9
|
const exec = promisify(execFile);
|
|
@@ -531,18 +532,20 @@ async function checkSocket() {
|
|
|
531
532
|
catch {
|
|
532
533
|
return { category: "supply-chain", name: "socket scan", status: "skip", detail: "no package.json found" };
|
|
533
534
|
}
|
|
534
|
-
|
|
535
|
-
|
|
535
|
+
// Resolve mise-first: kit installs scanners via mise, whose shims aren't on
|
|
536
|
+
// kit's PATH. A bare "socket" lookup would miss a mise-installed one.
|
|
537
|
+
const socketBin = await resolveToolBin("socket");
|
|
538
|
+
if (!socketBin) {
|
|
536
539
|
return {
|
|
537
540
|
category: "supply-chain",
|
|
538
541
|
name: "socket scan",
|
|
539
542
|
status: "warn",
|
|
540
543
|
detail: "socket not installed -supply chain malware undetected",
|
|
541
544
|
severity: "medium",
|
|
542
|
-
suggestion: "npm install -g @socketsecurity/cli",
|
|
545
|
+
suggestion: "mise use npm:@socketsecurity/cli (or: npm install -g @socketsecurity/cli)",
|
|
543
546
|
};
|
|
544
547
|
}
|
|
545
|
-
const result = await execFileNoThrow(
|
|
548
|
+
const result = await execFileNoThrow(socketBin, ["check", "--json"], { timeout: 60_000 });
|
|
546
549
|
const raw = result.stdout || result.stderr;
|
|
547
550
|
try {
|
|
548
551
|
const parsed = JSON.parse(raw);
|
|
@@ -591,18 +594,19 @@ async function checkTrivy() {
|
|
|
591
594
|
if (!hasDockerfile) {
|
|
592
595
|
return { category: "supply-chain", name: "trivy container scan", status: "skip", detail: "no Dockerfile found" };
|
|
593
596
|
}
|
|
594
|
-
|
|
595
|
-
|
|
597
|
+
// Resolve mise-first (like socket/semgrep): a mise-installed trivy isn't on kit's PATH.
|
|
598
|
+
const trivyBin = await resolveToolBin("trivy");
|
|
599
|
+
if (!trivyBin) {
|
|
596
600
|
return {
|
|
597
601
|
category: "supply-chain",
|
|
598
602
|
name: "trivy container scan",
|
|
599
603
|
status: "warn",
|
|
600
604
|
detail: "trivy not installed -container CVEs undetected",
|
|
601
605
|
severity: "medium",
|
|
602
|
-
suggestion: "brew install trivy",
|
|
606
|
+
suggestion: "mise use aqua:aquasecurity/trivy (or: brew install trivy)",
|
|
603
607
|
};
|
|
604
608
|
}
|
|
605
|
-
const result = await execFileNoThrow(
|
|
609
|
+
const result = await execFileNoThrow(trivyBin, ["fs", ".", "--format", "json", "--severity", "HIGH,CRITICAL", "--quiet"], { timeout: 120_000 });
|
|
606
610
|
if (!result.ok && !result.stdout) {
|
|
607
611
|
return { category: "supply-chain", name: "trivy container scan", status: "warn", detail: "trivy scan failed", severity: "medium" };
|
|
608
612
|
}
|
|
@@ -691,16 +695,17 @@ async function checkLicenses() {
|
|
|
691
695
|
* Run static analysis using Semgrep to catch security anti-patterns in source code.
|
|
692
696
|
*/
|
|
693
697
|
async function checkSemgrep() {
|
|
694
|
-
|
|
695
|
-
|
|
698
|
+
// Resolve mise-first (see socket): a mise-installed semgrep isn't on kit's PATH.
|
|
699
|
+
const semgrepBin = await resolveToolBin("semgrep");
|
|
700
|
+
if (!semgrepBin) {
|
|
696
701
|
return {
|
|
697
702
|
category: "supply-chain",
|
|
698
703
|
name: "semgrep SAST",
|
|
699
704
|
status: "skip",
|
|
700
|
-
detail: "semgrep not installed (brew install semgrep)",
|
|
705
|
+
detail: "semgrep not installed (mise use pipx:semgrep, or brew install semgrep)",
|
|
701
706
|
};
|
|
702
707
|
}
|
|
703
|
-
const result = await execFileNoThrow(
|
|
708
|
+
const result = await execFileNoThrow(semgrepBin, ["scan", "--config", "auto", "--json", "--quiet", "--no-rewrite-rule-ids"], { timeout: 120_000 });
|
|
704
709
|
const raw = result.stdout || result.stderr;
|
|
705
710
|
try {
|
|
706
711
|
const parsed = JSON.parse(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-security.js","sourceRoot":"","sources":["../src/check-security.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-security.js","sourceRoot":"","sources":["../src/check-security.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -46,7 +46,8 @@ import { getBudgetStatus, formatBudgetStatus } from "./budget.js";
|
|
|
46
46
|
import { formatGovernanceStatus, mergeGovernanceConfigAsync } from "./governance.js";
|
|
47
47
|
import { withGovernance } from "./governance-middleware.js";
|
|
48
48
|
import { SKIPPED_COMMITS_LOG } from "./hooks.js";
|
|
49
|
-
import { writeAgentConfig, detectAgentTargets } from "./agent-config.js";
|
|
49
|
+
import { writeAgentConfig, detectAgentTargets, installKitPermissions } from "./agent-config.js";
|
|
50
|
+
import { applyRecommendedHardening } from "./recommended.js";
|
|
50
51
|
import { checkHooks, isGitRepository } from "./check-hooks.js";
|
|
51
52
|
import { readkitMeta, readSkillsLock, readCliLock, updateSkillsLock, updateCliLock, } from "./lock.js";
|
|
52
53
|
import { provisionService, listAvailableServices, getServiceInfo } from "./provision.js";
|
|
@@ -122,7 +123,9 @@ async function cmdCheck() {
|
|
|
122
123
|
const testsOk = testResults.every((t) => t.status !== "fail");
|
|
123
124
|
const lockOk = lockResults.every((l) => l.inSync);
|
|
124
125
|
const allOk = toolResults.every((t) => t.ok) &&
|
|
125
|
-
|
|
126
|
+
// Informational services (no CLI login — `#`-documented, e.g. resend
|
|
127
|
+
// env keys) are manual setup, not a failed gate. They surface as warns.
|
|
128
|
+
serviceResults.every((s) => s.authenticated || s.informational) &&
|
|
126
129
|
secretResults.keys.every((s) => s.available) &&
|
|
127
130
|
skillResults.filter((s) => s.required).every((s) => s.installed) &&
|
|
128
131
|
hookResults.every((h) => h.installed && h.upToDate) &&
|
|
@@ -139,8 +142,10 @@ async function cmdCheck() {
|
|
|
139
142
|
})),
|
|
140
143
|
...serviceResults.map((s) => ({
|
|
141
144
|
name: s.name,
|
|
142
|
-
status: (s.authenticated ? "pass" : "fail"),
|
|
143
|
-
detail: s.
|
|
145
|
+
status: (s.authenticated ? "pass" : s.informational ? "warn" : "fail"),
|
|
146
|
+
detail: s.informational
|
|
147
|
+
? (s.output || "manual setup (no CLI login)")
|
|
148
|
+
: (s.output ?? (s.authenticated ? "authenticated" : "not authenticated")),
|
|
144
149
|
category: "services",
|
|
145
150
|
})),
|
|
146
151
|
...secretResults.keys.map((s) => ({
|
|
@@ -705,6 +710,27 @@ async function cmdSetup() {
|
|
|
705
710
|
console.log(`${c.bold}${c.cyan}kit setup${c.reset}`);
|
|
706
711
|
console.log(`${c.dim}${"─".repeat(50)}${c.reset}\n`);
|
|
707
712
|
const config = await loadConfig(resolveConfigPath());
|
|
713
|
+
// Recommended profile: an explicit flag always wins; otherwise ASK
|
|
714
|
+
// interactively (the flag is just the scriptable answer to this question).
|
|
715
|
+
// CI/agents without a flag get the core setup — we never silently wire global
|
|
716
|
+
// ~/.claude hooks or the repo's git hooks without an explicit yes.
|
|
717
|
+
let recommended;
|
|
718
|
+
if (hasFlag(process.argv, "--recommended")) {
|
|
719
|
+
recommended = true;
|
|
720
|
+
}
|
|
721
|
+
else if (hasFlag(process.argv, "--minimal") || hasFlag(process.argv, "--no-recommended")) {
|
|
722
|
+
recommended = false;
|
|
723
|
+
}
|
|
724
|
+
else if (isNonInteractive()) {
|
|
725
|
+
recommended = false;
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
recommended = await promptConfirm(`Use the recommended profile? Wires cross-harness memory hooks (in ~/.claude) + git secret-scan${config.context ? " + context-check" : ""} gates after the core steps. [Y/n] `, 10000, true);
|
|
729
|
+
console.log();
|
|
730
|
+
}
|
|
731
|
+
if (recommended) {
|
|
732
|
+
console.log(`${c.dim}Recommended profile on — memory + git hooks wired after the core steps.${c.reset}\n`);
|
|
733
|
+
}
|
|
708
734
|
// Step 1: Install
|
|
709
735
|
console.log(`${c.bold}[1/6] Install${c.reset}`);
|
|
710
736
|
const installOk = await cmdInstall();
|
|
@@ -741,10 +767,33 @@ async function cmdSetup() {
|
|
|
741
767
|
console.log(` ${mark}${c.reset} ${r.agent} ${c.dim}→ ${r.file} (${r.action})${c.reset}`);
|
|
742
768
|
}
|
|
743
769
|
}
|
|
770
|
+
// Let the agent actually run kit: grant the read-only kit commands (same as
|
|
771
|
+
// `kit agent-config`). Without this the agent hits the permission wall.
|
|
772
|
+
const perms = await installKitPermissions();
|
|
773
|
+
if (perms.action === "created" || perms.action === "updated") {
|
|
774
|
+
console.log(` ${c.green}✓${c.reset} allowed ${perms.added.length} read-only kit command(s) ${c.dim}→ ${perms.file}${c.reset}`);
|
|
775
|
+
}
|
|
744
776
|
console.log();
|
|
745
777
|
// Step 6: Verify
|
|
746
778
|
console.log(`${c.bold}[6/6] Verify${c.reset}`);
|
|
747
779
|
const verifyOk = await cmdCheck();
|
|
780
|
+
// Recommended hardening: memory hooks + git hooks (opt-in via --recommended).
|
|
781
|
+
if (recommended) {
|
|
782
|
+
console.log(`\n${c.bold}[+] Recommended hardening${c.reset}`);
|
|
783
|
+
const h = await applyRecommendedHardening(config);
|
|
784
|
+
for (const e of h.memory.added)
|
|
785
|
+
console.log(` ${c.green}✓${c.reset} memory hook ${c.dim}${e}${c.reset}`);
|
|
786
|
+
if (h.memory.added.length === 0)
|
|
787
|
+
console.log(` ${c.dim}= memory hooks already wired${c.reset}`);
|
|
788
|
+
if (!h.memory.resolved) {
|
|
789
|
+
console.log(` ${c.yellow}!${c.reset} ${c.dim}memory hooks use a bare \`kit\` (kit not resolvable to an absolute path)${c.reset}`);
|
|
790
|
+
}
|
|
791
|
+
for (const r of h.hooks) {
|
|
792
|
+
const icon = r.action === "failed" ? `${c.red}✗` : r.action === "skipped" ? `${c.yellow}!` : `${c.green}✓`;
|
|
793
|
+
console.log(` ${icon}${c.reset} git ${r.hookName} ${c.dim}(${r.action})${c.reset}`);
|
|
794
|
+
}
|
|
795
|
+
console.log();
|
|
796
|
+
}
|
|
748
797
|
const allOk = installOk && loginOk && secretsOk && verifyOk;
|
|
749
798
|
if (allOk) {
|
|
750
799
|
console.log(`${c.bold}${c.green}Setup complete — you're ready to go! ✓${c.reset}\n`);
|
|
@@ -772,8 +821,20 @@ async function cmdAgentConfig() {
|
|
|
772
821
|
console.log(` ${mark}${c.reset} ${r.agent} ${c.dim}→ ${r.file} (${r.action})${c.reset}`);
|
|
773
822
|
}
|
|
774
823
|
}
|
|
775
|
-
|
|
776
|
-
|
|
824
|
+
// Let the agent actually RUN kit: grant read-only kit commands in
|
|
825
|
+
// .claude/settings.json, so they don't hit the permission wall in auto mode.
|
|
826
|
+
const perms = await installKitPermissions();
|
|
827
|
+
if (perms.action === "created" || perms.action === "updated") {
|
|
828
|
+
console.log(`\n ${c.green}✓${c.reset} allowed ${c.bold}${perms.added.length}${c.reset} read-only kit command(s) in ${c.dim}${perms.file}${c.reset} ${c.dim}(so the agent can run them without a prompt)${c.reset}`);
|
|
829
|
+
}
|
|
830
|
+
else if (perms.action === "unchanged") {
|
|
831
|
+
console.log(`\n ${c.dim}= read-only kit commands already allowed in ${perms.file}${c.reset}`);
|
|
832
|
+
}
|
|
833
|
+
else if (perms.action === "failed") {
|
|
834
|
+
console.log(`\n ${c.yellow}!${c.reset} could not update ${perms.file}: ${perms.detail}`);
|
|
835
|
+
}
|
|
836
|
+
console.log(`\n${c.dim}Blocks regenerate in place on re-run; edit outside the markers freely. ` +
|
|
837
|
+
`Mutating kit commands (secrets/fix/hooks) still prompt by design.${c.reset}`);
|
|
777
838
|
return !failed;
|
|
778
839
|
}
|
|
779
840
|
async function cmdGovernance() {
|
|
@@ -1853,8 +1914,12 @@ async function cmdCi() {
|
|
|
1853
1914
|
})),
|
|
1854
1915
|
...serviceResults.map((s) => ({
|
|
1855
1916
|
name: s.name,
|
|
1856
|
-
|
|
1857
|
-
|
|
1917
|
+
// Informational services (no CLI login) are a manual-setup warning,
|
|
1918
|
+
// not a CI failure.
|
|
1919
|
+
status: (s.authenticated ? "pass" : s.informational ? "warn" : "fail"),
|
|
1920
|
+
detail: s.informational
|
|
1921
|
+
? (s.output || "manual setup (no CLI login)")
|
|
1922
|
+
: (s.output ?? (s.authenticated ? "authenticated" : "not authenticated")),
|
|
1858
1923
|
category: "services",
|
|
1859
1924
|
})),
|
|
1860
1925
|
...secretResults.keys.map((s) => ({
|
|
@@ -2953,6 +3018,9 @@ function cmdVersion() {
|
|
|
2953
3018
|
const COMMAND_HELP = {
|
|
2954
3019
|
status: "Adoption checklist — what's set up across kit + the next step for each gap",
|
|
2955
3020
|
check: "Check status of all tools, services, secrets, and lock files",
|
|
3021
|
+
review: "Full repo audit — runs check + design in one gate (for agents / PR checks)",
|
|
3022
|
+
design: "Check design quality (a11y, design tokens) against the baseline",
|
|
3023
|
+
baseline: "Freeze current warnings into .kit-baseline.json so future runs gate only net-new findings",
|
|
2956
3024
|
memory: "Local conversation memory — index transcripts + show stats",
|
|
2957
3025
|
"memory index": "Index ~/.claude transcripts into the SQLite memory store",
|
|
2958
3026
|
"memory search": "Full-text search memory (current project; --global for all)",
|
|
@@ -3004,7 +3072,8 @@ const COMMAND_HELP = {
|
|
|
3004
3072
|
"auth revoke": "Drop the elevation marker",
|
|
3005
3073
|
"auth setup-totp": "Enroll TOTP secret (writes ~/.kit/totp-secret 0600)",
|
|
3006
3074
|
"hooks add": "Install a built-in hook (e.g. secret-scan)",
|
|
3007
|
-
setup: "Full pipeline: install → login → secrets →
|
|
3075
|
+
setup: "Full pipeline: install → login → secrets → agent config → verify",
|
|
3076
|
+
"setup --recommended": "Opinionated profile: setup + memory hooks + git secret-scan/context-check gates",
|
|
3008
3077
|
fix: "Auto-fix what is possible",
|
|
3009
3078
|
escalate: "List what needs human action",
|
|
3010
3079
|
governance: "View governance status and agent access controls",
|
|
@@ -3497,6 +3566,16 @@ async function main() {
|
|
|
3497
3566
|
process.exitCode = 0;
|
|
3498
3567
|
return;
|
|
3499
3568
|
}
|
|
3569
|
+
// A `--help`/`-h` anywhere after the command means "show that command's
|
|
3570
|
+
// help" — NEVER execute the command. Critical for side-effectful commands
|
|
3571
|
+
// (agent-config, fix, secrets, hooks add): `kit <cmd> --help` previously
|
|
3572
|
+
// fell through to the dispatch and ran <cmd>. (Generalizes the 1.4.0 fix
|
|
3573
|
+
// that only covered `kit memory <sub> --help`.)
|
|
3574
|
+
if (command && command !== "help" && (hasFlag(args, "--help") || hasFlag(args, "-h"))) {
|
|
3575
|
+
cmdHelp(command);
|
|
3576
|
+
process.exitCode = 0;
|
|
3577
|
+
return;
|
|
3578
|
+
}
|
|
3500
3579
|
// version/help/completions need bespoke handling; everything else is a flat
|
|
3501
3580
|
// command->fn dispatch (was a ~40-case switch — the main complexity driver).
|
|
3502
3581
|
if (command === "version") {
|