@csark0812/skeleton 4.0.1 → 5.0.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.
@@ -12,6 +12,12 @@ function issue(rule, file, details, options) {
12
12
  severity: selected?.severity ?? "error"
13
13
  };
14
14
  }
15
+ var REREAD_CODES = new Set([
16
+ "review-dependency-changed",
17
+ "impacted-document-review-required",
18
+ "review-document-changed",
19
+ "review-dependency-set-changed"
20
+ ]);
15
21
  // src/audit/core/shared.ts
16
22
  function normalizeRelPath(p) {
17
23
  let out = p.replace(/\\/g, "/");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@csark0812/skeleton",
3
- "version": "4.0.1",
3
+ "version": "5.0.0",
4
4
  "description": "SSOT audit CLI for agent harness repos",
5
5
  "type": "module",
6
6
  "bin": {
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "packageManager": "bun@1.2.21",
36
36
  "scripts": {
37
- "build": "bun build src/cli.ts --target=node --outfile=dist/cli.js && bun build src/hooks/customize-on-skill-read.ts --target=node --outfile=dist/hooks/customize-on-skill-read.js && bun build src/plugin-types.ts --target=node --format=esm --outfile=dist/plugin-types.js --packages=external && bun build src/result-types.ts --target=node --format=esm --outfile=dist/result-types.js --packages=external && tsc -p tsconfig.types.json",
37
+ "build": "bun build src/cli.ts --target=node --outfile=dist/cli.js && bun build src/plugin-types.ts --target=node --format=esm --outfile=dist/plugin-types.js --packages=external && bun build src/result-types.ts --target=node --format=esm --outfile=dist/result-types.js --packages=external && tsc -p tsconfig.types.json",
38
38
  "test": "bun test",
39
39
  "test:audit": "bun test src/audit/__tests__",
40
40
  "test:cli": "bun test src/__tests__/cli",
@@ -88,26 +88,10 @@
88
88
  }
89
89
  }
90
90
  },
91
- "customize": {
92
- "type": "object",
93
- "additionalProperties": false,
94
- "description": "Customize inject options for IDE hooks and `skeleton customize resolve`",
95
- "properties": {
96
- "alwaysInclude": {
97
- "type": "array",
98
- "items": {
99
- "type": "string",
100
- "minLength": 1,
101
- "pattern": "^[a-zA-Z0-9._-]+\\.md$"
102
- },
103
- "description": "Basenames under .skeleton/customize/ appended whenever a skill customize injects (even if the slug file is missing or empty)"
104
- }
105
- }
106
- },
107
91
  "skillOwnership": {
108
92
  "type": "object",
109
93
  "additionalProperties": false,
110
- "description": "Provenance-aware skill body linting: foreign (synced) skills are skipped; owned local skills and .skeleton/customize stay audited",
94
+ "description": "Provenance-aware skill body linting: foreign (synced) skills are skipped; owned local skills stay audited",
111
95
  "properties": {
112
96
  "lockfile": {
113
97
  "type": "string",
@@ -126,6 +110,23 @@
126
110
  }
127
111
  }
128
112
  },
113
+ "reviewCoverage": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "description": "Require files matching include to appear in at least one scanned document's review-deps. Omit the section to use built-in code defaults. Set include to [] to disable.",
117
+ "properties": {
118
+ "include": {
119
+ "type": "array",
120
+ "items": { "type": "string", "minLength": 1 },
121
+ "description": "Repo-relative globs that require an owning paper. Empty array disables coverage and uncovered-changed-path."
122
+ },
123
+ "exclude": {
124
+ "type": "array",
125
+ "items": { "type": "string", "minLength": 1 },
126
+ "description": "Globs removed from the coverage set (added to built-in test and fixture excludes)"
127
+ }
128
+ }
129
+ },
129
130
  "reviewProof": {
130
131
  "type": "object",
131
132
  "additionalProperties": false,
@@ -14,11 +14,6 @@ deny:
14
14
 
15
15
  daysUntilStale: 365
16
16
 
17
- # Optional: basenames under .skeleton/customize/ appended on every skill inject
18
- # customize:
19
- # alwaysInclude:
20
- # - shared-agent-references.md
21
-
22
17
  # Optional: skill body ownership (skills-lock.json github entries are foreign by default)
23
18
  # skillOwnership:
24
19
  # lockfile: skills-lock.json
@@ -0,0 +1,9 @@
1
+ # Installed by `skeleton init`. Run `pre-commit install` once per machine.
2
+ repos:
3
+ - repo: local
4
+ hooks:
5
+ - id: skeleton-validate-staged
6
+ name: skeleton validate changed (staged)
7
+ entry: node node_modules/@csark0812/skeleton/dist/cli.js validate changed --staged
8
+ language: system
9
+ pass_filenames: false
@@ -15,15 +15,14 @@ exclude = [
15
15
  [deny]
16
16
  paths = []
17
17
 
18
- # Optional but recommended: make review claims verifiable against exact document
19
- # and review-dependency bytes. Commit the generated lockfile.
20
- # [reviewProof]
21
- # mode = "hash"
18
+ [reviewProof]
19
+ mode = "hash"
22
20
  # lockfile = ".skeleton/review-lock.json"
23
21
 
24
- # Optional: basenames under .skeleton/customize/ appended on every skill inject
25
- # [customize]
26
- # alwaysInclude = ["shared-agent-references.md"]
22
+ # Defaults apply when this section is omitted. Empty include disables the gate.
23
+ # [reviewCoverage]
24
+ # include = ["**/*.{ts,tsx,js,jsx,mjs,cjs,py}", "package.json", "project.json"]
25
+ # exclude = ["**/__tests__/**", "**/*.test.*", "**/*.spec.*", "**/fixtures/**", "templates/**", "**/node_modules/**", "**/dist/**"]
27
26
 
28
27
  # Optional: near-dupe / SSOT-summary tunables
29
28
  # [docsLint]