@codedrifters/configulator 0.0.202 → 0.0.203
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/docs/label-taxonomy.md +4 -4
- package/lib/index.js +97 -5
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +97 -5
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/docs/label-taxonomy.md
CHANGED
|
@@ -39,7 +39,7 @@ Owned by the individual agent bundle that depends on them. A bundle
|
|
|
39
39
|
should contribute only the labels its rules reference — typically a
|
|
40
40
|
small family of phase labels used by a multi-phase workflow.
|
|
41
41
|
|
|
42
|
-
Examples seen in
|
|
42
|
+
Examples seen in a reference taxonomy from a downstream project:
|
|
43
43
|
|
|
44
44
|
- `meeting:extract`, `meeting:notes`, `meeting:draft`, `meeting:link`
|
|
45
45
|
— owned by the meeting-analysis bundle
|
|
@@ -78,8 +78,8 @@ description by supplying the same label name via
|
|
|
78
78
|
### Tier 3 — Consumer-project labels
|
|
79
79
|
|
|
80
80
|
Owned by the end project. These are domain-specific categories
|
|
81
|
-
configulator cannot reasonably predict. Examples from
|
|
82
|
-
|
|
81
|
+
configulator cannot reasonably predict. Examples from a reference
|
|
82
|
+
downstream project:
|
|
83
83
|
|
|
84
84
|
- `area:requirements`, `area:business-strategy`, `area:references`,
|
|
85
85
|
`area:product`, `area:architecture` — area labels tied to a
|
|
@@ -133,6 +133,6 @@ belongs to.
|
|
|
133
133
|
## See also
|
|
134
134
|
|
|
135
135
|
- `docs/audits/label-audit-308.md` — initial audit of configulator
|
|
136
|
-
labels against
|
|
136
|
+
labels against a reference taxonomy from a downstream project
|
|
137
137
|
- `src/workflows/sync-labels.ts` — source of truth for the Tier 1
|
|
138
138
|
default labels
|
package/lib/index.js
CHANGED
|
@@ -1093,6 +1093,89 @@ var jestBundle = {
|
|
|
1093
1093
|
}
|
|
1094
1094
|
};
|
|
1095
1095
|
|
|
1096
|
+
// src/agent/bundles/project-context.ts
|
|
1097
|
+
var PROJECT_CONTEXT_PATH = "docs/project-context.md";
|
|
1098
|
+
var PROJECT_CONTEXT_READER_SECTION = [
|
|
1099
|
+
"## Project Context",
|
|
1100
|
+
"",
|
|
1101
|
+
`Before doing any work, read \`${PROJECT_CONTEXT_PATH}\` at the`,
|
|
1102
|
+
'repository root. It is the canonical answer to "what is this project',
|
|
1103
|
+
'about?" \u2014 mission, domain vocabulary, in/out-of-scope capabilities, and',
|
|
1104
|
+
"key stakeholders. Use it to frame judgment calls in this session.",
|
|
1105
|
+
"",
|
|
1106
|
+
`If \`${PROJECT_CONTEXT_PATH}\` does not exist, proceed with the current`,
|
|
1107
|
+
"task and note the absence in your session log \u2014 the meeting-analyst and",
|
|
1108
|
+
"requirements-analyst agents seed the file on their next run.",
|
|
1109
|
+
"",
|
|
1110
|
+
"You are a **read-only consumer** of this file. Do not edit it.",
|
|
1111
|
+
"",
|
|
1112
|
+
"---",
|
|
1113
|
+
""
|
|
1114
|
+
];
|
|
1115
|
+
var PROJECT_CONTEXT_MAINTAINER_SECTION = [
|
|
1116
|
+
"## Project Context",
|
|
1117
|
+
"",
|
|
1118
|
+
`Before starting any phase, read \`${PROJECT_CONTEXT_PATH}\` at the`,
|
|
1119
|
+
'repository root. It is the canonical answer to "what is this project',
|
|
1120
|
+
'about?" \u2014 mission, domain vocabulary, in/out-of-scope capabilities, and',
|
|
1121
|
+
"key stakeholders. Use it to judge relevance when scanning source",
|
|
1122
|
+
"material in this session.",
|
|
1123
|
+
"",
|
|
1124
|
+
"### Seed on first use",
|
|
1125
|
+
"",
|
|
1126
|
+
`If \`${PROJECT_CONTEXT_PATH}\` does not exist, create it from this`,
|
|
1127
|
+
"template and commit it alongside this phase's other outputs:",
|
|
1128
|
+
"",
|
|
1129
|
+
"```markdown",
|
|
1130
|
+
"# Project Context",
|
|
1131
|
+
"",
|
|
1132
|
+
"> Canonical description of this project. Read by all agents before",
|
|
1133
|
+
"> work. Updated by meeting-analyst and requirements-analyst when new",
|
|
1134
|
+
"> scope, vocabulary, or stakeholders emerge.",
|
|
1135
|
+
"",
|
|
1136
|
+
"## Mission",
|
|
1137
|
+
"TODO: one or two sentences on what this project exists to do.",
|
|
1138
|
+
"",
|
|
1139
|
+
"## Target Users",
|
|
1140
|
+
"TODO: who uses this, in what role.",
|
|
1141
|
+
"",
|
|
1142
|
+
"## In-Scope Capabilities",
|
|
1143
|
+
"TODO: bullet list of the capabilities this project owns.",
|
|
1144
|
+
"",
|
|
1145
|
+
"## Out-of-Scope",
|
|
1146
|
+
"TODO: capabilities or concerns that are explicitly not this project's.",
|
|
1147
|
+
"",
|
|
1148
|
+
"## Domain Vocabulary",
|
|
1149
|
+
"TODO: short glossary of domain terms, acronyms, and their definitions.",
|
|
1150
|
+
"",
|
|
1151
|
+
"## Key Stakeholders",
|
|
1152
|
+
"TODO: named people or teams and what they care about.",
|
|
1153
|
+
"",
|
|
1154
|
+
"## References",
|
|
1155
|
+
"TODO: links to BCM docs, competitive analysis, product roadmap, and",
|
|
1156
|
+
"other authoritative sources.",
|
|
1157
|
+
"```",
|
|
1158
|
+
"",
|
|
1159
|
+
"Fill whatever you can infer from the source material you are already",
|
|
1160
|
+
"reading in this phase; leave `TODO:` placeholders for the rest.",
|
|
1161
|
+
"",
|
|
1162
|
+
"### Update on new facts",
|
|
1163
|
+
"",
|
|
1164
|
+
"When the source material you process reveals new project-scope",
|
|
1165
|
+
"information \u2014 a new capability, a vocabulary term, an entity, a",
|
|
1166
|
+
"stakeholder, an in/out-of-scope decision, or a shift in mission \u2014",
|
|
1167
|
+
`append or revise the relevant section in \`${PROJECT_CONTEXT_PATH}\``,
|
|
1168
|
+
"before closing the phase. Commit those edits with the phase's other",
|
|
1169
|
+
"outputs.",
|
|
1170
|
+
"",
|
|
1171
|
+
"Keep edits surgical: short bullet additions, brief clarifications, or",
|
|
1172
|
+
"single-line vocabulary entries. Treat the file as an accreting",
|
|
1173
|
+
"reference, not a document you reshape every session.",
|
|
1174
|
+
"",
|
|
1175
|
+
"---",
|
|
1176
|
+
""
|
|
1177
|
+
];
|
|
1178
|
+
|
|
1096
1179
|
// src/agent/bundles/meeting-analysis.ts
|
|
1097
1180
|
var meetingAnalystSubAgent = {
|
|
1098
1181
|
name: "meeting-analyst",
|
|
@@ -1134,6 +1217,7 @@ var meetingAnalystSubAgent = {
|
|
|
1134
1217
|
"",
|
|
1135
1218
|
"---",
|
|
1136
1219
|
"",
|
|
1220
|
+
...PROJECT_CONTEXT_MAINTAINER_SECTION,
|
|
1137
1221
|
"## Traceability",
|
|
1138
1222
|
"",
|
|
1139
1223
|
"All outputs must be bi-directionally linked so any artifact can be traced",
|
|
@@ -1783,6 +1867,7 @@ var orchestratorSubAgent = {
|
|
|
1783
1867
|
"",
|
|
1784
1868
|
"---",
|
|
1785
1869
|
"",
|
|
1870
|
+
...PROJECT_CONTEXT_READER_SECTION,
|
|
1786
1871
|
"## Phase A: Startup",
|
|
1787
1872
|
"",
|
|
1788
1873
|
"```bash",
|
|
@@ -1949,6 +2034,9 @@ var issueWorkerSubAgent = {
|
|
|
1949
2034
|
"doubt, treat the session as interactive \u2014 pausing for approval is always",
|
|
1950
2035
|
"safe; committing without approval is not.",
|
|
1951
2036
|
"",
|
|
2037
|
+
"---",
|
|
2038
|
+
"",
|
|
2039
|
+
...PROJECT_CONTEXT_READER_SECTION,
|
|
1952
2040
|
"## Phase 1: Select an Issue",
|
|
1953
2041
|
"",
|
|
1954
2042
|
"If an issue number was provided in your instructions, use that issue.",
|
|
@@ -2298,6 +2386,7 @@ var prReviewerSubAgent = {
|
|
|
2298
2386
|
"",
|
|
2299
2387
|
"---",
|
|
2300
2388
|
"",
|
|
2389
|
+
...PROJECT_CONTEXT_READER_SECTION,
|
|
2301
2390
|
"## Phase 1: Identify the PR",
|
|
2302
2391
|
"",
|
|
2303
2392
|
"If a PR number was provided in your instructions, use that. Otherwise stop",
|
|
@@ -2953,6 +3042,9 @@ var requirementsAnalystSubAgent = {
|
|
|
2953
3042
|
"Follow your project's shared agent conventions (`AGENTS.md`,",
|
|
2954
3043
|
"`CLAUDE.md`, or equivalent) for all commit, branch, and PR rules.",
|
|
2955
3044
|
"",
|
|
3045
|
+
"---",
|
|
3046
|
+
"",
|
|
3047
|
+
...PROJECT_CONTEXT_MAINTAINER_SECTION,
|
|
2956
3048
|
"## Design Principles",
|
|
2957
3049
|
"",
|
|
2958
3050
|
"1. **Discover, don't write.** This agent identifies *what requirements are",
|
|
@@ -3053,7 +3145,7 @@ var requirementsAnalystSubAgent = {
|
|
|
3053
3145
|
"",
|
|
3054
3146
|
"| Scope | What to read | What to look for |",
|
|
3055
3147
|
"|-------|-------------|-----------------|",
|
|
3056
|
-
"| **BCM model doc** | One `{PREFIX}-NNN` doc under `<BCM_DOCS_ROOT>` | `##
|
|
3148
|
+
"| **BCM model doc** | One `{PREFIX}-NNN` doc under `<BCM_DOCS_ROOT>` | The doc's project-relevance section (commonly `## <Project> Relevance` or `## Strategic Implications`) \u2014 gaps where capabilities exist but no FR/BR/INT addresses them. Use `docs/project-context.md` to judge what is relevant. |",
|
|
3057
3149
|
"| **Competitive analysis** | One `comp-*.md` doc under `<COMPETITIVE_ROOT>` | Feature comparison gaps \u2014 competitor features the product lacks requirements for |",
|
|
3058
3150
|
"| **Product roadmap** | `<PRODUCT_ROOT>/prioritized-feature-roadmap.md` | Roadmap items without corresponding FRs |",
|
|
3059
3151
|
"| **Entity taxonomy** | `<PRODUCT_ROOT>/entity-taxonomy.md` | Entities without CRUD requirements (FR), data requirements (DR), or security requirements (SEC) |",
|
|
@@ -3246,9 +3338,9 @@ var requirementsAnalystSubAgent = {
|
|
|
3246
3338
|
" ```",
|
|
3247
3339
|
"",
|
|
3248
3340
|
"3. **Update source documents.** In each BCM model doc or competitive",
|
|
3249
|
-
" analysis that was scanned, add a note in the
|
|
3250
|
-
"
|
|
3251
|
-
" was created:",
|
|
3341
|
+
" analysis that was scanned, add a note in the project-relevance /",
|
|
3342
|
+
" strategic-implications section (whichever heading the source doc uses)",
|
|
3343
|
+
" indicating that a requirement issue was created:",
|
|
3252
3344
|
"",
|
|
3253
3345
|
" ```markdown",
|
|
3254
3346
|
" - Gap addressed: see [<PREFIX>-<NNN>](<relative path to requirement doc>)",
|
|
@@ -3266,7 +3358,7 @@ var requirementsAnalystSubAgent = {
|
|
|
3266
3358
|
"",
|
|
3267
3359
|
"| Direction | Agent | What |",
|
|
3268
3360
|
"|-----------|-------|------|",
|
|
3269
|
-
"| Upstream | BCM Writer | Scans
|
|
3361
|
+
"| Upstream | BCM Writer | Scans capability-model docs for project-relevance gaps (judged against `docs/project-context.md`) |",
|
|
3270
3362
|
"| Upstream | Company Research | Scans competitive analysis for feature comparison gaps |",
|
|
3271
3363
|
"| Upstream | Meeting Analyst | Scans meeting extracts for requirement proposals |",
|
|
3272
3364
|
"| Downstream | Requirements Writer (BCM Writer) | Creates `type:requirement` issues for the skill to draft |",
|