@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/lib/index.mjs CHANGED
@@ -1025,6 +1025,89 @@ var jestBundle = {
1025
1025
  }
1026
1026
  };
1027
1027
 
1028
+ // src/agent/bundles/project-context.ts
1029
+ var PROJECT_CONTEXT_PATH = "docs/project-context.md";
1030
+ var PROJECT_CONTEXT_READER_SECTION = [
1031
+ "## Project Context",
1032
+ "",
1033
+ `Before doing any work, read \`${PROJECT_CONTEXT_PATH}\` at the`,
1034
+ 'repository root. It is the canonical answer to "what is this project',
1035
+ 'about?" \u2014 mission, domain vocabulary, in/out-of-scope capabilities, and',
1036
+ "key stakeholders. Use it to frame judgment calls in this session.",
1037
+ "",
1038
+ `If \`${PROJECT_CONTEXT_PATH}\` does not exist, proceed with the current`,
1039
+ "task and note the absence in your session log \u2014 the meeting-analyst and",
1040
+ "requirements-analyst agents seed the file on their next run.",
1041
+ "",
1042
+ "You are a **read-only consumer** of this file. Do not edit it.",
1043
+ "",
1044
+ "---",
1045
+ ""
1046
+ ];
1047
+ var PROJECT_CONTEXT_MAINTAINER_SECTION = [
1048
+ "## Project Context",
1049
+ "",
1050
+ `Before starting any phase, read \`${PROJECT_CONTEXT_PATH}\` at the`,
1051
+ 'repository root. It is the canonical answer to "what is this project',
1052
+ 'about?" \u2014 mission, domain vocabulary, in/out-of-scope capabilities, and',
1053
+ "key stakeholders. Use it to judge relevance when scanning source",
1054
+ "material in this session.",
1055
+ "",
1056
+ "### Seed on first use",
1057
+ "",
1058
+ `If \`${PROJECT_CONTEXT_PATH}\` does not exist, create it from this`,
1059
+ "template and commit it alongside this phase's other outputs:",
1060
+ "",
1061
+ "```markdown",
1062
+ "# Project Context",
1063
+ "",
1064
+ "> Canonical description of this project. Read by all agents before",
1065
+ "> work. Updated by meeting-analyst and requirements-analyst when new",
1066
+ "> scope, vocabulary, or stakeholders emerge.",
1067
+ "",
1068
+ "## Mission",
1069
+ "TODO: one or two sentences on what this project exists to do.",
1070
+ "",
1071
+ "## Target Users",
1072
+ "TODO: who uses this, in what role.",
1073
+ "",
1074
+ "## In-Scope Capabilities",
1075
+ "TODO: bullet list of the capabilities this project owns.",
1076
+ "",
1077
+ "## Out-of-Scope",
1078
+ "TODO: capabilities or concerns that are explicitly not this project's.",
1079
+ "",
1080
+ "## Domain Vocabulary",
1081
+ "TODO: short glossary of domain terms, acronyms, and their definitions.",
1082
+ "",
1083
+ "## Key Stakeholders",
1084
+ "TODO: named people or teams and what they care about.",
1085
+ "",
1086
+ "## References",
1087
+ "TODO: links to BCM docs, competitive analysis, product roadmap, and",
1088
+ "other authoritative sources.",
1089
+ "```",
1090
+ "",
1091
+ "Fill whatever you can infer from the source material you are already",
1092
+ "reading in this phase; leave `TODO:` placeholders for the rest.",
1093
+ "",
1094
+ "### Update on new facts",
1095
+ "",
1096
+ "When the source material you process reveals new project-scope",
1097
+ "information \u2014 a new capability, a vocabulary term, an entity, a",
1098
+ "stakeholder, an in/out-of-scope decision, or a shift in mission \u2014",
1099
+ `append or revise the relevant section in \`${PROJECT_CONTEXT_PATH}\``,
1100
+ "before closing the phase. Commit those edits with the phase's other",
1101
+ "outputs.",
1102
+ "",
1103
+ "Keep edits surgical: short bullet additions, brief clarifications, or",
1104
+ "single-line vocabulary entries. Treat the file as an accreting",
1105
+ "reference, not a document you reshape every session.",
1106
+ "",
1107
+ "---",
1108
+ ""
1109
+ ];
1110
+
1028
1111
  // src/agent/bundles/meeting-analysis.ts
