@pieai/doc-gov 0.7.1 → 0.7.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 +2 -3
- package/dist/cli.js +26 -44
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,9 +53,8 @@ runtime notes, or source assets outside `docs/**` unless a project explicitly
|
|
|
53
53
|
opts them into doc-gov.
|
|
54
54
|
|
|
55
55
|
Reusable learning records under `docs/reference/learnings/**` are governed
|
|
56
|
-
`reference` documents.
|
|
57
|
-
`
|
|
58
|
-
decision surface.
|
|
56
|
+
`reference` documents. Project decisions use the governed `docs/adr/**` surface
|
|
57
|
+
with `decision` frontmatter and the normal decision lifecycle.
|
|
59
58
|
|
|
60
59
|
## Status
|
|
61
60
|
|
package/dist/cli.js
CHANGED
|
@@ -70,8 +70,6 @@ import { join, relative } from "node:path";
|
|
|
70
70
|
|
|
71
71
|
// src/core/external-artifacts.ts
|
|
72
72
|
var EXTERNAL_ARTIFACT_PREFIXES = [
|
|
73
|
-
"docs/adr/",
|
|
74
|
-
"docs/agents/",
|
|
75
73
|
"docs/brainstorms/",
|
|
76
74
|
"docs/pulse-reports/"
|
|
77
75
|
];
|
|
@@ -920,7 +918,6 @@ var CENTRAL_REQUIRED_FILES = [
|
|
|
920
918
|
"docs/governance/templates/archive.md",
|
|
921
919
|
"docs/governance/agents-routing/engineering-runtime-v1.1.md",
|
|
922
920
|
"docs/governance/agents-routing/doc-only-v1.1.md",
|
|
923
|
-
"integrations/mattpocock-skills.md",
|
|
924
921
|
"profiles/engineering-runtime/profile.md",
|
|
925
922
|
"profiles/engineering-runtime/manifest.yml",
|
|
926
923
|
"profiles/doc-only/profile.md",
|
|
@@ -1056,31 +1053,11 @@ var CENTRAL_REQUIRED_NEEDLES = [
|
|
|
1056
1053
|
needle: "does not use engineering test workflows by default",
|
|
1057
1054
|
message: "Doc-only routing must exclude engineering test workflows by default."
|
|
1058
1055
|
},
|
|
1059
|
-
{
|
|
1060
|
-
file: "integrations/mattpocock-skills.md",
|
|
1061
|
-
needle: "does not vendor",
|
|
1062
|
-
message: "mattpocock/skills integration must preserve the external-skill boundary."
|
|
1063
|
-
},
|
|
1064
|
-
{
|
|
1065
|
-
file: "integrations/mattpocock-skills.md",
|
|
1066
|
-
needle: "no default workflow owner",
|
|
1067
|
-
message: "mattpocock/skills integration must not create a mandatory workflow owner."
|
|
1068
|
-
},
|
|
1069
|
-
{
|
|
1070
|
-
file: "integrations/mattpocock-skills.md",
|
|
1071
|
-
needle: "docs/agents/**",
|
|
1072
|
-
message: "mattpocock/skills integration must document Matt-owned setup artifacts."
|
|
1073
|
-
},
|
|
1074
1056
|
{
|
|
1075
1057
|
file: "profiles/engineering-runtime/manifest.yml",
|
|
1076
1058
|
needle: "docs/governance/agents-routing/engineering-runtime-v1.1.md",
|
|
1077
1059
|
message: "Engineering profile manifest must point to engineering routing."
|
|
1078
1060
|
},
|
|
1079
|
-
{
|
|
1080
|
-
file: "profiles/engineering-runtime/manifest.yml",
|
|
1081
|
-
needle: "integrations/mattpocock-skills.md",
|
|
1082
|
-
message: "Engineering profile manifest must include the mattpocock/skills integration."
|
|
1083
|
-
},
|
|
1084
1061
|
{
|
|
1085
1062
|
file: "profiles/doc-only/manifest.yml",
|
|
1086
1063
|
needle: "docs/governance/agents-routing/doc-only-v1.1.md",
|
|
@@ -1759,9 +1736,31 @@ var TEMPLATE_FILES = {
|
|
|
1759
1736
|
};
|
|
1760
1737
|
var DEFAULT_TEMPLATES = {
|
|
1761
1738
|
"adr.md": [
|
|
1762
|
-
"
|
|
1739
|
+
"---",
|
|
1740
|
+
"id: REPLACE-ME",
|
|
1741
|
+
"title: Replace Me",
|
|
1742
|
+
"type: decision",
|
|
1743
|
+
"status: proposed",
|
|
1744
|
+
"canonical: true",
|
|
1745
|
+
"owner: human",
|
|
1746
|
+
"created: YYYY-MM-DD",
|
|
1747
|
+
"last_reviewed: YYYY-MM-DD",
|
|
1748
|
+
"domain: meta",
|
|
1749
|
+
"tags:",
|
|
1750
|
+
" - replace-me",
|
|
1751
|
+
"pinned: false",
|
|
1752
|
+
"related: []",
|
|
1753
|
+
"supersedes: []",
|
|
1754
|
+
"superseded_by: null",
|
|
1755
|
+
"---",
|
|
1756
|
+
"",
|
|
1757
|
+
"# REPLACE-ME: Replace Me",
|
|
1763
1758
|
"",
|
|
1764
|
-
"
|
|
1759
|
+
"## Context",
|
|
1760
|
+
"",
|
|
1761
|
+
"## Decision",
|
|
1762
|
+
"",
|
|
1763
|
+
"## Consequences",
|
|
1765
1764
|
""
|
|
1766
1765
|
].join("\n"),
|
|
1767
1766
|
"spec.md": [
|
|
@@ -2177,26 +2176,9 @@ function runNew(args2) {
|
|
|
2177
2176
|
console.error(`File already exists: ${plan.filePath}. Use --force to overwrite.`);
|
|
2178
2177
|
return 1;
|
|
2179
2178
|
}
|
|
2180
|
-
if (type === "decision") {
|
|
2181
|
-
const title2 = titleOverride ?? slugToTitle(plan.slug);
|
|
2182
|
-
mkdirSync5(dirname4(absPath), { recursive: true });
|
|
2183
|
-
writeFileSync6(
|
|
2184
|
-
absPath,
|
|
2185
|
-
`# ${title2}
|
|
2186
|
-
|
|
2187
|
-
Record the context, decision, and why in one to three sentences.
|
|
2188
|
-
`
|
|
2189
|
-
);
|
|
2190
|
-
console.log(`Created ${plan.filePath} with id ${plan.id}.`);
|
|
2191
|
-
console.log(`
|
|
2192
|
-
Next steps:`);
|
|
2193
|
-
console.log(` 1. Replace the placeholder sentence in ${plan.filePath}.`);
|
|
2194
|
-
console.log(` 2. Keep this ADR concise; Doc Gov intentionally treats docs/adr/** as Matt-compatible external artifacts.`);
|
|
2195
|
-
return 0;
|
|
2196
|
-
}
|
|
2197
2179
|
const template = loadTemplate(root, type);
|
|
2198
|
-
const status = "draft";
|
|
2199
|
-
const canonical =
|
|
2180
|
+
const status = type === "decision" ? "proposed" : "draft";
|
|
2181
|
+
const canonical = type === "decision";
|
|
2200
2182
|
const today = todayIso();
|
|
2201
2183
|
const title = titleOverride ?? slugToTitle(plan.slug);
|
|
2202
2184
|
const rendered = renderTemplate(template, {
|