aegis-sdlc 0.1.1__tar.gz

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.
Files changed (37) hide show
  1. aegis_sdlc-0.1.1/.gitignore +29 -0
  2. aegis_sdlc-0.1.1/CHANGELOG.md +116 -0
  3. aegis_sdlc-0.1.1/LICENSE +21 -0
  4. aegis_sdlc-0.1.1/PKG-INFO +73 -0
  5. aegis_sdlc-0.1.1/README.md +132 -0
  6. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/adr.template.md +53 -0
  7. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/architecture-decisions-index.template.md +24 -0
  8. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/data-architecture.template.md +61 -0
  9. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/deployment-topology.template.md +77 -0
  10. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/executive-briefing.template.md +45 -0
  11. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/functional-requirements.template.md +36 -0
  12. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/interface-specifications.template.md +53 -0
  13. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/non-functional-requirements.template.md +38 -0
  14. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/observability-strategy.template.md +59 -0
  15. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/product-requirements.template.md +54 -0
  16. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/security-architecture.template.md +77 -0
  17. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/system-blueprint.template.md +50 -0
  18. aegis_sdlc-0.1.1/aegis/skills/artifact-management/assets/templates/user-journey-map.template.md +45 -0
  19. aegis_sdlc-0.1.1/aegis/skills/implementation-management/assets/templates/decision.template.md +23 -0
  20. aegis_sdlc-0.1.1/aegis/skills/implementation-management/assets/templates/implementation.template.md +50 -0
  21. aegis_sdlc-0.1.1/aegis/skills/implementation-management/assets/templates/work-package.template.md +57 -0
  22. aegis_sdlc-0.1.1/docs/package-readme.md +39 -0
  23. aegis_sdlc-0.1.1/pyproject.toml +88 -0
  24. aegis_sdlc-0.1.1/src/artifact_tools/__init__.py +14 -0
  25. aegis_sdlc-0.1.1/src/artifact_tools/__main__.py +429 -0
  26. aegis_sdlc-0.1.1/src/artifact_tools/adr.py +358 -0
  27. aegis_sdlc-0.1.1/src/artifact_tools/changelog.py +81 -0
  28. aegis_sdlc-0.1.1/src/artifact_tools/constants.py +152 -0
  29. aegis_sdlc-0.1.1/src/artifact_tools/diagrams.py +216 -0
  30. aegis_sdlc-0.1.1/src/artifact_tools/frontmatter.py +90 -0
  31. aegis_sdlc-0.1.1/src/artifact_tools/guard.py +232 -0
  32. aegis_sdlc-0.1.1/src/artifact_tools/implementation.py +966 -0
  33. aegis_sdlc-0.1.1/src/artifact_tools/interfaces.py +153 -0
  34. aegis_sdlc-0.1.1/src/artifact_tools/issues.py +30 -0
  35. aegis_sdlc-0.1.1/src/artifact_tools/readiness.py +113 -0
  36. aegis_sdlc-0.1.1/src/artifact_tools/scaffold.py +69 -0
  37. aegis_sdlc-0.1.1/src/artifact_tools/validate.py +314 -0
