agentme 0.7.4 → 0.8.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.
- package/.specify/memory/constitution.md +33 -52
- package/.xdrs/agentme/edrs/application/003-javascript-project-tooling.md +2 -2
- package/.xdrs/agentme/edrs/application/010-golang-project-tooling.md +2 -2
- package/.xdrs/agentme/edrs/application/014-python-project-tooling.md +8 -8
- package/.xdrs/agentme/edrs/application/015-cli-tool-standards.md +3 -3
- package/.xdrs/agentme/edrs/application/skills/001-create-javascript-project/SKILL.md +2 -2
- package/.xdrs/agentme/edrs/application/skills/003-create-golang-project/SKILL.md +2 -2
- package/.xdrs/agentme/edrs/application/skills/004-select-relevant-xdrs/SKILL.md +6 -6
- package/.xdrs/agentme/edrs/application/skills/005-create-python-project/SKILL.md +3 -3
- package/.xdrs/agentme/edrs/devops/005-monorepo-structure.md +2 -2
- package/.xdrs/agentme/edrs/devops/006-github-pipelines.md +1 -1
- package/.xdrs/agentme/edrs/devops/017-tool-execution-and-scripting.md +3 -3
- package/.xdrs/agentme/edrs/devops/skills/002-monorepo-setup/SKILL.md +2 -2
- package/.xdrs/agentme/edrs/governance/013-contributing-guide-requirements.md +2 -2
- package/.xdrs/agentme/edrs/principles/007-project-quality-standards.md +2 -2
- package/.xdrs/agentme/edrs/principles/012-continuous-xdr-enrichment.md +3 -3
- package/.xdrs/agentme/edrs/principles/016-cross-language-module-structure.md +4 -4
- package/.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md +5 -5
- package/package.json +4 -4
|
@@ -40,78 +40,59 @@ vibe coding, onboarding, and future feature development.
|
|
|
40
40
|
- EDRs capture concrete engineering decisions: tooling, structure, practices.
|
|
41
41
|
- Every non-trivial implementation decision MUST have a corresponding XDR entry before the implementation task is marked complete. Create new XDRs if necessary.
|
|
42
42
|
|
|
43
|
-
### II.
|
|
43
|
+
### II. XDR as the Single Source of Truth for All Policies
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
All quality standards, business policies, architectural policies, and engineering policies that
|
|
46
|
+
specs, plans, and implementations must follow MUST be captured exclusively in XDRs. The
|
|
47
|
+
constitution does not restate those rules; it defers to them.
|
|
47
48
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
### III. Consumer-First API Discipline
|
|
56
|
-
|
|
57
|
-
XDRs, skills, and preset file sets are a public API consumed by external projects. Changes MUST
|
|
58
|
-
respect semantic versioning.
|
|
59
|
-
|
|
60
|
-
- MAJOR: removing or renaming a preset, removing or restructuring an XDR that external consumers
|
|
61
|
-
reference, or any change that requires consumer-side migration.
|
|
62
|
-
- MINOR: adding a new preset, adding XDRs or skills, adding files to an existing preset.
|
|
63
|
-
- PATCH: wording, clarifications, typo fixes inside XDRs or skills that carry no structural change.
|
|
64
|
-
- Breaking changes MUST be documented in the release notes and in the relevant XDR's `Conflicts`
|
|
65
|
-
or `Implementation Details` section before merging.
|
|
66
|
-
|
|
67
|
-
### IV. Self-Contained Artifacts
|
|
68
|
-
|
|
69
|
-
Every XDR and skill MUST work without any implicit context outside itself.
|
|
70
|
-
|
|
71
|
-
- XDRs MUST be under 100 lines (hard limit 200 for templates and elaborate decisions).
|
|
72
|
-
- Skills MUST be under 500 lines; lengthy reference material goes in `references/`.
|
|
73
|
-
- Internal cross-references MUST use relative file paths; no absolute or external URLs without
|
|
74
|
-
explanation.
|
|
75
|
-
- A consumer reading an XDR or skill for the first time MUST be able to follow it without
|
|
76
|
-
accessing other systems.
|
|
77
|
-
|
|
78
|
-
### V. Simplicity and Verified Quality
|
|
79
|
-
|
|
80
|
-
The simplest solution that passes all tests is always preferred. Quality gates are non-negotiable.
|
|
81
|
-
|
|
82
|
-
- `make test` MUST pass before any release; failures block publish.
|
|
83
|
-
- Linting MUST be clean (`make lint-fix`) before merging.
|
|
84
|
-
- Files MUST NOT exceed 400 lines (test files excepted).
|
|
85
|
-
- No feature scope creep: implement only what the current spec requires.
|
|
86
|
-
- Avoid adding error handling, fallbacks, or abstractions for hypothetical future scenarios.
|
|
87
|
-
|
|
88
|
-
## Quality Requirements
|
|
89
|
-
|
|
90
|
-
- `make test` in `examples/` MUST verify all preset extraction scenarios end-to-end.
|
|
91
|
-
- XDRs produced during a feature MUST be reviewed for non-conflict before merging.
|
|
92
|
-
- All XDR indexes (`_local`, `agentme`, `_core`) MUST be updated before a PR is merged.
|
|
93
|
-
- New presets or selector changes MUST include updated test assertions in the examples Makefile.
|
|
49
|
+
- Quality gates (testing, linting, coverage thresholds, file-size limits) → EDRs.
|
|
50
|
+
- Business rules, consumer workflows, versioning contracts → BDRs.
|
|
51
|
+
- Architectural patterns, cross-cutting concerns, dependency strategies → ADRs.
|
|
52
|
+
- If a policy is not in an XDR, it is not an enforceable policy. Write the XDR first.
|
|
53
|
+
- Agents and humans MUST consult the XDR index before starting any work and MUST follow every
|
|
54
|
+
relevant XDR found there without exception.
|
|
94
55
|
|
|
95
56
|
## Development Workflow
|
|
96
57
|
|
|
97
58
|
1. Before starting a feature: check existing XDRs for applicable decisions.
|
|
98
59
|
2. During specifying (`speckit.specify`): capture business requirements as BDRs in `_local`.
|
|
60
|
+
**After every `speckit.specify` run the agent MUST offer to run `speckit.clarify` (refine)
|
|
61
|
+
before proceeding to planning. This is non-negotiable.**
|
|
99
62
|
3. During planning (`speckit.plan`): update or create ADRs and EDRs in `_local` that reflect
|
|
100
63
|
architectural and engineering decisions made during the planning phase.
|
|
64
|
+
**After every `speckit.plan` run the agent MUST propose running `speckit.checklist` to enrich
|
|
65
|
+
the plan with domain-specific quality checks before generating tasks.**
|
|
101
66
|
4. During implementation: follow XDRs; create new `_local` XDRs for decisions not yet captured.
|
|
102
67
|
5. After implementation: delete feature specs and plans; XDRs remain permanently.
|
|
103
68
|
6. Runtime guidance: see `.xdrs/index.md` and all linked scope indexes.
|
|
104
69
|
|
|
70
|
+
## XDR Compliance Check (Mandatory at Every Stage)
|
|
71
|
+
|
|
72
|
+
Every Spec, Refinement (clarify), Plan, Checklist, and Implementation task MUST include an
|
|
73
|
+
explicit step that verifies compliance with the XDRs present in the repository:
|
|
74
|
+
|
|
75
|
+
1. Read `.xdrs/index.md` and all linked scope indexes (`_local`, `agentme`, `_core`).
|
|
76
|
+
2. Identify every XDR relevant to the work being performed.
|
|
77
|
+
3. Confirm that the artifact (spec, plan, task list, or code change) does not contradict any
|
|
78
|
+
relevant XDR.
|
|
79
|
+
4. If a contradiction or gap is found: either update the artifact to comply, or create/update the
|
|
80
|
+
relevant XDR to reflect the new decision before continuing.
|
|
81
|
+
5. Document the compliance check result in the artifact (e.g., a "XDR Compliance" section or
|
|
82
|
+
comment) so reviewers can audit it.
|
|
83
|
+
|
|
84
|
+
No artifact may be considered complete without a passed XDR compliance check.
|
|
85
|
+
|
|
105
86
|
## Governance
|
|
106
87
|
|
|
107
88
|
This constitution supersedes all other development practices within this repository. Amendments
|
|
108
89
|
require:
|
|
109
|
-
1. A version bump following semantic versioning rules stated in
|
|
90
|
+
1. A version bump following semantic versioning rules stated in the relevant BDR/ADR/EDR.
|
|
110
91
|
2. An updated `LAST_AMENDED_DATE` in this file.
|
|
111
|
-
3. A review of all
|
|
92
|
+
3. A review of all principles for continued non-conflict.
|
|
112
93
|
4. An updated Sync Impact Report (HTML comment at the top of this file).
|
|
113
94
|
|
|
114
|
-
All PRs MUST include a "Constitution Check" section confirming compliance with all
|
|
95
|
+
All PRs MUST include a "Constitution Check" section confirming compliance with all principles.
|
|
115
96
|
Complexity MUST be justified; if a solution requires deviation from a principle, that deviation
|
|
116
97
|
MUST be documented in a new or updated XDR in `_local`.
|
|
117
98
|
|
|
@@ -13,7 +13,7 @@ What tooling and project structure should JavaScript/TypeScript projects follow
|
|
|
13
13
|
|
|
14
14
|
## Decision Outcome
|
|
15
15
|
|
|
16
|
-
**Use a Mise-managed Node.js and pnpm toolchain together with pnpm, tsc, esbuild, eslint, and jest in a module-root layout that follows [agentme-edr-016](
|
|
16
|
+
**Use a Mise-managed Node.js and pnpm toolchain together with pnpm, tsc, esbuild, eslint, and jest in a module-root layout that follows [agentme-edr-016](../principles/016-cross-language-module-structure.md), with runnable usage examples in sibling `examples/` folders and Makefiles as the only entry points.**
|
|
17
17
|
|
|
18
18
|
Clear, consistent tooling and layout enable fast onboarding, reliable CI pipelines, and a predictable developer experience across projects.
|
|
19
19
|
|
|
@@ -30,7 +30,7 @@ Clear, consistent tooling and layout enable fast onboarding, reliable CI pipelin
|
|
|
30
30
|
| **eslint** | Linting — code style and quality enforcement |
|
|
31
31
|
| **jest** | Testing — unit and integration test runner |
|
|
32
32
|
|
|
33
|
-
All commands are run exclusively through Makefiles, not through `package.json` scripts. The repository root MUST define a `.mise.toml` that pins at least Node.js and pnpm. Contributors and CI MUST bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe MUST execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](
|
|
33
|
+
All commands are run exclusively through Makefiles, not through `package.json` scripts. The repository root MUST define a `.mise.toml` that pins at least Node.js and pnpm. Contributors and CI MUST bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe MUST execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](../devops/017-tool-execution-and-scripting.md). Calling project tools directly in docs, CI, or daily workflows instead of `make <target>` is not allowed.
|
|
34
34
|
|
|
35
35
|
#### ESLint
|
|
36
36
|
|
|
@@ -13,7 +13,7 @@ What tooling and project structure should Go projects follow to ensure consisten
|
|
|
13
13
|
|
|
14
14
|
## Decision Outcome
|
|
15
15
|
|
|
16
|
-
**Use a Mise-managed Go toolchain with `go build`, `go test`, and `golangci-lint`, module-root folder responsibilities from [agentme-edr-016](
|
|
16
|
+
**Use a Mise-managed Go toolchain with `go build`, `go test`, and `golangci-lint`, module-root folder responsibilities from [agentme-edr-016](../principles/016-cross-language-module-structure.md), feature packages in subdirectories, a `cli/` package for command wiring, and a Makefile as the single entry point for all development tasks.**
|
|
17
17
|
|
|
18
18
|
A predictable layout and minimal external tooling keep Go projects approachable, fast to build, and easy to distribute as cross-platform binaries.
|
|
19
19
|
|
|
@@ -28,7 +28,7 @@ A predictable layout and minimal external tooling keep Go projects approachable,
|
|
|
28
28
|
| **golangci-lint** | Linting — aggregates many linters in one fast run; configured via `.golangci.yml` |
|
|
29
29
|
| **monotag** | Version tagging from git history for the `publish` target |
|
|
30
30
|
|
|
31
|
-
All commands are run exclusively through the Makefile, never ad-hoc. The project root **MUST** define a `.mise.toml` that pins `go`, `golangci-lint`, and any other Go-related CLIs used by the project. Contributors and CI **MUST** bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe **MUST** execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](
|
|
31
|
+
All commands are run exclusively through the Makefile, never ad-hoc. The project root **MUST** define a `.mise.toml` that pins `go`, `golangci-lint`, and any other Go-related CLIs used by the project. Contributors and CI **MUST** bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe **MUST** execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](../devops/017-tool-execution-and-scripting.md).
|
|
32
32
|
Direct installation of project-required Go CLIs with `go install ...@latest` as a repair step is **NOT** allowed unless an XDR for that repository explicitly permits it.
|
|
33
33
|
|
|
34
34
|
#### Project structure
|
|
@@ -13,7 +13,7 @@ What tooling and project structure should Python projects follow to ensure consi
|
|
|
13
13
|
|
|
14
14
|
## Decision Outcome
|
|
15
15
|
|
|
16
|
-
**Use a Mise-managed Python and uv toolchain with `pyproject.toml`, `ruff`, `pyright`, `pytest`, `pytest-cov`, `pip-audit`, and a layout that follows [agentme-edr-016](
|
|
16
|
+
**Use a Mise-managed Python and uv toolchain with `pyproject.toml`, `ruff`, `pyright`, `pytest`, `pytest-cov`, `pip-audit`, and a layout that follows [agentme-edr-016](../principles/016-cross-language-module-structure.md): a module root under `lib/`, runnable consumer examples in sibling `examples/`, and standardized `dist/` and `.cache/` locations.**
|
|
17
17
|
|
|
18
18
|
A single dependency manager, isolated package internals under `lib/`, and a standard Makefile contract keep Python projects predictable for contributors and CI while keeping the repository root clean.
|
|
19
19
|
|
|
@@ -34,7 +34,7 @@ A single dependency manager, isolated package internals under `lib/`, and a stan
|
|
|
34
34
|
|
|
35
35
|
All routine commands must run through the project `Makefile`, never by calling `uv`, `ruff`, `pytest`, or `pyright` directly in docs, CI, or daily development workflows.
|
|
36
36
|
|
|
37
|
-
The repository root MUST define a `.mise.toml` that pins Python and uv. Contributors and CI MUST bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe MUST execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](
|
|
37
|
+
The repository root MUST define a `.mise.toml` that pins Python and uv. Contributors and CI MUST bootstrap with `make setup` or `mise install`, then invoke routine work with `make <target>`. Each Makefile recipe MUST execute the underlying tool through `mise exec -- <tool> ...`, following [agentme-edr-017](../devops/017-tool-execution-and-scripting.md). Using routine project CLI commands directly outside the Makefile contract is not allowed.
|
|
38
38
|
|
|
39
39
|
The root `.venv/` is the canonical environment location for both the library and all examples. Subdirectory commands must set `UV_PROJECT_ENVIRONMENT` to the workspace root `.venv/` instead of creating nested virtual environments.
|
|
40
40
|
|
|
@@ -80,7 +80,7 @@ Keep the repository root clean: source code, tests, distribution artifacts, and
|
|
|
80
80
|
|
|
81
81
|
Use the `lib/src/` layout for import safety and packaging clarity. Keep tests under `lib/tests/` and shared test setup in `lib/tests/conftest.py`. Do not introduce `requirements.txt`, `setup.py`, `setup.cfg`, `tox.ini`, `ruff.toml`, or `pyrightconfig.json` by default; keep project metadata and tool configuration in `lib/pyproject.toml`.
|
|
82
82
|
|
|
83
|
-
Libraries and shared utilities must include an `examples/` folder and wire example execution into the root `test` flow, following [agentme-edr-007](
|
|
83
|
+
Libraries and shared utilities must include an `examples/` folder and wire example execution into the root `test` flow, following [agentme-edr-007](../principles/007-project-quality-standards.md). Each example directory is its own Python project with its own `pyproject.toml`, and examples must import the library as a consumer would rather than reaching back into `lib/src/` with relative imports. Local example verification must install the wheel built into `lib/dist/`; do not use editable or path-based dependencies back to `lib/`.
|
|
84
84
|
|
|
85
85
|
Python keeps unit tests under `lib/tests/` by default because that remains the more common and maintainable convention for typed/package-based projects than co-locating tests beside every source file. Integration tests belong in `lib/tests_integration/`, and benchmark harnesses belong in `lib/tests_benchmark/` when they are more than a single micro-benchmark helper.
|
|
86
86
|
|
|
@@ -98,7 +98,7 @@ Ruff is the default formatter and linter. Do not add Black, isort, or Flake8 unl
|
|
|
98
98
|
|
|
99
99
|
Pyright must run on every lint pass. `typeCheckingMode = "standard"` is the minimum baseline; projects may raise this to `strict` when the codebase is ready.
|
|
100
100
|
|
|
101
|
-
Pytest coverage must fail below 80% line and branch coverage, following [agentme-edr-004](
|
|
101
|
+
Pytest coverage must fail below 80% line and branch coverage, following [agentme-edr-004](../principles/004-unit-test-requirements.md).
|
|
102
102
|
|
|
103
103
|
#### Makefile targets
|
|
104
104
|
|
|
@@ -137,7 +137,7 @@ The root `Makefile` is the only contract for CI and contributors. It delegates l
|
|
|
137
137
|
| `dev` | Same as `run`, optionally with repository-specific dev defaults |
|
|
138
138
|
| `publish` | `mise exec -- uv publish --project .` after versioning and packaging are complete |
|
|
139
139
|
|
|
140
|
-
The root `Makefile` must remain the only contract for CI and contributors, in line with [agentme-edr-008](
|
|
140
|
+
The root `Makefile` must remain the only contract for CI and contributors, in line with [agentme-edr-008](../devops/008-common-targets.md).
|
|
141
141
|
|
|
142
142
|
## Considered Options
|
|
143
143
|
|
|
@@ -148,7 +148,7 @@ The root `Makefile` must remain the only contract for CI and contributors, in li
|
|
|
148
148
|
|
|
149
149
|
## References
|
|
150
150
|
|
|
151
|
-
- [agentme-edr-004](
|
|
152
|
-
- [agentme-edr-007](
|
|
153
|
-
- [agentme-edr-008](
|
|
151
|
+
- [agentme-edr-004](../principles/004-unit-test-requirements.md) - Coverage and unit-test baseline
|
|
152
|
+
- [agentme-edr-007](../principles/007-project-quality-standards.md) - Examples and quality requirements
|
|
153
|
+
- [agentme-edr-008](../devops/008-common-targets.md) - Standard Makefile target names
|
|
154
154
|
- [005-create-python-project](skills/005-create-python-project/SKILL.md) - Scaffold a project following this EDR
|
|
@@ -99,9 +99,9 @@ This keeps the user-facing command predictable while preserving a clean library
|
|
|
99
99
|
## References
|
|
100
100
|
|
|
101
101
|
- [agentme-edr-003](003-javascript-project-tooling.md) - JavaScript project packaging and structure
|
|
102
|
-
- [agentme-edr-007](
|
|
103
|
-
- [agentme-edr-008](
|
|
104
|
-
- [agentme-edr-009](
|
|
102
|
+
- [agentme-edr-007](../principles/007-project-quality-standards.md) - README and examples baseline
|
|
103
|
+
- [agentme-edr-008](../devops/008-common-targets.md) - Standard command names for project entry points
|
|
104
|
+
- [agentme-edr-009](../principles/009-error-handling.md) - Process error signaling and error handling expectations
|
|
105
105
|
- [agentme-edr-010](010-golang-project-tooling.md) - Go CLI structure and verbose logging baseline
|
|
106
106
|
- [agentme-edr-014](014-python-project-tooling.md) - Python packaging and CLI entry-point guidance
|
|
107
107
|
- [cosmiconfig](https://github.com/cosmiconfig/cosmiconfig) - Example JSON configuration discovery library for JavaScript CLIs
|
|
@@ -19,7 +19,7 @@ the sibling `examples/` folder, redirects persistent caches into `.cache/`, and
|
|
|
19
19
|
the only entry points. Boilerplate is derived from the [filedist](https://github.com/flaviostutz/filedist)
|
|
20
20
|
project.
|
|
21
21
|
|
|
22
|
-
Related EDRs: [agentme-edr-003](
|
|
22
|
+
Related EDRs: [agentme-edr-003](../../003-javascript-project-tooling.md), [agentme-edr-016](../../../principles/016-cross-language-module-structure.md)
|
|
23
23
|
|
|
24
24
|
## Instructions
|
|
25
25
|
|
|
@@ -418,7 +418,7 @@ Review all created files and confirm:
|
|
|
418
418
|
- [ ] `lib/eslint.config.mjs` points `parserOptions.project` to `tsconfig.json`
|
|
419
419
|
- [ ] `lib/README.md` starts with Quick Start and ends with module development commands
|
|
420
420
|
- [ ] All `[package-name]` placeholders are replaced with the actual name
|
|
421
|
-
- [ ] Structure matches the layout in [agentme-edr-003](
|
|
421
|
+
- [ ] Structure matches the layout in [agentme-edr-003](../../003-javascript-project-tooling.md)
|
|
422
422
|
|
|
423
423
|
## Examples
|
|
424
424
|
|
|
@@ -12,9 +12,9 @@ compatibility: Go 1.21+
|
|
|
12
12
|
|
|
13
13
|
## Overview
|
|
14
14
|
|
|
15
|
-
Creates a complete Go CLI project from scratch, following the layout from [agentme-edr-010](
|
|
15
|
+
Creates a complete Go CLI project from scratch, following the layout from [agentme-edr-010](../../010-golang-project-tooling.md). Business logic lives in named feature packages; CLI wiring lives in `cli/<feature>/`; `main.go` is a thin dispatcher. The module root owns its `Makefile`, `README.md`, `dist/`, and `.cache/` folders.
|
|
16
16
|
|
|
17
|
-
Related EDRs: [agentme-edr-010](
|
|
17
|
+
Related EDRs: [agentme-edr-010](../../010-golang-project-tooling.md), [agentme-edr-016](../../../principles/016-cross-language-module-structure.md)
|
|
18
18
|
|
|
19
19
|
## Instructions
|
|
20
20
|
|
|
@@ -159,9 +159,9 @@ Input: "Set up agentme for this repo and keep the speckit workflow we already us
|
|
|
159
159
|
|
|
160
160
|
## References
|
|
161
161
|
|
|
162
|
-
- [agentme README](
|
|
163
|
-
- [agentme-edr-003 - JavaScript project tooling and structure](
|
|
164
|
-
- [agentme-edr-005 - Monorepo structure](
|
|
165
|
-
- [agentme-edr-007 - Project quality standards](
|
|
166
|
-
- [agentme-edr-008 - Common development script names](
|
|
167
|
-
- [_core-adr-003 - Skill standards](
|
|
162
|
+
- [agentme README](../../../../../../README.md)
|
|
163
|
+
- [agentme-edr-003 - JavaScript project tooling and structure](../../003-javascript-project-tooling.md)
|
|
164
|
+
- [agentme-edr-005 - Monorepo structure](../../../devops/005-monorepo-structure.md)
|
|
165
|
+
- [agentme-edr-007 - Project quality standards](../../../principles/007-project-quality-standards.md)
|
|
166
|
+
- [agentme-edr-008 - Common development script names](../../../devops/008-common-targets.md)
|
|
167
|
+
- [_core-adr-003 - Skill standards](../../../../../_core/adrs/principles/003-skill-standards.md)
|
|
@@ -18,7 +18,7 @@ Pyright, Pytest, and Makefiles. The default layout keeps the library self-contai
|
|
|
18
18
|
uses a shared root `.venv/`, redirects persistent caches into `.cache/`, and places runnable
|
|
19
19
|
consumer projects under the sibling `examples/` folder.
|
|
20
20
|
|
|
21
|
-
Related EDRs: [agentme-edr-014](
|
|
21
|
+
Related EDRs: [agentme-edr-014](../../014-python-project-tooling.md), [agentme-edr-016](../../../principles/016-cross-language-module-structure.md)
|
|
22
22
|
|
|
23
23
|
## Instructions
|
|
24
24
|
|
|
@@ -375,5 +375,5 @@ After creating the files:
|
|
|
375
375
|
|
|
376
376
|
## References
|
|
377
377
|
|
|
378
|
-
- [agentme-edr-014](
|
|
379
|
-
- [_core-adr-003 - Skill standards](
|
|
378
|
+
- [agentme-edr-014](../../014-python-project-tooling.md)
|
|
379
|
+
- [_core-adr-003 - Skill standards](../../../../../_core/adrs/principles/003-skill-standards.md)
|
|
@@ -16,7 +16,7 @@ What monorepo structure, naming conventions, tooling, and build standards should
|
|
|
16
16
|
**Adopt a standardized monorepo layout with top-level application folders that aggregate independent module roots, shared parent-level example and test areas, Mise-managed tooling, and Makefiles at every level.**
|
|
17
17
|
|
|
18
18
|
For step-by-step scaffolding instructions see [skill 002-monorepo-setup](skills/002-monorepo-setup/SKILL.md).
|
|
19
|
-
Module folder responsibilities, artifact locations, and test-folder conventions follow [agentme-edr-016](
|
|
19
|
+
Module folder responsibilities, artifact locations, and test-folder conventions follow [agentme-edr-016](../principles/016-cross-language-module-structure.md).
|
|
20
20
|
|
|
21
21
|
### Implementation Details
|
|
22
22
|
|
|
@@ -63,7 +63,7 @@ Module folder responsibilities, artifact locations, and test-folder conventions
|
|
|
63
63
|
- May depend on sibling modules within the same application or on `/shared/` resources.
|
|
64
64
|
- **MUST NOT** depend on modules from other applications.
|
|
65
65
|
- **MUST** contain its own `Makefile`, `README.md`, and language/tooling configuration.
|
|
66
|
-
- **MUST** keep build outputs under `dist/` and persistent caches under `.cache/`, following [agentme-edr-016](
|
|
66
|
+
- **MUST** keep build outputs under `dist/` and persistent caches under `.cache/`, following [agentme-edr-016](../principles/016-cross-language-module-structure.md).
|
|
67
67
|
- **MUST NOT** keep consumer examples inside the module folder; those belong in a sibling `examples/` folder at the nearest parent aggregation root.
|
|
68
68
|
|
|
69
69
|
#### 04-naming-conventions
|
|
@@ -140,7 +140,7 @@ jobs:
|
|
|
140
140
|
|
|
141
141
|
*Why rebuild on publish:* The checkout is done from the exact tag commit. Rebuilding ensures the published artifact matches exactly what is tagged, rather than relying on a prior CI artifact.
|
|
142
142
|
|
|
143
|
-
*Why `id-token: write`:* Required for npm provenance attestation via `npm publish --provenance`, as specified in [agentme-edr-003](
|
|
143
|
+
*Why `id-token: write`:* Required for npm provenance attestation via `npm publish --provenance`, as specified in [agentme-edr-003](../application/003-javascript-project-tooling.md).
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
@@ -59,6 +59,6 @@ Disallowed:
|
|
|
59
59
|
- [agentme-edr-005](005-monorepo-structure.md) - Monorepo layout and Makefile hierarchy
|
|
60
60
|
- [agentme-edr-006](006-github-pipelines.md) - CI/CD workflows should call Make targets
|
|
61
61
|
- [agentme-edr-008](008-common-targets.md) - Standard target names
|
|
62
|
-
- [agentme-edr-003](
|
|
63
|
-
- [agentme-edr-010](
|
|
64
|
-
- [agentme-edr-014](
|
|
62
|
+
- [agentme-edr-003](../application/003-javascript-project-tooling.md) - JavaScript tooling commands inside Makefiles
|
|
63
|
+
- [agentme-edr-010](../application/010-golang-project-tooling.md) - Go tooling commands inside Makefiles
|
|
64
|
+
- [agentme-edr-014](../application/014-python-project-tooling.md) - Python tooling commands inside Makefiles
|
|
@@ -13,12 +13,12 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
Creates or extends a monorepo that follows the standard layout from [agentme-edr-005](
|
|
16
|
+
Creates or extends a monorepo that follows the standard layout from [agentme-edr-005](../../005-monorepo-structure.md):
|
|
17
17
|
top-level application folders, independent module roots, sibling example and multi-module test
|
|
18
18
|
areas, Mise-managed tooling, and Makefiles at every level so any contributor can build, lint, and
|
|
19
19
|
test any part of the monorepo with a single, predictable command.
|
|
20
20
|
|
|
21
|
-
Related EDRs: [agentme-edr-005](
|
|
21
|
+
Related EDRs: [agentme-edr-005](../../005-monorepo-structure.md), [agentme-edr-013](../../../governance/013-contributing-guide-requirements.md), [agentme-edr-016](../../../principles/016-cross-language-module-structure.md)
|
|
22
22
|
|
|
23
23
|
## Instructions
|
|
24
24
|
|
|
@@ -38,5 +38,5 @@ Projects must keep a `CONTRIBUTING.md` file at the repository root. The file mus
|
|
|
38
38
|
|
|
39
39
|
## References
|
|
40
40
|
|
|
41
|
-
- [agentme-edr-005 - Monorepo structure](
|
|
42
|
-
- [002-monorepo-setup skill](
|
|
41
|
+
- [agentme-edr-005 - Monorepo structure](../devops/005-monorepo-structure.md)
|
|
42
|
+
- [002-monorepo-setup skill](../devops/skills/002-monorepo-setup/SKILL.md)
|
|
@@ -65,7 +65,7 @@ A unit test suite must run automatically before every release. Failing tests mus
|
|
|
65
65
|
|
|
66
66
|
#### 03-project-must-comply-with-xdrs
|
|
67
67
|
|
|
68
|
-
All XDRs that apply to the project's scope (as listed in [.xdrs/index.md](
|
|
68
|
+
All XDRs that apply to the project's scope (as listed in [.xdrs/index.md](../../../index.md)) must be followed. A deviation requires a project-local XDR documenting the override.
|
|
69
69
|
|
|
70
70
|
**Requirements:**
|
|
71
71
|
- Review applicable XDRs before any significant implementation
|
|
@@ -85,7 +85,7 @@ Projects larger than 10 files or 200 lines of code must have a linter configured
|
|
|
85
85
|
|
|
86
86
|
**Exception:** Projects with fewer than 100 lines of code, or whose `README.md` prominently marks them as a **Spike** or **Experiment**, are exempt from this requirement. Such projects must never be deployed to production.
|
|
87
87
|
|
|
88
|
-
**Reference:** [agentme-edr-003](
|
|
88
|
+
**Reference:** [agentme-edr-003](../application/003-javascript-project-tooling.md) for JavaScript-specific tooling.
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -38,7 +38,7 @@ Developers must treat reusable missing guidance discovered during implementation
|
|
|
38
38
|
|
|
39
39
|
## References
|
|
40
40
|
|
|
41
|
-
- [_core-adr-001](
|
|
42
|
-
- [_core-article-001](
|
|
41
|
+
- [_core-adr-001](../../../_core/adrs/principles/001-xdrs-core.md)
|
|
42
|
+
- [_core-article-001](../../../_core/adrs/principles/articles/001-xdrs-overview.md)
|
|
43
43
|
- [agentme-article-001](articles/001-continuous-xdr-improvement.md)
|
|
44
|
-
- [002-write-xdr skill](
|
|
44
|
+
- [002-write-xdr skill](../../../../.github/skills/002-write-xdr/SKILL.md)
|
|
@@ -23,7 +23,7 @@ Language-specific EDRs may add ecosystem details, but they must not redefine the
|
|
|
23
23
|
|
|
24
24
|
A module is the smallest independently buildable, testable, or publishable unit. It MUST live in its own folder and that folder MUST contain:
|
|
25
25
|
|
|
26
|
-
- a `Makefile` following [agentme-edr-008](
|
|
26
|
+
- a `Makefile` following [agentme-edr-008](../devops/008-common-targets.md)
|
|
27
27
|
- a `README.md` for the module itself
|
|
28
28
|
- all configuration files required to build, lint, test, package, or publish that module
|
|
29
29
|
- its generated `dist/` directory when the module produces distributable artifacts
|
|
@@ -125,9 +125,9 @@ Benchmark tests MUST live in one of these locations:
|
|
|
125
125
|
|
|
126
126
|
#### 08-module-makefiles-must-expose-shared-targets
|
|
127
127
|
|
|
128
|
-
Every module `Makefile` MUST expose the common target names from [agentme-edr-008](
|
|
128
|
+
Every module `Makefile` MUST expose the common target names from [agentme-edr-008](../devops/008-common-targets.md). At minimum, modules MUST provide `build`, `lint`, and `test`, and SHOULD also provide `all`, `clean`, and `lint-fix` when meaningful.
|
|
129
129
|
|
|
130
130
|
## References
|
|
131
131
|
|
|
132
|
-
- [agentme-edr-005](
|
|
133
|
-
- [agentme-edr-008](
|
|
132
|
+
- [agentme-edr-005](../devops/005-monorepo-structure.md) - Monorepo aggregation and delegation rules
|
|
133
|
+
- [agentme-edr-008](../devops/008-common-targets.md) - Shared Makefile target names
|
|
@@ -51,7 +51,7 @@ Good opening questions:
|
|
|
51
51
|
|
|
52
52
|
### How should you organize the XDR?
|
|
53
53
|
|
|
54
|
-
Follow the XDR template from [_core-adr-002](
|
|
54
|
+
Follow the XDR template from [_core-adr-002](../../../../_core/adrs/principles/002-xdr-standards.md). Keep the document small, explicit, and decision-focused.
|
|
55
55
|
|
|
56
56
|
Use this checklist:
|
|
57
57
|
|
|
@@ -87,7 +87,7 @@ If the same clarification would likely be needed in another feature, by another
|
|
|
87
87
|
|
|
88
88
|
## References
|
|
89
89
|
|
|
90
|
-
- [_core-adr-001](
|
|
91
|
-
- [_core-article-001](
|
|
92
|
-
- [agentme-edr-012](
|
|
93
|
-
- [002-write-xdr skill](
|
|
90
|
+
- [_core-adr-001](../../../../_core/adrs/principles/001-xdrs-core.md) - XDR structure, numbering, and mandatory template
|
|
91
|
+
- [_core-article-001](../../../../_core/adrs/principles/articles/001-xdrs-overview.md) - XDR introduction and general adoption guidance
|
|
92
|
+
- [agentme-edr-012](../012-continuous-xdr-enrichment.md) - Shared-first XDR enrichment policy and 80% coverage target
|
|
93
|
+
- [002-write-xdr skill](../../../../../.github/skills/002-write-xdr/SKILL.md) - Step-by-step procedure for drafting new XDRs
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"filedist": "^0.
|
|
7
|
-
"xdrs-core": "^0.
|
|
6
|
+
"filedist": "^0.28.1",
|
|
7
|
+
"xdrs-core": "^0.21.1"
|
|
8
8
|
},
|
|
9
9
|
"bin": "bin/filedist.js",
|
|
10
10
|
"files": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"filedist": {
|
|
25
25
|
"sets": [
|
|
26
26
|
{
|
|
27
|
-
"package": "xdrs-core",
|
|
27
|
+
"package": "xdrs-core@latest",
|
|
28
28
|
"selector": {
|
|
29
29
|
"files": [
|
|
30
30
|
".xdrs/_core/**",
|