1029
1112
  var meetingAnalystSubAgent = {
1030
1113
  name: "meeting-analyst",
@@ -1066,6 +1149,7 @@ var meetingAnalystSubAgent = {
1066
1149
  "",
1067
1150
  "---",
1068
1151
  "",
1152
+ ...PROJECT_CONTEXT_MAINTAINER_SECTION,
1069
1153
  "## Traceability",
1070
1154
  "",
1071
1155
  "All outputs must be bi-directionally linked so any artifact can be traced",
@@ -1715,6 +1799,7 @@ var orchestratorSubAgent = {
1715
1799
  "",
1716
1800
  "---",
1717
1801
  "",
1802
+ ...PROJECT_CONTEXT_READER_SECTION,
1718
1803
  "## Phase A: Startup",
1719
1804
  "",
1720
1805
  "```bash",
@@ -1881,6 +1966,9 @@ var issueWorkerSubAgent = {
1881
1966
  "doubt, treat the session as interactive \u2014 pausing for approval is always",
1882
1967
  "safe; committing without approval is not.",
1883
1968
  "",
1969
+ "---",
1970
+ "",
1971
+ ...PROJECT_CONTEXT_READER_SECTION,
1884
1972
  "## Phase 1: Select an Issue",
1885
1973
  "",
1886
1974
  "If an issue number was provided in your instructions, use that issue.",
@@ -2230,6 +2318,7 @@ var prReviewerSubAgent = {
2230
2318
  "",
2231
2319
  "---",
2232
2320
  "",
2321
+ ...PROJECT_CONTEXT_READER_SECTION,
2233
2322
  "## Phase 1: Identify the PR",
2234
2323
  "",
2235
2324
  "If a PR number was provided in your instructions, use that. Otherwise stop",
@@ -2885,6 +2974,9 @@ var requirementsAnalystSubAgent = {
2885
2974
  "Follow your project's shared agent conventions (`AGENTS.md`,",
2886
2975
  "`CLAUDE.md`, or equivalent) for all commit, branch, and PR rules.",
2887
2976
  "",
2977
+ "---",
2978
+ "",
2979
+ ...PROJECT_CONTEXT_MAINTAINER_SECTION,
2888
2980
  "## Design Principles",
2889
2981
  "",
2890
2982
  "1. **Discover, don't write.** This agent identifies *what requirements are",
@@ -2985,7 +3077,7 @@ var requirementsAnalystSubAgent = {
2985
3077
  "",
2986
3078
  "| Scope | What to read | What to look for |",
2987
3079
  "|-------|-------------|-----------------|",
2988
- "| **BCM model doc** | One `{PREFIX}-NNN` doc under `<BCM_DOCS_ROOT>` | `## Vortex Relevance` (or equivalent project-relevance) section \u2014 gaps where capabilities exist but no FR/BR/INT addresses them |",
3080
+ "| **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. |",
2989
3081
  "| **Competitive analysis** | One `comp-*.md` doc under `<COMPETITIVE_ROOT>` | Feature comparison gaps \u2014 competitor features the product lacks requirements for |",
2990
3082
  "| **Product roadmap** | `<PRODUCT_ROOT>/prioritized-feature-roadmap.md` | Roadmap items without corresponding FRs |",
2991
3083
  "| **Entity taxonomy** | `<PRODUCT_ROOT>/entity-taxonomy.md` | Entities without CRUD requirements (FR), data requirements (DR), or security requirements (SEC) |",
@@ -3178,9 +3270,9 @@ var requirementsAnalystSubAgent = {
3178
3270
  " ```",
3179
3271
  "",
3180
3272
  "3. **Update source documents.** In each BCM model doc or competitive",
3181
- " analysis that was scanned, add a note in the `## Vortex Relevance` or",
3182
- " `## Strategic Implications` section indicating that a requirement issue",
3183
- " was created:",
3273
+ " analysis that was scanned, add a note in the project-relevance /",
3274
+ " strategic-implications section (whichever heading the source doc uses)",
3275
+ " indicating that a requirement issue was created:",
3184
3276
  "",
3185
3277
  " ```markdown",
3186
3278
  " - Gap addressed: see [<PREFIX>-<NNN>](<relative path to requirement doc>)",
@@ -3198,7 +3290,7 @@ var requirementsAnalystSubAgent = {
3198
3290
  "",
3199
3291
  "| Direction | Agent | What |",
3200
3292
  "|-----------|-------|------|",
3201
- "| Upstream | BCM Writer | Scans `## Vortex Relevance` sections for capability gaps |",
3293
+ "| Upstream | BCM Writer | Scans capability-model docs for project-relevance gaps (judged against `docs/project-context.md`) |",
3202
3294
  "| Upstream | Company Research | Scans competitive analysis for feature comparison gaps |",
3203
3295
  "| Upstream | Meeting Analyst | Scans meeting extracts for requirement proposals |",
3204
3296
  "| Downstream | Requirements Writer (BCM Writer) | Creates `type:requirement` issues for the skill to draft |",