@@ -0,0 +1,29 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ .pytest_cache/
5
+ *.egg-info/
6
+ build/
7
+ dist/
8
+ .venv/
9
+ venv/
10
+
11
+ # Artifact documents (not tracked)
12
+ # Each application lives in its own subfolder: docs/artifacts/<app-name>/...
13
+ # The whole per-app tree is generated by the agents and is not version-controlled.
14
+ docs/artifacts/*/
15
+ # Keep the multi-application index/router that lists the apps.
16
+ !docs/artifacts/README.md
17
+
18
+ # Node / mermaid-cli (mmdc) diagram-rendering artifacts
19
+ node_modules/
20
+ puppeteer-config.json
21
+ .vscode/mcp.json
22
+
23
+ # Claude Code: local MCP config (copy from .mcp.example.json) and personal settings
24
+ .mcp.json
25
+ .claude/settings.local.json
26
+ CLAUDE.local.md
27
+
28
+ # Local-only denylist of private terms (see scripts/ci/denylist.txt)
29
+ .denylist.local
@@ -0,0 +1,116 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here. The format follows
4
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
5
+ [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Until 1.0.0, minor versions
6
+ may include breaking changes; they are listed under **Changed**.
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.1.1] - 2026-09-24
11
+
12
+ The first release on PyPI (`pip install aegis-sdlc`), and the Claude Code plugin.
13
+
14
+ ### Added
15
+
16
+ - The CLI is packaged for PyPI as `aegis-sdlc` (the `artifact-tools` command and the
17
+ `artifact_tools` module keep their names). Publishing a GitHub release publishes the
18
+ package through Trusted Publishing. CI builds the package and runs the installed CLI
19
+ outside the repository.
20
+ - **Claude Code plugin (preview).** Install AEGIS into your own repository with
21
+ `/plugin marketplace add nishant-tamilselvan/AEGIS` and `/plugin install aegis@aegis`.
22
+ Commands are namespaced (`/aegis:start-ideation`), a `SessionStart` hook loads the
23
+ golden rules and checks for the `aegis-sdlc` CLI, and the guard runs against your
24
+ repository. The plugin is generated from `aegis/` and validated in CI with
25
+ `claude plugin validate --strict`. See
26
+ [docs/claude-code-plugin.md](docs/claude-code-plugin.md).
27
+ - The guard recognizes namespaced plugin agents (`aegis:service-implementer`) as
28
+ implementers.
29
+ - Both hook scripts accept `--repo-root`, so they can run from a plugin folder against
30
+ the user's repository. An empty or missing `--repo-root` value is treated as a guard
31
+ failure: implementers are denied and other calls need approval.
32
+
33
+ ### Changed
34
+
35
+ - `check_readiness` moved from `artifact_tools.implementation` to
36
+ `artifact_tools.readiness`, and `Issue` and `has_errors` moved to
37
+ `artifact_tools.issues` (`artifact_tools.validate` still re-exports them). This removes
38
+ the import cycles between the validators. The CLI is unchanged.
39
+
40
+ ### Fixed
41
+
42
+ - When the implementation target is the same repository that holds `docs/artifacts/`,
43
+ the guard no longer blocks `artifact-manager` and other non-implementation agents from
44
+ writing artifacts. Implementers are still denied there, and code writes still require
45
+ the active package's implementer.
46
+ - An installed CLI used outside an AEGIS clone could not find its templates. The wheel
47
+ now bundles them; a repository's own templates still take precedence.
48
+
49
+ ## [0.1.0] - 2026-09-24
50
+
51
+ First public, organization-neutral release, for GitHub Copilot and Claude Code.
52
+
53
+ ### Added
54
+
55
+ - Three-phase agent system (ideation, architecture and implementation) with 18 agents,
56
+ 10 prompts and 4 skills, for two agent hosts:
57
+ - **GitHub Copilot in VS Code:** custom agents, prompt files and skills in `.github/`,
58
+ with hooks in `.github/hooks/`.
59
+ - **Claude Code:** the 15 specialists as subagents (`.claude/agents/`), the 10 prompts as
60
+ slash-command skills that run the orchestrators in the main conversation
61
+ (`.claude/skills/`), hooks in `.claude/settings.json`, and `CLAUDE.md`. See
62
+ [docs/claude-code.md](docs/claude-code.md).
63
+ - One source for both hosts: agents, prompts, skills and golden rules live in `aegis/`.
64
+ `scripts/sync_platforms.py` generates the Copilot and Claude Code files, and CI and
65
+ pre-commit fail when they drift.
66
+ - `artifact_tools` CLI to scaffold, validate and maintain artifacts, ADRs, interface
67
+ contracts, diagrams and phase-3 implementation state.
68
+ - Implementation guard (`PreToolUse`) and automatic validation (`PostToolUse`) hooks,
69
+ shared by both hosts. The guard recognizes Copilot agent names and Claude Code subagents
70
+ (`agent_type`). The validation hook returns feedback as `systemMessage` for Copilot and
71
+ `additionalContext` for Claude Code (`--platform claude`).
72
+ - A worked example, [`examples/artifacts/todo-list/`](examples/artifacts/): a complete,
73
+ approved phase 1 and phase 2 artifact set for a simple to-do app, with an OpenAPI 3.1
74
+ contract and two ADRs. CI keeps it passing strict validation and the readiness gate.
75
+ - Enterprise Standards integration: the `enterprise-standards` skill, a reference MCP
76
+ server with a sample knowledge base, MCP templates for both hosts
77
+ (`.vscode/mcp.example.json`, `.mcp.example.json`) and a setup guide.
78
+ - Repository checks for personal paths, denylisted terms, invisible Unicode, workflow
79
+ security and broken links.
80
+ - CI on Windows, macOS and Linux with SHA-pinned actions, a secret scan, Dependabot and
81
+ pre-commit hooks.
82
+ - CodeQL code scanning (Python and GitHub Actions) and OpenSSF Scorecard workflows.
83
+ - Community files: security policy, contributing guide, Code of Conduct, issue forms and
84
+ a pull request template.
85
+ - Golden rules that treat external content as data and forbid copying secrets into
86
+ artifacts.
87
+
88
+ ### Changed
89
+
90
+ - The organization-specific playbook integration is now the generic Enterprise
91
+ Standards library (`enterprise-standards-server`).
92
+ - The `--playbook-review` CLI option and the `playbook_review` pointer field are renamed to
93
+ `--standards-review` and `standards_review`.
94
+ - The CLI reads templates from `aegis/skills/` instead of `.github/skills/`.
95
+ - Implementation readiness accepts `CLAUDE.md` as a target repository's conventions file.
96
+
97
+ ### Security
98
+
99
+ - The implementation guard hook never fails open. An agent host lets a tool call proceed
100
+ when its hook crashes, so on any failure the wrapper denies implementation agents and
101
+ asks you about every other call. Deny reasons also go to stderr, where Claude Code reads
102
+ them.
103
+ - Only the active work package's implementation agent may write to the target
104
+ repository. Writes there from orchestrators, reviewers or the Claude Code main
105
+ conversation are denied with a reminder to delegate.
106
+
107
+ ### Fixed
108
+
109
+ - Writing implementation state no longer fails intermittently on Windows when another
110
+ process briefly holds the file open. The atomic rename now retries.
111
+ - The CLI writes LF line endings on every platform. On Windows, scaffolded artifacts,
112
+ ADRs, changelog entries and contract stubs were written with CRLF.
113
+
114
+ [Unreleased]: https://github.com/nishant-tamilselvan/AEGIS/compare/v0.1.1...HEAD
115
+ [0.1.1]: https://github.com/nishant-tamilselvan/AEGIS/compare/v0.1.0...v0.1.1
116
+ [0.1.0]: https://github.com/nishant-tamilselvan/AEGIS/releases/tag/v0.1.0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 NISHANT TAMILSELVAN
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.5
2
+ Name: aegis-sdlc
3
+ Version: 0.1.1
4
+ Summary: CLI for AEGIS: scaffold, validate and track requirements, architecture artifacts, ADRs and implementation work packages.
5
+ Project-URL: Homepage, https://github.com/nishant-tamilselvan/AEGIS
6
+ Project-URL: Documentation, https://github.com/nishant-tamilselvan/AEGIS/tree/main/docs
7
+ Project-URL: Issues, https://github.com/nishant-tamilselvan/AEGIS/issues
8
+ Project-URL: Changelog, https://github.com/nishant-tamilselvan/AEGIS/blob/main/CHANGELOG.md
9
+ Author: Nishant Tamilselvan
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: adr,ai-agents,architecture,claude-code,github-copilot,mcp,requirements,sdlc
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Topic :: Software Development :: Documentation
24
+ Classifier: Topic :: Software Development :: Quality Assurance
25
+ Requires-Python: >=3.10
26
+ Requires-Dist: pyyaml>=6.0
27
+ Provides-Extra: dev
28
+ Requires-Dist: pre-commit>=4.0; extra == 'dev'
29
+ Requires-Dist: pytest>=8.0; extra == 'dev'
30
+ Requires-Dist: ruff>=0.16; extra == 'dev'
31
+ Provides-Extra: diagrams
32
+ Requires-Dist: mermaidx>=0.8; extra == 'diagrams'
33
+ Description-Content-Type: text/markdown
34
+
35
+ # aegis-sdlc
36
+
37
+ The command-line tool behind [AEGIS](https://github.com/nishant-tamilselvan/AEGIS), a set
38
+ of agents for GitHub Copilot and Claude Code that turn an idea into approved
39
+ requirements, an implementable architecture and reviewed code.
40
+
41
+ The agents call this CLI to keep their documents consistent. You can also use it on its
42
+ own, for example in CI, to scaffold and validate AEGIS artifacts.
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ pip install aegis-sdlc
48
+ ```
49
+
50
+ This installs the `artifact-tools` command. Python 3.10 or later is required.
51
+
52
+ ## Use
53
+
54
+ ```bash
55
+ artifact-tools scaffold product-requirements docs/artifacts/my-app --project "My App"
56
+ artifact-tools validate docs/artifacts/my-app --strict
57
+ artifact-tools adr new "Use PostgreSQL" docs/artifacts/my-app/architecture-decisions --status accepted
58
+ artifact-tools implementation readiness docs/artifacts/my-app /path/to/target-repo
59
+ ```
60
+
61
+ The artifact and implementation templates are bundled with the package. Inside a
62
+ repository that has its own `aegis/skills/.../templates` folders, those are used instead,
63
+ so customized templates keep working.
64
+
65
+ ## Learn more
66
+
67
+ - [AEGIS on GitHub](https://github.com/nishant-tamilselvan/AEGIS): the agents, prompts
68
+ and skills for GitHub Copilot and Claude Code.
69
+ - [CLI reference](https://github.com/nishant-tamilselvan/AEGIS/blob/main/docs/cli-reference.md)
70
+ - [A complete example](https://github.com/nishant-tamilselvan/AEGIS/tree/main/examples/artifacts)
71
+ - [Changelog](https://github.com/nishant-tamilselvan/AEGIS/blob/main/CHANGELOG.md)
72
+
73
+ MIT licensed.
@@ -0,0 +1,132 @@
1
+ <p align="center">
2
+ <img src="assets/aegis-logo.svg" alt="AEGIS" width="360" />
3
+ </p>
4
+
5
+ <p align="center">
6
+ <strong>Agentic Enterprise Guided Intelligent System</strong><br />
7
+ From a one-line idea to approved requirements, an implementable architecture and reviewed code, inside VS Code or Claude Code.
8
+ </p>
9
+
10
+ <p align="center">
11
+ <a href="https://github.com/nishant-tamilselvan/AEGIS/actions/workflows/ci.yml"><img src="https://github.com/nishant-tamilselvan/AEGIS/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI" /></a>
12
+ <a href="https://github.com/nishant-tamilselvan/AEGIS/actions/workflows/codeql.yml"><img src="https://github.com/nishant-tamilselvan/AEGIS/actions/workflows/codeql.yml/badge.svg?branch=main" alt="CodeQL" /></a>
13
+ <a href="https://scorecard.dev/viewer/?uri=github.com/nishant-tamilselvan/AEGIS"><img src="https://api.scorecard.dev/projects/github.com/nishant-tamilselvan/AEGIS/badge" alt="OpenSSF Scorecard" /></a>
14
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license" /></a>
15
+ <img src="https://img.shields.io/badge/python-3.10%2B-3776AB?logo=python&amp;logoColor=white" alt="Python 3.10+" />
16
+ <img src="https://img.shields.io/badge/VS%20Code-Copilot%20agents-007ACC?logo=visualstudiocode&amp;logoColor=white" alt="VS Code Copilot agents" />
17
+ <img src="https://img.shields.io/badge/Claude%20Code-subagents%20%2B%20skills-D97757?logo=claude&amp;logoColor=white" alt="Claude Code subagents and skills" />
18
+ <img src="https://img.shields.io/badge/MCP-Enterprise%20Standards-6E56CF" alt="MCP Enterprise Standards" />
19
+ </p>
20
+
21
+ <p align="center">
22
+ <a href="docs/getting-started.md">Getting started</a> ·
23
+ <a href="docs/claude-code.md">Claude Code</a> ·
24
+ <a href="docs/how-it-works.md">How it works</a> ·
25
+ <a href="docs/agents.md">Agents</a> ·
26
+ <a href="docs/cli-reference.md">CLI</a> ·
27
+ <a href="docs/enterprise-standards-setup.md">Enterprise Standards</a> ·
28
+ <a href="docs/troubleshooting.md">Troubleshooting</a>
29
+ </p>
30
+
31
+ ---
32
+
33
+ AEGIS is a set of agents, prompts and skills for GitHub Copilot in VS Code and for Claude
34
+ Code, backed by a Python tool layer. Orchestrator agents guide you one small step at a time. Specialist agents write
35
+ and maintain a set of living documents. The tooling validates those documents after every
36
+ change, so requirements, architecture and code stay consistent.
37
+
38
+ ## Why AEGIS
39
+
40
+ - **One step at a time.** Orchestrators ask a few focused questions, recap and wait for you.
41
+ You never get a 40-question form.
42
+ - **Documents that stay consistent.** Every artifact uses a fixed template and stable ids.
43
+ Validation runs after each edit, and a critic agent fixes what it finds.
44
+ - **Grounded in your standards.** Agents check your organization's Enterprise Standards
45
+ first, cite them, and ask only about what they leave open.
46
+ - **Bounded, reviewed implementation.** Code is written one approved work package at a time,
47
+ inside declared paths, and completes only with an independent review and recorded evidence.
48
+ - **No automatic deployment.** Release needs a named human approver.
49
+
50
+ ## Quick start
51
+
52
+ ```bash
53
+ git clone https://github.com/nishant-tamilselvan/AEGIS.git && cd AEGIS
54
+ pip install -e .
55
+ ```
56
+
57
+ Then open it in your agent host:
58
+
59
+ | GitHub Copilot | Claude Code |
60
+ | --- | --- |
61
+ | Open the folder in VS Code and switch Copilot Chat to Agent mode. | Run `claude` in the folder. See [Using AEGIS with Claude Code](docs/claude-code.md). Or install AEGIS into your own repository [as a plugin](docs/claude-code-plugin.md) (preview). |
62
+
63
+ Start with the same command on either platform:
64
+
65
+ ```text
66
+ /start-ideation customer-portal A self-service portal where customers track orders
67
+ ```
68
+
69
+ When ideation is done, continue with `/start-architecture customer-portal`, then
70
+ `/start-implementation customer-portal <absolute-path-to-target-repo>`.
71
+ The [getting started guide](docs/getting-started.md) walks through each phase.
72
+
73
+ ## How it works
74
+
75
+ ```mermaid
76
+ flowchart LR
77
+ U[Raw idea] --> P1[1. Ideation<br/>6 business artifacts]
78
+ P1 --> P2[2. Architecture<br/>5 technical artifacts + ADRs]
79
+ P2 --> G{Readiness gate}
80
+ G -- blocked --> P2
81
+ G -- ready --> P3[3. Implementation<br/>bounded work packages]
82
+ P3 --> R[Independent review<br/>+ evidence]
83
+ R --> H[Human release approval]
84
+ ```
85
+
86
+ | Phase | You get |
87
+ | --- | --- |
88
+ | **Ideation** | Product, functional and non-functional requirements, a user journey map, a system blueprint and an executive briefing. |
89
+ | **Architecture** | Interface specifications with native contracts, data, security, deployment and observability architecture, and ADRs. |
90
+ | **Implementation** | Work packages traced to the artifacts, a decision ledger, and reviewed code in your target repository. |
91
+
92
+ Artifacts live in `docs/artifacts/<app-name>/`, one folder per application. See
93
+ [how it works](docs/how-it-works.md) for the artifacts, ids and guarantees, or browse a
94
+ **[complete example for a simple to-do app](examples/artifacts/)**: every phase 1 and
95
+ phase 2 artifact, an OpenAPI contract and two ADRs, all approved and ready for
96
+ implementation.
97
+
98
+ ## What's inside
99
+
100
+ | | |
101
+ | --- | --- |
102
+ | **18 agents** | 3 orchestrators and 15 specialists across the three phases. [Catalog](docs/agents.md). |
103
+ | **10 prompts** | Slash commands to start, resume, review and change each phase. [List](docs/agents.md#prompts). |
104
+ | **2 platforms, 1 source** | Everything is written once in `aegis/` and generated for GitHub Copilot (`.github/`) and Claude Code (`.claude/`). |
105
+ | **4 skills** | Artifact, ADR and implementation management, and Enterprise Standards grounding. |
106
+ | **2 hooks** | A guard before implementation tool calls, and validation after every edit, on both platforms. |
107
+ | **`artifact_tools` CLI** | Scaffold, validate, ADRs, contracts, diagrams and implementation state. [Reference](docs/cli-reference.md). |
108
+ | **Reference MCP server** | Serves your standards from Markdown files. [Setup](docs/enterprise-standards-setup.md). |
109
+
110
+ ## Enterprise Standards
111
+
112
+ Connect your organization's standards, policies, patterns and enterprise decisions through
113
+ a read-only MCP server named `enterprise-standards-server`. You can run the included
114
+ [reference server](examples/enterprise-standards-server/) on a folder of Markdown files, put
115
+ your own server in front of an existing system, or run without one. The
116
+ [setup guide](docs/enterprise-standards-setup.md) covers each option.
117
+
118
+ ## Security
119
+
120
+ The implementation guard is a safeguard, not a sandbox. Review what agents change before
121
+ you merge it, and treat standards content as untrusted input. Report vulnerabilities
122
+ privately. See [SECURITY.md](SECURITY.md).
123
+
124
+ ## Contributing
125
+
126
+ Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for the setup, the
127
+ checks CI runs and a checklist for each kind of component. This project follows the
128
+ [Code of Conduct](CODE_OF_CONDUCT.md). Changes are recorded in the [changelog](CHANGELOG.md).
129
+
130
+ ## License
131
+
132
+ [MIT](LICENSE)
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: {{ADR_ID}}
3
+ title: "{{TITLE}}"
4
+ status: {{STATUS}}
5
+ date: "{{DATE}}"
6
+ component: "{{COMPONENT}}"
7
+ supersedes: "{{SUPERSEDES}}"
8
+ superseded_by: "{{SUPERSEDED_BY}}"
9
+ deciders: "{{DECIDERS}}"
10
+ ---
11
+
12
+ # {{ADR_ID}}: {{TITLE}}
13
+
14
+ - **Status:** {{STATUS}}
15
+ - **Date:** {{DATE}}
16
+ - **Component/Domain:** {{COMPONENT}}
17
+ - **Deciders:** {{DECIDERS}}
18
+ - **Supersedes:** {{SUPERSEDES}}
19
+ - **Superseded by:** {{SUPERSEDED_BY}}
20
+
21
+ ## Context
22
+
23
+ _What is the issue that motivates this decision? Reference the driving requirements
24
+ (`FR-*`, `NFR-*`) or components (`BP-*`) so the decision stays traceable._
25
+
26
+ ## Decision Drivers
27
+
28
+ - _..._
29
+ - _..._
30
+
31
+ ## Considered Alternatives
32
+
33
+ 1. **_Option A_** — _pros / cons._
34
+ 2. **_Option B_** — _pros / cons._
35
+ 3. **_Option C_** — _pros / cons._
36
+
37
+ ## Decision
38
+
39
+ _The choice we are making, stated plainly._
40
+
41
+ ## Consequences
42
+
43
+ ### Positive
44
+
45
+ - _..._
46
+
47
+ ### Negative / Trade-offs
48
+
49
+ - _..._
50
+
51
+ ## Links
52
+
53
+ - _Related ADRs, requirements, or external references._
@@ -0,0 +1,24 @@
1
+ # Architecture Decision Records (ADRs)
2
+
3
+ This index tracks every critical architectural decision for the platform. It is the
4
+ semantic-routing entry point: filter by **Status** to avoid stale decisions and by
5
+ **Component** to narrow a search before opening a record.
6
+
7
+ - **Status** values: `proposed`, `accepted`, `rejected`, `deprecated`, `superseded`.
8
+ - A `superseded` row must name its replacement in the **Consequences** column and set
9
+ `superseded_by` in its own frontmatter.
10
+ - Records are immutable except for status transitions and back-links. Never renumber.
11
+
12
+ | ID | Title | Date | Status | Component | Consequences | File |
13
+ |------|-------|------|--------|-----------|--------------|------|
14
+ | ADR-0001 | Record architecture decisions | {{DATE}} | accepted | Governance | Establishes the Nygard/MADR template for all future decisions. | [0001-adr-template.md](0001-adr-template.md) |
15
+
16
+ ## How to add a decision
17
+
18
+ ```bash
19
+ python -m artifact_tools adr new "Event-driven topology" --status accepted --component "Core Topology"
20
+ # Supersede an earlier decision:
21
+ python -m artifact_tools adr new "Migrate catalogue to PostgreSQL" --supersedes ADR-0003
22
+ ```
23
+
24
+ The tool auto-numbers the record, fills the template, and appends the row above.
@@ -0,0 +1,61 @@
1
+ ---
2
+ artifact: data-architecture
3
+ title: "{{TITLE}}"
4
+ version: "0.1"
5
+ status: draft
6
+ last_updated: "{{DATE}}"
7
+ phase: 2
8
+ owner: artifact-manager
9
+ ---
10
+
11
+ # Data Architecture — {{PROJECT_NAME}}
12
+
13
+ > How data is structured, owned and governed. Entities use the `DM-` prefix and
14
+ > `implements` the functional requirements (`FR-*`) whose data they hold. Proposed by
15
+ > `data-architect`, written by `artifact-manager`.
16
+
17
+ ## Legend
18
+
19
+ - **Store**: `relational` | `document` | `key-value` | `object` | `cache` | `search`
20
+ - **Classification**: `public` | `internal` | `confidential` | `pii` | `pci`
21
+ - **Status**: `draft` | `in-review` | `approved` | `removed`
22
+
23
+ ## 1. Logical Data Model (ERD)
24
+
25
+ ```mermaid
26
+ erDiagram
27
+ ENTITY_A ||--o{ ENTITY_B : has
28
+ ENTITY_A {
29
+ uuid id PK
30
+ string name
31
+ }
32
+ ENTITY_B {
33
+ uuid id PK
34
+ uuid entity_a_id FK
35
+ }
36
+ ```
37
+
38
+ ## 2. Entities
39
+
40
+ | ID | Entity | Store | Classification | implements | Status |
41
+ |------|--------|-------|----------------|------------|--------|
42
+ | DM-001 | _..._ | relational | internal | FR-001 | draft |
43
+
44
+ ## 3. Physical Design Notes
45
+
46
+ _Primary keys, indexing strategy, partitioning/sharding, and referential integrity._
47
+
48
+ ## 4. Data Retention & Purging
49
+
50
+ | Data domain | Retention period | Purge mechanism | Driver (NFR/regulation) |
51
+ |-------------|------------------|-----------------|-------------------------|
52
+ | _..._ | _..._ | _..._ | NFR-001 |
53
+
54
+ ## 5. Data Sovereignty & Residency
55
+
56
+ _Where data must physically reside (e.g. Canada-only regions) and why._
57
+
58
+ ## Changelog
59
+
60
+ <!-- artifact_tools changelog appends here -->
61
+ - {{DATE}} — v0.1 — Initial scaffold (phase 2).
@@ -0,0 +1,77 @@
1
+ ---
2
+ artifact: deployment-topology
3
+ title: "{{TITLE}}"
4
+ version: "0.1"
5
+ status: draft
6
+ last_updated: "{{DATE}}"
7
+ phase: 2
8
+ owner: artifact-manager
9
+ ---
10
+
11
+ # Deployment Topology — {{PROJECT_NAME}}
12
+
13
+ > How the software runs in the cloud: networks, environments, and recovery. Nodes use
14
+ > the `DEP-` prefix and `mitigates` the operational non-functional requirements
15
+ > (`NFR-*`) they address. Proposed by `platform-architect`, written by
16
+ > `artifact-manager`.
17
+
18
+ ## Legend
19
+
20
+ - **Zone**: `public` | `private` | `data` | `management`
21
+ - **Status**: `draft` | `in-review` | `approved` | `removed`
22
+
23
+ ## 1. Network Topology
24
+
25
+ ```mermaid
26
+ flowchart TB
27
+ Internet((Internet)) --> LB[Load Balancer]
28
+ LB --> GW[API Gateway]
29
+ subgraph VPC
30
+ subgraph Public Subnet
31
+ GW
32
+ end
33
+ subgraph Private Subnet
34
+ APP[App Services]
35
+ end
36
+ subgraph Data Subnet
37
+ DB[(Database)]
38
+ end
39
+ end
40
+ GW --> APP --> DB
41
+ ```
42
+
43
+ ## 2. Topology Nodes
44
+
45
+ | ID | Node | Zone | Runtime | mitigates | Status |
46
+ |------|------|------|---------|-----------|--------|
47
+ | DEP-001 | _..._ | private | container | NFR-001 | draft |
48
+
49
+ ## 3. Environments
50
+
51
+ | Environment | Purpose | Scale | Promotion gate |
52
+ |-------------|---------|-------|----------------|
53
+ | Dev | _..._ | minimal | PR merge |
54
+ | QA | _..._ | minimal | tests pass |
55
+ | Staging | _..._ | prod-like | sign-off |
56
+ | Prod | _..._ | full | change approval |
57
+
58
+ ## 4. CI/CD & Infrastructure as Code
59
+
60
+ - **Pipeline**: _build → test → scan → deploy stages._
61
+ - **IaC**: _Terraform / Ansible — module layout and state management._
62
+ - **Promotion**: _how artifacts move Dev → QA → Staging → Prod._
63
+
64
+ ## 5. Disaster Recovery
65
+
66
+ | Metric | Target | Implementation |
67
+ |--------|--------|----------------|
68
+ | RTO | _..._ | _..._ |
69
+ | RPO | _..._ | _..._ |
70
+
71
+ _Backups, replication, failover region, and restore drills. Targets derive from
72
+ `NFR-*` reliability requirements._
73
+
74
+ ## Changelog
75
+
76
+ <!-- artifact_tools changelog appends here -->
77
+ - {{DATE}} — v0.1 — Initial scaffold (phase 2).
@@ -0,0 +1,45 @@
1
+ ---
2
+ artifact: executive-briefing
3
+ title: "{{TITLE}}"
4
+ version: "0.1"
5
+ status: draft
6
+ last_updated: "{{DATE}}"
7
+ phase: 1
8
+ owner: artifact-manager
9
+ ---
10
+
11
+ # Executive Briefing — {{PROJECT_NAME}}
12
+
13
+ > One page for stakeholders. Synthesized from the other five artifacts. Keep it tight.
14
+
15
+ ## The Ask
16
+ _One sentence: what decision or support is needed._
17
+
18
+ ## Opportunity
19
+ _The problem and the value of solving it — 2-3 sentences._
20
+
21
+ ## Proposed Solution
22
+ _What we will build, at a glance._
23
+
24
+ ## Scope Snapshot
25
+ - **In:** _..._
26
+ - **Out (now):** _..._
27
+
28
+ ## Success Metrics
29
+ | Metric | Target |
30
+ |--------|--------|
31
+ | _..._ | _..._ |
32
+
33
+ ## Key Risks
34
+ | ID | Risk | Likelihood | Impact | Mitigation |
35
+ |------|------|-----------|--------|-----------|
36
+ | RISK-001 | _..._ | med | high | _..._ |
37
+
38
+ ## Status
39
+ - **Phase:** 1
40
+ - **Overall readiness:** draft
41
+
42
+ ## Changelog
43
+
44
+ <!-- artifact_tools changelog appends here -->
45
+ - {{DATE}} — v0.1 — Initial scaffold (phase 1).
@@ -0,0 +1,36 @@
1
+ ---
2
+ artifact: functional-requirements
3
+ title: "{{TITLE}}"
4
+ version: "0.1"
5
+ status: draft
6
+ last_updated: "{{DATE}}"
7
+ phase: 1
8
+ owner: artifact-manager
9
+ ---
10
+
11
+ # Functional Requirements — {{PROJECT_NAME}}
12
+
13
+ > What the system must do. Each requirement is atomic, testable, and traces back to
14
+ > a product goal (`PR-*`) or a user journey (`UJ-*`). IDs use the `FR-` prefix.
15
+
16
+ ## Legend
17
+
18
+ - **Priority**: `must` | `should` | `could` | `wont`
19
+ - **Status**: `draft` | `in-review` | `approved` | `removed`
20
+ - **traces_to**: comma-separated `PR-*` / `UJ-*` ids that justify this requirement.
21
+
22
+ ## Requirements
23
+
24
+ | ID | Requirement | Priority | traces_to | Status |
25
+ |------|-------------|----------|-----------|--------|
26
+ | FR-001 | The system shall _..._ | must | PR-001 | draft |
27
+
28
+ ## Acceptance Criteria
29
+
30
+ ### FR-001
31
+ - Given _..._, when _..._, then _..._.
32
+
33
+ ## Changelog
34
+
35
+ <!-- artifact_tools changelog appends here -->
36
+ - {{DATE}} — v0.1 — Initial scaffold (phase 1).