agentme 0.28.1 → 0.30.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/.filedist-package.yml +2 -2
- package/.xdrs/agentme/edrs/application/{003-javascript-project-tooling.md → 101-javascript-project-tooling.md} +9 -9
- package/.xdrs/agentme/edrs/application/{010-golang-project-tooling.md → 102-golang-project-tooling.md} +7 -7
- package/.xdrs/agentme/edrs/application/{014-python-project-tooling.md → 103-python-project-tooling.md} +12 -12
- package/.xdrs/agentme/edrs/application/{015-cli-tool-standards.md → 104-cli-tool-standards.md} +13 -13
- package/.xdrs/agentme/edrs/application/{002-coding-best-practices.md → 121-coding-best-practices.md} +3 -3
- package/.xdrs/agentme/edrs/application/{004-unit-test-requirements.md → 122-unit-test-requirements.md} +2 -2
- package/.xdrs/agentme/edrs/application/{009-error-handling.md → 123-error-handling.md} +2 -2
- package/.xdrs/agentme/edrs/application/{022-secrets-management.md → 124-secrets-management.md} +5 -5
- package/.xdrs/agentme/edrs/application/{023-coding-abstraction-practices.md → 125-coding-abstraction-practices.md} +3 -3
- package/.xdrs/agentme/edrs/application/{026-pragmatic-hexagonal-architecture.md → 126-pragmatic-hexagonal-architecture.md} +9 -9
- package/.xdrs/agentme/edrs/application/127-external-system-adapter-skills.md +93 -0
- package/.xdrs/agentme/edrs/application/{040-ai-llm-development-standards.md → 141-ai-llm-development-standards.md} +14 -14
- package/.xdrs/agentme/edrs/application/{041-ai-agents-development-standards.md → 142-ai-agents-development-standards.md} +11 -11
- package/.xdrs/agentme/edrs/application/{042-ai-agents-quality-standards.md → 143-ai-agents-quality-standards.md} +16 -16
- package/.xdrs/agentme/edrs/application/{043-ai-workflow-development-standards.md → 144-ai-workflow-development-standards.md} +28 -28
- package/.xdrs/agentme/edrs/application/{044-ai-workflow-naming-conventions.md → 145-ai-workflow-naming-conventions.md} +9 -9
- package/.xdrs/agentme/edrs/application/{045-ai-agent-xdrs-knowledge-layer.md → 146-ai-agent-xdrs-knowledge-layer.md} +7 -7
- package/.xdrs/agentme/edrs/application/{051-ai-eval-core-standards.md → 151-ai-eval-standards.md} +17 -17
- package/.xdrs/agentme/edrs/application/{052-ai-test-types-taxonomy.md → 152-ai-test-types-taxonomy.md} +27 -27
- package/.xdrs/agentme/edrs/application/{053-ai-eval-script.md → 153-ai-eval-script.md} +18 -18
- package/.xdrs/agentme/edrs/application/{054-ai-eval-report-format.md → 154-ai-eval-report-format.md} +6 -6
- package/.xdrs/agentme/edrs/application/{055-ai-eval-repeatability.md → 155-ai-eval-repeatability.md} +14 -14
- package/.xdrs/agentme/edrs/application/skills/{004-select-relevant-xdrs → 010-select-relevant-xdrs}/SKILL.md +10 -10
- package/.xdrs/agentme/edrs/application/skills/{001-create-javascript-project → 050-create-javascript-project}/SKILL.md +5 -5
- package/.xdrs/agentme/edrs/application/skills/{003-create-golang-project → 051-create-golang-project}/SKILL.md +4 -4
- package/.xdrs/agentme/edrs/application/skills/{005-create-python-project → 052-create-python-project}/SKILL.md +6 -6
- package/.xdrs/agentme/edrs/application/skills/200-run-skill-tests/SKILL.md +113 -0
- package/.xdrs/agentme/edrs/application/skills/200-run-skill-tests/SKILL.test.md +47 -0
- package/.xdrs/agentme/edrs/data/{050-ml-dataset-structure.md → 201-ml-dataset-structure.md} +4 -4
- package/.xdrs/agentme/edrs/governance/{007-project-quality-standards.md → 501-project-quality-standards.md} +16 -16
- package/.xdrs/agentme/edrs/governance/{013-contributing-guide-requirements.md → 502-contributing-guide-requirements.md} +4 -4
- package/.xdrs/agentme/edrs/index.md +33 -31
- package/.xdrs/agentme/edrs/operations/{011-service-health-check-endpoint.md → 401-service-health-check-endpoint.md} +2 -2
- package/.xdrs/agentme/edrs/platform/{005-monorepo-structure.md → 301-monorepo-structure.md} +5 -5
- package/.xdrs/agentme/edrs/platform/{006-github-pipelines.md → 302-github-pipelines.md} +3 -3
- package/.xdrs/agentme/edrs/platform/{008-common-targets.md → 303-common-targets.md} +8 -8
- package/.xdrs/agentme/edrs/platform/{017-tool-execution-and-scripting.md → 304-tool-execution-and-scripting.md} +10 -10
- package/.xdrs/agentme/edrs/platform/{027-environment-variable-configuration.md → 305-environment-variable-configuration.md} +14 -14
- package/.xdrs/agentme/edrs/platform/skills/{002-monorepo-setup → 053-monorepo-setup}/SKILL.md +4 -4
- package/.xdrs/agentme/edrs/principles/012-continuous-xdr-enrichment.md +2 -2
- package/.xdrs/agentme/edrs/principles/016-cross-language-module-structure.md +4 -4
- package/.xdrs/agentme/edrs/principles/017-skill-testing.md +77 -0
- package/.xdrs/agentme/edrs/principles/articles/001-continuous-xdr-improvement.md +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: 200-run-skill-tests
|
|
3
|
+
skill-version: "1.0"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Test Scenarios
|
|
7
|
+
|
|
8
|
+
### Scenario 1: Successfully executes scenarios and reports results
|
|
9
|
+
|
|
10
|
+
**Trigger / Input**
|
|
11
|
+
You are an agent with the `200-run-skill-tests` skill loaded. The workspace has a skill at `.agents/skills/001-review` with both `SKILL.md` and `SKILL.test.md` present. The user says:
|
|
12
|
+
|
|
13
|
+
"Test the skill at `.agents/skills/001-review`"
|
|
14
|
+
|
|
15
|
+
**Expected Behaviour**
|
|
16
|
+
1. Skill resolves the path to the real directory (following the symlink).
|
|
17
|
+
2. Skill confirms `SKILL.test.md` is present.
|
|
18
|
+
3. Skill reads `SKILL.test.md` in full and parses all scenarios.
|
|
19
|
+
4. Skill reads `SKILL.md` and verifies `skill-version` matches.
|
|
20
|
+
5. Skill executes each scenario by presenting the trigger to the target skill.
|
|
21
|
+
6. Skill evaluates every assertion for each scenario and records PASS or FAIL.
|
|
22
|
+
7. Skill outputs a structured report using the mandated template with a final Outcome line.
|
|
23
|
+
|
|
24
|
+
**Assertions**
|
|
25
|
+
- [ ] Output contains `## Skill Test Report: 001-review`.
|
|
26
|
+
- [ ] Output contains a `### Scenario` section for each scenario in `SKILL.test.md`.
|
|
27
|
+
- [ ] Each scenario section lists individual assertion results as `PASS` or `FAIL`.
|
|
28
|
+
- [ ] Output ends with a `## Summary` block containing `Scenarios:`, `Passed:`, `Failed:`, and `Outcome:`.
|
|
29
|
+
|
|
30
|
+
### Scenario 2: Halts with ERROR when SKILL.test.md is missing
|
|
31
|
+
|
|
32
|
+
**Trigger / Input**
|
|
33
|
+
You are an agent with the `200-run-skill-tests` skill loaded. The workspace has a skill directory `.xdrs/agentme/edrs/application/skills/050-create-javascript-project` that contains `SKILL.md` but no `SKILL.test.md`. The user says:
|
|
34
|
+
|
|
35
|
+
"Run tests for `.xdrs/agentme/edrs/application/skills/050-create-javascript-project`"
|
|
36
|
+
|
|
37
|
+
**Expected Behaviour**
|
|
38
|
+
1. Skill resolves the path to the directory.
|
|
39
|
+
2. Skill checks for `SKILL.test.md` and finds it absent.
|
|
40
|
+
3. Skill immediately outputs an ERROR message referencing the missing file and the policy.
|
|
41
|
+
4. Skill does NOT proceed to execute any scenarios.
|
|
42
|
+
|
|
43
|
+
**Assertions**
|
|
44
|
+
- [ ] Output contains `ERROR` indicating `SKILL.test.md` was not found.
|
|
45
|
+
- [ ] Output references the resolved path of the skill directory.
|
|
46
|
+
- [ ] Output does NOT contain any `### Scenario` execution section.
|
|
47
|
+
- [ ] Output does NOT contain a `## Summary` report block.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-201-ml-dataset-structure
|
|
3
3
|
description: Defines the standard folder layout and file conventions for ML datasets used in AI/ML projects. Use when creating, organizing, or consuming datasets for machine learning tasks such as image labeling, document extraction, tabular data, LLM evaluation, and Q&A sets.
|
|
4
4
|
apply-to: ML and AI projects that produce or consume datasets
|
|
5
5
|
valid-from: 2026-05-27
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-201: ML dataset structure
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -102,10 +102,10 @@ Every dataset MUST expose a `make lint` target (in the Makefile of the project/c
|
|
|
102
102
|
- Per-entry JSON files (rule `04`) and annotation-pair `.json` siblings (rule `02`) MUST each be validated against `dataset.schema.json`, and their `$schema` property MUST be present and resolve to the dataset's actual schema file.
|
|
103
103
|
- CSV rows (rule `03`) MUST each be converted to a JSON object (column header → value) and validated against the same `dataset.schema.json`.
|
|
104
104
|
- `make lint` MUST list every violation found across all files/rows before exiting with a non-zero status (not fail-fast on the first violation).
|
|
105
|
-
- `jsonschema` MUST be declared as a normal project dependency per [agentme-edr-
|
|
105
|
+
- `jsonschema` MUST be declared as a normal project dependency per [agentme-edr-103](../application/103-python-project-tooling.md); no special-casing.
|
|
106
106
|
|
|
107
107
|
## References
|
|
108
108
|
|
|
109
109
|
- [JSON Schema specification](https://json-schema.org/)
|
|
110
110
|
- [jsonschema (Python library)](https://pypi.org/project/jsonschema/)
|
|
111
|
-
- [agentme-edr-
|
|
111
|
+
- [agentme-edr-103](../application/103-python-project-tooling.md) — Python project tooling and dependency conventions
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-501-project-quality-standards
|
|
3
3
|
description: Defines minimum project quality standards for README onboarding, testing (unit, integration, and AI-tier evals), linting, XDR compliance, and runnable examples. Use when scaffolding or reviewing projects.
|
|
4
4
|
apply-to: All projects
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-501: Project quality standards
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -61,7 +61,7 @@ A unit test suite MUST run automatically before every release. Failing tests MUS
|
|
|
61
61
|
|
|
62
62
|
**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 NOT be deployed to production.
|
|
63
63
|
|
|
64
|
-
**Reference:** [agentme-edr-
|
|
64
|
+
**Reference:** [agentme-edr-122](../application/122-unit-test-requirements.md) for detailed unit test requirements.
|
|
65
65
|
|
|
66
66
|
---
|
|
67
67
|
|
|
@@ -87,7 +87,7 @@ Projects larger than 10 files or 200 lines of code MUST have a linter configured
|
|
|
87
87
|
|
|
88
88
|
**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 NOT be deployed to production.
|
|
89
89
|
|
|
90
|
-
**Reference:** [agentme-edr-
|
|
90
|
+
**Reference:** [agentme-edr-101](../application/101-javascript-project-tooling.md) for JavaScript-specific tooling.
|
|
91
91
|
|
|
92
92
|
---
|
|
93
93
|
|
|
@@ -156,7 +156,7 @@ test-examples:
|
|
|
156
156
|
$(MAKE) -C examples
|
|
157
157
|
```
|
|
158
158
|
|
|
159
|
-
If examples require live services or credentials, remove `test-examples` from the `test` dependency list and keep it as a standalone named target only. See [agentme-edr-
|
|
159
|
+
If examples require live services or credentials, remove `test-examples` from the `test` dependency list and keep it as a standalone named target only. See [agentme-edr-303](../platform/303-common-targets.md) rule 08 for the full offline/online decision table.
|
|
160
160
|
|
|
161
161
|
**Examples Makefile:**
|
|
162
162
|
|
|
@@ -175,7 +175,7 @@ Projects that contain statistical models (e.g., ML models, LLM-based evaluators,
|
|
|
175
175
|
**Requirements:**
|
|
176
176
|
- A `make eval` target MUST exist and execute all performance evaluations
|
|
177
177
|
- Each evaluation MUST have a **documented minimum performance threshold** (e.g., accuracy ≥ 0.85, F1 ≥ 0.80, BLEU ≥ 0.70)
|
|
178
|
-
- Thresholds and all scoring parameters MUST be declared as constants in `eval.py` — they are design decisions about acceptable quality for the component under test, not runtime configuration, and MUST NOT be passed as Makefile variables or CLI flags. See [agentme-edr-
|
|
178
|
+
- Thresholds and all scoring parameters MUST be declared as constants in `eval.py` — they are design decisions about acceptable quality for the component under test, not runtime configuration, and MUST NOT be passed as Makefile variables or CLI flags. See [agentme-edr-153](../application/153-ai-eval-script.md) rule `01`.
|
|
179
179
|
- `make eval` MUST **exit with a non-zero status** (fail) if:
|
|
180
180
|
- The evaluation cannot be executed (missing data, environment errors, model load failures)
|
|
181
181
|
- Any metric falls below its defined minimum threshold
|
|
@@ -244,27 +244,27 @@ Projects are not required to implement integration tests, but when present, they
|
|
|
244
244
|
|
|
245
245
|
#### 09-ai-project-testing-requirements
|
|
246
246
|
|
|
247
|
-
AI projects are classified into three tiers — LLM, Agent, and Workflow — defined in [agentme-edr-
|
|
247
|
+
AI projects are classified into three tiers — LLM, Agent, and Workflow — defined in [agentme-edr-141](../application/141-ai-llm-development-standards.md). Testing requirements differ per tier:
|
|
248
248
|
|
|
249
249
|
| Tier | Unit tests | Evals | Integration tests |
|
|
250
250
|
|---|---|---|---|
|
|
251
|
-
| **LLM** ([agentme-edr-
|
|
252
|
-
| **Agent** ([agentme-edr-
|
|
253
|
-
| **Workflow** ([agentme-edr-
|
|
251
|
+
| **LLM** ([agentme-edr-141](../application/141-ai-llm-development-standards.md)) | Not required | Not required; SHOULD be used when critical prompts are in use to measure accuracy and detect model drift | Not required |
|
|
252
|
+
| **Agent** ([agentme-edr-142](../application/142-ai-agents-development-standards.md)) | Not required | Not required; MAY be used | Not required |
|
|
253
|
+
| **Workflow** ([agentme-edr-144](../application/144-ai-workflow-development-standards.md)) | Required — see below | Required before every release; failed evals block release | Advised |
|
|
254
254
|
|
|
255
255
|
**Workflow unit test requirements:**
|
|
256
256
|
|
|
257
|
-
- MUST use mocked LLM providers. See [agentme-edr-
|
|
258
|
-
- MUST run offline with no external dependencies per [agentme-edr-
|
|
259
|
-
- MUST achieve 80% code coverage per [agentme-edr-
|
|
257
|
+
- MUST use mocked LLM providers. See [agentme-edr-141](../application/141-ai-llm-development-standards.md) rule `04-unit-test-mocking` for the mocking pattern.
|
|
258
|
+
- MUST run offline with no external dependencies per [agentme-edr-122](../application/122-unit-test-requirements.md) rule `02-must-run-offline`.
|
|
259
|
+
- MUST achieve 80% code coverage per [agentme-edr-122](../application/122-unit-test-requirements.md) rule `03-must-maintain-80-percent-coverage`.
|
|
260
260
|
- MUST test workflow routing logic, conditional edges, state transformations, and error handling.
|
|
261
261
|
- MUST achieve **80% coverage of LangGraph graph edges and branches**: every conditional edge MUST have test cases covering each possible branch, and every node→node transition MUST be exercised by at least one test.
|
|
262
|
-
- Files MUST be named `<name>_test.py` and placed alongside the source file per [agentme-edr-
|
|
262
|
+
- Files MUST be named `<name>_test.py` and placed alongside the source file per [agentme-edr-122](../application/122-unit-test-requirements.md) rule `04-must-place-test-files-alongside-source`.
|
|
263
263
|
|
|
264
264
|
**Workflow eval requirements:**
|
|
265
265
|
|
|
266
266
|
- Evals MUST be executed before every release.
|
|
267
267
|
- Accuracy below project-defined thresholds MUST block the release. Thresholds MUST be documented in the eval Makefile or README.
|
|
268
268
|
- Evals MUST run against real LLM providers (not mocks) to capture model drift.
|
|
269
|
-
- For eval folder structure and LLM-as-judge scoring, see [agentme-edr-
|
|
270
|
-
- For the taxonomy of AI test types (safety, responsible-AI, quality-eval, prompt, code-level) and the golden dataset entry format, see [agentme-edr-
|
|
269
|
+
- For eval folder structure and LLM-as-judge scoring, see [agentme-edr-151](../application/151-ai-eval-standards.md). For eval script requirements, see [agentme-edr-153](../application/153-ai-eval-script.md).
|
|
270
|
+
- For the taxonomy of AI test types (safety, responsible-AI, quality-eval, prompt, code-level) and the golden dataset entry format, see [agentme-edr-152](../application/152-ai-test-types-taxonomy.md).
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-502-contributing-guide-requirements
|
|
3
3
|
description: Defines the minimum contributor workflow guidance required in root CONTRIBUTING.md files. Use when scaffolding or reviewing contribution processes.
|
|
4
4
|
apply-to: Projects with open-source contributions
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-502: Contributing guide requirements
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -66,5 +66,5 @@ The content SHOULD stay concise and practical; do not turn `CONTRIBUTING.md` int
|
|
|
66
66
|
|
|
67
67
|
## References
|
|
68
68
|
|
|
69
|
-
- [agentme-edr-
|
|
70
|
-
- [
|
|
69
|
+
- [agentme-edr-301 - Monorepo structure](../platform/301-monorepo-structure.md)
|
|
70
|
+
- [053-monorepo-setup skill](../platform/skills/053-monorepo-setup/SKILL.md)
|
|
@@ -10,6 +10,7 @@ Foundational standards, principles, and guidelines.
|
|
|
10
10
|
|
|
11
11
|
- [agentme-edr-012](principles/012-continuous-xdr-enrichment.md) - **Continuous xdr improvement policy** - Promote recurring delivery lessons into reusable XDRs
|
|
12
12
|
- [agentme-edr-016](principles/016-cross-language-module-structure.md) - **Cross-language module structure** - Organize modules consistently across supported languages
|
|
13
|
+
- [agentme-edr-017](principles/017-skill-testing.md) - **skill testing** - Mandates a `SKILL.test.md` co-located with every skill in scopes that follow agentme; defines test scenario format (trigger, expected behaviour, assertions) and requires execution before merging any skill change *(includes skill: [200-run-skill-tests](application/skills/200-run-skill-tests/SKILL.md))*
|
|
13
14
|
|
|
14
15
|
## Articles
|
|
15
16
|
|
|
@@ -21,67 +22,68 @@ Synthetic views combining agentme XDRs and skills around a specific topic.
|
|
|
21
22
|
|
|
22
23
|
Language and framework-specific tooling and project structure.
|
|
23
24
|
|
|
24
|
-
- [agentme-edr-
|
|
25
|
-
- [agentme-edr-
|
|
26
|
-
- [agentme-edr-
|
|
27
|
-
- [agentme-edr-
|
|
28
|
-
- [agentme-edr-
|
|
25
|
+
- [agentme-edr-121](application/121-coding-best-practices.md) - **Coding best practices** - Keep files small, tests nearby, and docs synchronized
|
|
26
|
+
- [agentme-edr-122](application/122-unit-test-requirements.md) - **Unit test requirements** - Define minimum unit-test coverage and naming expectations
|
|
27
|
+
- [agentme-edr-123](application/123-error-handling.md) - **Error handling** - Standardize explicit errors, logging, and propagation rules
|
|
28
|
+
- [agentme-edr-124](application/124-secrets-management.md) - **Secrets management** - Handle secrets securely using native keychains and cloud secret managers
|
|
29
|
+
- [agentme-edr-125](application/125-coding-abstraction-practices.md) - **Coding abstraction practices** - Define when abstractions are justified and when they must be inlined
|
|
30
|
+
- [agentme-edr-127](application/127-external-system-adapter-skills.md) - **External system adapter skills** - Priority-ordered approach and adapter skill authoring standards for automating interactions with external systems
|
|
29
31
|
|
|
30
32
|
### Language and framework tooling
|
|
31
33
|
|
|
32
|
-
- [agentme-edr-
|
|
33
|
-
- [agentme-edr-
|
|
34
|
-
- [agentme-edr-
|
|
35
|
-
- [agentme-edr-
|
|
36
|
-
- [agentme-edr-
|
|
37
|
-
- [
|
|
34
|
+
- [agentme-edr-101](application/101-javascript-project-tooling.md) - **JavaScript project tooling and structure** - Scaffold JavaScript libraries with the standard toolchain *(includes skill: [050-create-javascript-project](application/skills/050-create-javascript-project/SKILL.md))*
|
|
35
|
+
- [agentme-edr-102](application/102-golang-project-tooling.md) - **Go project tooling and structure** - Scaffold Go CLIs and libraries with the standard layout *(includes skill: [051-create-golang-project](application/skills/051-create-golang-project/SKILL.md))*
|
|
36
|
+
- [agentme-edr-103](application/103-python-project-tooling.md) - **Python project tooling and structure** - Scaffold Python packages and CLIs with the standard layout *(includes skill: [052-create-python-project](application/skills/052-create-python-project/SKILL.md))*
|
|
37
|
+
- [agentme-edr-104](application/104-cli-tool-standards.md) - **CLI tool standards** - Define command UX and behavior for CLI tools
|
|
38
|
+
- [agentme-edr-126](application/126-pragmatic-hexagonal-architecture.md) - **Pragmatic hexagonal architecture** - Organize application layers as External/Adapters/Application with practical coupling rules
|
|
39
|
+
- [010-select-relevant-xdrs](application/skills/010-select-relevant-xdrs/SKILL.md) - **Select relevant XDRs**
|
|
38
40
|
|
|
39
41
|
### AI development
|
|
40
42
|
|
|
41
43
|
Standards for building LLM, Agent, and Workflow components.
|
|
42
44
|
|
|
43
|
-
- [agentme-edr-
|
|
44
|
-
- [agentme-edr-
|
|
45
|
-
- [agentme-edr-
|
|
46
|
-
- [agentme-edr-
|
|
47
|
-
- [agentme-edr-
|
|
48
|
-
- [agentme-edr-
|
|
45
|
+
- [agentme-edr-141](application/141-ai-llm-development-standards.md) - **AI LLM development standards** - Standard framework (LangChain) and patterns for simple LLM calls with explicit configuration (no environment variables)
|
|
46
|
+
- [agentme-edr-142](application/142-ai-agents-development-standards.md) - **AI agents development standards** - Structural patterns for agents: framework selection, sandbox setup, naming conventions, composition, and system prompt structure
|
|
47
|
+
- [agentme-edr-143](application/143-ai-agents-quality-standards.md) - **AI agents implementation quality standards** - Tool definition patterns, error handling, observability, and unit testing for agents
|
|
48
|
+
- [agentme-edr-144](application/144-ai-workflow-development-standards.md) - **AI workflow development standards** - Standard toolchain (LangGraph), evaluation, and testing patterns for workflow projects
|
|
49
|
+
- [agentme-edr-145](application/145-ai-workflow-naming-conventions.md) - **AI workflow naming conventions** - Node suffix/prefix roles, state type and attribute naming, judge output schema, workflow class names, and cross-element coherence rules
|
|
50
|
+
- [agentme-edr-146](application/146-ai-agent-xdrs-knowledge-layer.md) - **AI agent XDRS knowledge layer** - How to integrate XDRS as the runtime source of truth for policies and skills in AI agents (apply only when the project explicitly uses XDRS)
|
|
49
51
|
|
|
50
52
|
### AI evaluation and testing
|
|
51
53
|
|
|
52
54
|
Standards for eval datasets, scripts, reports, and test type taxonomy.
|
|
53
55
|
|
|
54
|
-
- [agentme-edr-
|
|
55
|
-
- [agentme-edr-
|
|
56
|
-
- [agentme-edr-
|
|
57
|
-
- [agentme-edr-
|
|
58
|
-
- [agentme-edr-
|
|
56
|
+
- [agentme-edr-151](application/151-ai-eval-standards.md) - **AI eval core standards** - Eval folder structure and Makefile interface; LLM-as-judge binary scoring contract applicable to all AI tiers and test types
|
|
57
|
+
- [agentme-edr-152](application/152-ai-test-types-taxonomy.md) - **AI test types taxonomy** - Names AI test types (`functional`, `safety`, `smoke`, `repeatability`, `adversarial`, `fairness`, `bias`, and 5 others) with group, objective, mocking constraint, and relevance, and defines the shared golden dataset entry envelope
|
|
58
|
+
- [agentme-edr-153](application/153-ai-eval-script.md) - **AI eval script** - eval.py requirements: entry-first loop, --type filtering, mock_fixtures wiring, human entries, threshold enforcement, and MLflow experiment conventions
|
|
59
|
+
- [agentme-edr-154](application/154-ai-eval-report-format.md) - **AI eval report format** - report-<type>.md template, Wilson score confidence interval, convergence analysis, and human-type checklist artifact
|
|
60
|
+
- [agentme-edr-155](application/155-ai-eval-repeatability.md) - **AI eval repeatability** - Repeatability test type: REPEAT_COUNT loop exception, semantic-similarity and LLM-as-judge scoring, repeatability_accuracy metric, report shape, and run cadence
|
|
59
61
|
|
|
60
62
|
## Data
|
|
61
63
|
|
|
62
64
|
Data layer implementation and data management decisions.
|
|
63
65
|
|
|
64
|
-
- [agentme-edr-
|
|
66
|
+
- [agentme-edr-201](data/201-ml-dataset-structure.md) - **ML dataset structure** - Standard folder layout and file conventions for ML datasets
|
|
65
67
|
|
|
66
68
|
## Platform
|
|
67
69
|
|
|
68
70
|
Infrastructure implementation, delivery pipeline, and developer environment decisions.
|
|
69
71
|
|
|
70
|
-
- [agentme-edr-
|
|
71
|
-
- [agentme-edr-
|
|
72
|
-
- [agentme-edr-
|
|
73
|
-
- [agentme-edr-
|
|
74
|
-
- [agentme-edr-
|
|
72
|
+
- [agentme-edr-301](platform/301-monorepo-structure.md) - **Monorepo structure** - Standardize monorepo layout, tooling, and package boundaries *(includes skill: [053-monorepo-setup](platform/skills/053-monorepo-setup/SKILL.md))*
|
|
73
|
+
- [agentme-edr-302](platform/302-github-pipelines.md) - **GitHub CI/CD pipelines** - Define required CI stages and workflow structure
|
|
74
|
+
- [agentme-edr-303](platform/303-common-targets.md) - **Common development script names** - Reuse standard build, lint, and test target names
|
|
75
|
+
- [agentme-edr-304](platform/304-tool-execution-and-scripting.md) - **Tool execution and scripting** - Run tools consistently across shells, Makefiles, and CI
|
|
76
|
+
- [agentme-edr-305](platform/305-environment-variable-configuration.md) - **Environment variable configuration files** - Manage non-secret configuration with `.env` files, `.gitignore` rules, stage variants, and Makefile loading
|
|
75
77
|
|
|
76
78
|
## Governance
|
|
77
79
|
|
|
78
80
|
Contribution and collaboration standards shared across projects.
|
|
79
81
|
|
|
80
|
-
- [agentme-edr-
|
|
81
|
-
- [agentme-edr-
|
|
82
|
+
- [agentme-edr-501](governance/501-project-quality-standards.md) - **Project quality standards** - Require build, lint, and test verification before completion
|
|
83
|
+
- [agentme-edr-502](governance/502-contributing-guide-requirements.md) - **Contributing guide requirements** - Define the minimum structure for CONTRIBUTING guides
|
|
82
84
|
|
|
83
85
|
## Operations
|
|
84
86
|
|
|
85
87
|
Production behavior and operational response decisions.
|
|
86
88
|
|
|
87
|
-
- [agentme-edr-
|
|
89
|
+
- [agentme-edr-401](operations/401-service-health-check-endpoint.md) - **Service health check endpoint** - Expose a standard runtime health-check endpoint for services
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-401-service-health-check-endpoint
|
|
3
3
|
description: Defines the required health endpoint contract for service availability and dependency readiness checks. Use when implementing or reviewing service health endpoints.
|
|
4
4
|
apply-to: Service projects with health endpoints
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-401: Service health check endpoint
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-301-monorepo-structure
|
|
3
3
|
description: Defines the standard monorepo layout, naming, and build conventions using shared areas, Mise, and Makefiles. Use when creating or reviewing monorepos.
|
|
4
4
|
apply-to: Monorepo projects
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-301: Monorepo structure
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@ What monorepo structure, naming conventions, tooling, and build standards should
|
|
|
17
17
|
|
|
18
18
|
**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.**
|
|
19
19
|
|
|
20
|
-
For step-by-step scaffolding instructions see [skill
|
|
20
|
+
For step-by-step scaffolding instructions see [skill 053-monorepo-setup](skills/053-monorepo-setup/SKILL.md).
|
|
21
21
|
Module folder responsibilities, artifact locations, and test-folder conventions follow [agentme-edr-016](../principles/016-cross-language-module-structure.md).
|
|
22
22
|
|
|
23
23
|
### Details
|
|
@@ -78,7 +78,7 @@ Every monorepo MUST follow this top-level directory layout:
|
|
|
78
78
|
|
|
79
79
|
A `Makefile` MUST be present at the repository root, in every application folder, and in every module folder.
|
|
80
80
|
|
|
81
|
-
All Makefiles MUST use the shared target vocabulary from [agentme-edr-
|
|
81
|
+
All Makefiles MUST use the shared target vocabulary from [agentme-edr-303](303-common-targets.md).
|
|
82
82
|
|
|
83
83
|
Repository, application, and module Makefiles MUST define at minimum: `all`, `build`, `lint`, `test`, and `clean`.
|
|
84
84
|
|
|
@@ -94,7 +94,7 @@ The root `setup` target MUST run `mise install` and any small repository bootstr
|
|
|
94
94
|
- Every language runtime or CLI referenced by any module `Makefile`, CI workflow, or README command MUST be pinned in `.mise.toml`.
|
|
95
95
|
- Contributors and CI run `make setup` after cloning or checkout; this target MUST call `mise install`.
|
|
96
96
|
- Agents and contributors MUST check `.mise.toml` before using a system-installed compiler, runtime, or CLI.
|
|
97
|
-
- When `.mise.toml` exists, all build, test, lint, and code-generation commands MUST run through `make <target>`, and the Makefile recipes MUST execute the underlying tools via `mise exec -- <command>`, following [agentme-edr-
|
|
97
|
+
- When `.mise.toml` exists, all build, test, lint, and code-generation commands MUST run through `make <target>`, and the Makefile recipes MUST execute the underlying tools via `mise exec -- <command>`, following [agentme-edr-304](304-tool-execution-and-scripting.md).
|
|
98
98
|
- If a required tool is missing, the first remediation step MUST be to update `.mise.toml` or run `mise install`, not to install ad-hoc global tools with language-specific installers such as `go install`, `npm install -g`, `pip install --user`, or `cargo install`.
|
|
99
99
|
- Root and module `Makefile` targets MUST work when invoked as plain `make <target>` after `make setup`.
|
|
100
100
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-302-github-ci-cd-pipelines
|
|
3
3
|
description: Defines the standard GitHub Actions workflow split for CI, release tagging, and publishing. Use when configuring project automation.
|
|
4
4
|
apply-to: Projects using GitHub Actions
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-302: GitHub CI/CD pipelines
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -142,7 +142,7 @@ jobs:
|
|
|
142
142
|
|
|
143
143
|
*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.
|
|
144
144
|
|
|
145
|
-
*Why `id-token: write`:* Required for npm provenance attestation via `npm publish --provenance`, as specified in [agentme-edr-
|
|
145
|
+
*Why `id-token: write`:* Required for npm provenance attestation via `npm publish --provenance`, as specified in [agentme-edr-101](../application/101-javascript-project-tooling.md).
|
|
146
146
|
|
|
147
147
|
---
|
|
148
148
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-303-common-development-script-names
|
|
3
3
|
description: Defines standard Makefile target names and the mandatory tool-execution flow using Mise. Use when designing build, lint, test, and release entry points.
|
|
4
4
|
apply-to: All projects with Makefiles
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-303: Common development script names
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ What standard set of Makefile target names and execution rules should projects a
|
|
|
15
15
|
|
|
16
16
|
## Decision Outcome
|
|
17
17
|
|
|
18
|
-
**Every project MUST expose its development actions through a root `Makefile` using a defined set of standardized target names. Target implementation and tool-execution rules follow [agentme-edr-
|
|
18
|
+
**Every project MUST expose its development actions through a root `Makefile` using a defined set of standardized target names. Target implementation and tool-execution rules follow [agentme-edr-304](304-tool-execution-and-scripting.md), which requires `mise exec --` before routine tool commands.**
|
|
19
19
|
|
|
20
20
|
Standardizing both the target names and the execution chain removes per-project guesswork, makes CI pipelines reusable, and keeps tooling behavior visible in one place.
|
|
21
21
|
|
|
@@ -49,7 +49,7 @@ make <target>
|
|
|
49
49
|
|
|
50
50
|
- The `setup` target MUST run `mise install` and any small project-specific bootstrap needed before normal targets work.
|
|
51
51
|
- Routine targets such as `build`, `lint`, `test`, `run`, and `publish` MUST be invoked as `make <target>` by both contributors and CI.
|
|
52
|
-
- Each Makefile recipe MUST call the real underlying command through `mise exec --`, following [agentme-edr-
|
|
52
|
+
- Each Makefile recipe MUST call the real underlying command through `mise exec --`, following [agentme-edr-304](304-tool-execution-and-scripting.md).
|
|
53
53
|
- Makefile recipes MUST NOT add extra script layers such as `npm run`, `pnpm run`, `yarn run`, `mise run`, `mise tasks`, or shell aliases when those layers only forward to another command.
|
|
54
54
|
- Calling the actual tool is allowed even when that tool itself launches another program as part of its normal interface.
|
|
55
55
|
- Allowed: `mise exec -- pnpm exec eslint ./src`
|
|
@@ -167,7 +167,7 @@ test:
|
|
|
167
167
|
|
|
168
168
|
A developer can run `make test` at the repo root to test everything, or `cd module-a && make test` to test a single module. Both MUST work.
|
|
169
169
|
|
|
170
|
-
**Reference:** See [agentme-edr-
|
|
170
|
+
**Reference:** See [agentme-edr-301](301-monorepo-structure.md) for the full monorepo layout convention.
|
|
171
171
|
|
|
172
172
|
---
|
|
173
173
|
|
|
@@ -228,7 +228,7 @@ Subtargets that require external dependencies (e.g., `test-integration` against
|
|
|
228
228
|
|
|
229
229
|
#### 09-ai-project-dev-targets
|
|
230
230
|
|
|
231
|
-
AI-based projects (LLM, Agent, and Workflow tiers as defined in [agentme-edr-
|
|
231
|
+
AI-based projects (LLM, Agent, and Workflow tiers as defined in [agentme-edr-141](../application/141-ai-llm-development-standards.md)) MUST expose a `dev-mlflow` target that starts a local MLflow tracking server for development inspection.
|
|
232
232
|
|
|
233
233
|
**Example implementation:**
|
|
234
234
|
|
|
@@ -251,5 +251,5 @@ dev-mlflow:
|
|
|
251
251
|
|
|
252
252
|
## References
|
|
253
253
|
|
|
254
|
-
- [agentme-edr-
|
|
255
|
-
- [agentme-edr-
|
|
254
|
+
- [agentme-edr-301](301-monorepo-structure.md) - Monorepo layout and delegation structure
|
|
255
|
+
- [agentme-edr-304](304-tool-execution-and-scripting.md) - Tool-execution rules for Makefile targets and CI
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-304-tool-execution-and-scripting
|
|
3
3
|
description: Defines how Makefiles, CI pipelines, and optional wrapper scripts execute project commands. Use when designing project automation or command entry points.
|
|
4
4
|
apply-to: All projects with Makefiles and CI pipelines
|
|
5
5
|
valid-from: 2026-05-25
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-304: Tool execution and scripting
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -15,14 +15,14 @@ How should projects execute development commands so the command surface stays pr
|
|
|
15
15
|
|
|
16
16
|
## Decision Outcome
|
|
17
17
|
|
|
18
|
-
**Use Makefiles as the only authoritative command entry point, with targets named by [agentme-edr-
|
|
18
|
+
**Use Makefiles as the only authoritative command entry point, with targets named by [agentme-edr-303](303-common-targets.md) and implemented with `mise exec --` before the real tool command.**
|
|
19
19
|
|
|
20
20
|
This keeps local development and CI aligned, reduces indirection, and lets contributors understand project behavior by reading one command surface.
|
|
21
21
|
|
|
22
22
|
### Details
|
|
23
23
|
|
|
24
24
|
- Every project MUST use a root `Makefile` as the authoritative entry point for developer and pipeline commands.
|
|
25
|
-
- The target names in that `Makefile` MUST follow [agentme-edr-
|
|
25
|
+
- The target names in that `Makefile` MUST follow [agentme-edr-303](303-common-targets.md).
|
|
26
26
|
- CI pipelines MUST run `make <target>` from the relevant root instead of calling language-specific scripts such as `npm run`, `pnpm run`, shell wrappers, or secondary task runners.
|
|
27
27
|
- A Makefile target MUST execute the real operation through `mise exec --` before invoking the tool itself, so it MUST use the version pinned in `.mise.toml`. Avoid intermediate script layers that hide the actual command.
|
|
28
28
|
- Every Makefile target MUST start by echoing a concise summary of the target and folder or context, using fewer than 10 words. When delegating to another Makefile, echo the child path and delegated target before invoking it.
|
|
@@ -58,9 +58,9 @@ Disallowed:
|
|
|
58
58
|
|
|
59
59
|
## References
|
|
60
60
|
|
|
61
|
-
- [agentme-edr-
|
|
62
|
-
- [agentme-edr-
|
|
63
|
-
- [agentme-edr-
|
|
64
|
-
- [agentme-edr-
|
|
65
|
-
- [agentme-edr-
|
|
66
|
-
- [agentme-edr-
|
|
61
|
+
- [agentme-edr-301](301-monorepo-structure.md) - Monorepo layout and Makefile hierarchy
|
|
62
|
+
- [agentme-edr-302](302-github-pipelines.md) - CI/CD workflows should call Make targets
|
|
63
|
+
- [agentme-edr-303](303-common-targets.md) - Standard target names
|
|
64
|
+
- [agentme-edr-101](../application/101-javascript-project-tooling.md) - JavaScript tooling commands inside Makefiles
|
|
65
|
+
- [agentme-edr-102](../application/102-golang-project-tooling.md) - Go tooling commands inside Makefiles
|
|
66
|
+
- [agentme-edr-103](../application/103-python-project-tooling.md) - Python tooling commands inside Makefiles
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: agentme-edr-policy-
|
|
2
|
+
name: agentme-edr-policy-305-environment-variable-configuration-files
|
|
3
3
|
description: Defines when to use YAML config files versus .env files for configuration, how to combine them, and how .env is loaded for spawned processes. Use when setting up project configuration for any application, CLI, or library.
|
|
4
4
|
apply-to: All projects that use environment variables for configuration
|
|
5
5
|
valid-from: 2026-06-09
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# agentme-edr-policy-
|
|
8
|
+
# agentme-edr-policy-305: Environment variable configuration files
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
@@ -19,7 +19,7 @@ How should projects manage environment variable configuration and CLI invocation
|
|
|
19
19
|
|
|
20
20
|
**Use YAML config files for CLI invocation configuration with multiple attributes; use `.env` files to supply environment variables to spawned processes and to hold uncommitted values referenced by config files. Load `.env` exclusively at process launch time — MUST NOT be loaded inside application code.**
|
|
21
21
|
|
|
22
|
-
Secrets (API keys, passwords, tokens) MUST NOT be placed in `.env` files. Those are handled by [agentme-edr-
|
|
22
|
+
Secrets (API keys, passwords, tokens) MUST NOT be placed in `.env` files. Those are handled by [agentme-edr-124](../application/124-secrets-management.md).
|
|
23
23
|
|
|
24
24
|
### Details
|
|
25
25
|
|
|
@@ -28,7 +28,7 @@ Secrets (API keys, passwords, tokens) MUST NOT be placed in `.env` files. Those
|
|
|
28
28
|
A `.env` file MUST be used when either of the following is true:
|
|
29
29
|
|
|
30
30
|
1. **Spawned process needs env vars** — the project launches a process (a deployable service, background worker, or shell script) that reads configuration from OS environment variables such as port numbers or API endpoint URLs.
|
|
31
|
-
2. **Value
|
|
31
|
+
2. **Value MUST NOT be committed** — a configuration value used in a YAML config file (see rule 07) is environment-specific or sensitive enough to exclude from version control. In that case, store the value in `.env` and reference it from the YAML file using env var substitution (see rule 08).
|
|
32
32
|
|
|
33
33
|
Do not use `.env` as a general-purpose configuration store when a YAML config file is the right tool (see rule 07).
|
|
34
34
|
|
|
@@ -64,7 +64,7 @@ FEATURE_FLAG_NEW_UI=false
|
|
|
64
64
|
|
|
65
65
|
Stage-specific overrides MUST use the naming convention `.env.[stage]` (e.g., `.env.production`, `.env.staging`, `.env.test`). These files may be committed to the repository because they carry deployment-stage configuration rather than local developer configuration. They are used during deployment pipelines where the stage is known and explicit.
|
|
66
66
|
|
|
67
|
-
The generic `.env`
|
|
67
|
+
The generic `.env` MUST NOT be committed. The distinction is: `.env` is for local, ad-hoc, standalone use; `.env.[stage]` is for deployment pipelines with a defined environment identity.
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
@@ -85,7 +85,7 @@ This ensures all variables in `.env` are available as environment variables to e
|
|
|
85
85
|
|
|
86
86
|
#### 06-no-application-level-dotenv-loading
|
|
87
87
|
|
|
88
|
-
Applications MUST NOT load `.env` files directly inside their own code using dotenv libraries or equivalent mechanisms. Configuration
|
|
88
|
+
Applications MUST NOT load `.env` files directly inside their own code using dotenv libraries or equivalent mechanisms. Configuration MUST enter the process exclusively as OS-level environment variables, set before the process is launched (by the Makefile, a shell script, CI, or a container runtime).
|
|
89
89
|
|
|
90
90
|
Prohibited patterns:
|
|
91
91
|
|
|
@@ -116,9 +116,9 @@ This rule prevents two parallel loading paths — OS env and file-based env —
|
|
|
116
116
|
|
|
117
117
|
CLI adapters with multiple configuration attributes MUST use a YAML config file rather than env vars or flags for those attributes. This applies whenever configuration is nested, repetitive, or too verbose for flags alone.
|
|
118
118
|
|
|
119
|
-
The CLI layer is responsible for loading and parsing the YAML file and passing the resolved values to the application layer. The application layer
|
|
119
|
+
The CLI layer is responsible for loading and parsing the YAML file and passing the resolved values to the application layer. The application layer MUST NOT read the config file directly.
|
|
120
120
|
|
|
121
|
-
Default config file discovery
|
|
121
|
+
Default config file discovery SHOULD follow the pattern defined in [agentme-edr-104](../application/104-cli-tool-standards.md): load `[cwd]/[tool-name].yml` by default, or an explicit path provided via `--config`.
|
|
122
122
|
|
|
123
123
|
Example `myconfig.yml`:
|
|
124
124
|
```yaml
|
|
@@ -131,7 +131,7 @@ max_retries: 3
|
|
|
131
131
|
|
|
132
132
|
#### 08-env-var-substitution-in-config-files
|
|
133
133
|
|
|
134
|
-
When a YAML config file contains a value that MUST NOT be committed (such as a real endpoint URL, a username, or any other environment-specific value), that value
|
|
134
|
+
When a YAML config file contains a value that MUST NOT be committed (such as a real endpoint URL, a username, or any other environment-specific value), that value MUST be expressed as an environment variable reference using `${VAR_NAME}` syntax, and the actual value MUST be defined in `.env`.
|
|
135
135
|
|
|
136
136
|
This keeps the YAML file committable while keeping the environment-specific value out of the repository.
|
|
137
137
|
|
|
@@ -148,11 +148,11 @@ openapi_endpoint: ${OPENAPI_ENDPOINT}
|
|
|
148
148
|
log_level: debug
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
The `.env` file
|
|
151
|
+
The `.env` file MUST be loaded in the Makefile before launching the process (see rule 05) so the variable is available when the CLI or process reads the config file.
|
|
152
152
|
|
|
153
153
|
## References
|
|
154
154
|
|
|
155
|
-
- [agentme-edr-
|
|
156
|
-
- [agentme-edr-
|
|
157
|
-
- [agentme-edr-
|
|
158
|
-
- [agentme-edr-
|
|
155
|
+
- [agentme-edr-124](../application/124-secrets-management.md) - Secrets must use OS keychains or cloud secret managers, not `.env` files
|
|
156
|
+
- [agentme-edr-304](304-tool-execution-and-scripting.md) - Makefiles are the authoritative command entry point; rule 05 above integrates with that standard
|
|
157
|
+
- [agentme-edr-303](303-common-targets.md) - Standard Makefile target names
|
|
158
|
+
- [agentme-edr-104](../application/104-cli-tool-standards.md) - CLI config file discovery and CLI-to-application separation
|
package/.xdrs/agentme/edrs/platform/skills/{002-monorepo-setup → 053-monorepo-setup}/SKILL.md
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 053-monorepo-setup
|
|
3
3
|
description: >
|
|
4
4
|
Step-by-step instructions for setting up and scaffolding a new monorepo following the standard
|
|
5
5
|
layout, naming conventions, Makefiles, Mise tooling, and README requirements defined in
|
|
6
|
-
agentme-edr-
|
|
6
|
+
agentme-edr-301. Activate this skill when the user asks to create, initialize, or set up a
|
|
7
7
|
monorepo, add a new application or module to an existing monorepo, or verify that a monorepo
|
|
8
8
|
complies with the standard structure.
|
|
9
9
|
metadata:
|
|
@@ -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-
|
|
16
|
+
Creates or extends a monorepo that follows the standard layout from [agentme-edr-301](../../301-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-
|
|
21
|
+
Related EDRs: [agentme-edr-301](../../301-monorepo-structure.md), [agentme-edr-502](../../../governance/502-contributing-guide-requirements.md), [agentme-edr-016](../../../principles/016-cross-language-module-structure.md)
|
|
22
22
|
|
|
23
23
|
## Instructions
|
|
24
24
|
|