@pukujan/create-modular-monolith 2.1.0 → 2.2.1

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/LICENSE ADDED
@@ -0,0 +1,50 @@
1
+ # Pukujan Modular Monolith Platform License
2
+
3
+ Copyright (c) 2026 Pukujan. All rights reserved.
4
+
5
+ This repository and the `@pukujan/create-modular-monolith` npm package (including
6
+ the `template/` directory) are proprietary. No rights are granted except as
7
+ stated below.
8
+
9
+ ## Permitted use
10
+
11
+ 1. **Scaffold** — You may install and run `@pukujan/create-modular-monolith` to
12
+ generate a project for your own application development.
13
+
14
+ 2. **Your application code** — You retain ownership of code you write in a
15
+ scaffolded project. Platform files copied from the template remain subject
16
+ to this license for as long as you keep them in your repository.
17
+
18
+ 3. **Attribution (required)** — If your repository or product includes
19
+ substantial portions of this platform (for example: architecture contracts,
20
+ file-exchange layout, dev-log tooling, or scripts copied from the template),
21
+ you must include **visible attribution** in a prominent place (typically
22
+ README), such as:
23
+
24
+ > Built with the Pukujan Modular Monolith platform
25
+ > https://github.com/Pukujan/create-modular-monolith
26
+
27
+ You must also retain copyright and license notices in `LICENSE` and `NOTICE`
28
+ files that you do not replace with your own.
29
+
30
+ ## Restrictions
31
+
32
+ - Do not remove or obscure copyright or attribution notices from platform files
33
+ you retain.
34
+ - Do not republish this package, its `template/`, or a substantially similar
35
+ scaffold under another name without written permission from the copyright holder.
36
+ - Do not use the Pukujan name or branding to imply endorsement of your product.
37
+
38
+ ## No warranty
39
+
40
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
42
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
43
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING
44
+ FROM USE OF THE SOFTWARE.
45
+
46
+ ## Licensing inquiries
47
+
48
+ For permissions beyond this license (commercial redistribution of the scaffold,
49
+ white-label templates, etc.), open an issue at
50
+ https://github.com/Pukujan/create-modular-monolith/issues
package/README.md CHANGED
@@ -1,112 +1,197 @@
1
1
  # @pukujan/create-modular-monolith
2
2
 
3
- **npm create** scaffold for a modular monolith built for **human + agent** engineering at scale.
3
+ **Scaffold a modular monolith built for human + Cursor agent engineering** Express + React, versioned contracts, file-exchange handoffs, paired dev logs, and CI gates out of the box.
4
4
 
5
5
  ```bash
6
- npm create @pukujan/modular-monolith@2 my-platform
6
+ npm create @pukujan/modular-monolith@2.2.1 my-platform
7
7
  cd my-platform
8
8
  npm install --prefix backend && npm install --prefix frontend
9
+ npm run test:ci
9
10
  ```
10
11
 
11
- Published package: `@pukujan/create-modular-monolith`
12
- Product reference implementation: [litigation-prompt-engineering](https://github.com/Pukujan/litigation-prompt-engineering)
12
+ [![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](package.json)
13
+ [![License](https://img.shields.io/badge/License-Proprietary%20%2B%20attribution-lightgrey)](LICENSE)
14
+
15
+ | | |
16
+ |---|---|
17
+ | **This package** | `npm create` boilerplate — architecture only (`_reference`, `model-condenser`) |
18
+ | **Full product example** | [litigation-prompt-engineering](https://github.com/Pukujan/litigation-prompt-engineering) — domain modules, prompts, evals |
13
19
 
14
20
  ---
15
21
 
16
- ## What you get
22
+ ## What this is
17
23
 
18
- This is **not** a minimal Express/React demo. It is an **architecture platform**:
24
+ `@pukujan/create-modular-monolith` copies the `template/` folder into your chosen directory. You get a **platform**, not a hello-world demo:
19
25
 
20
- | Layer | Purpose |
21
- |-------|---------|
22
- | **Module contract** | Backend `register(app)` + frontend route modules add features without rewriting core |
23
- | **Architecture contracts** | Versioned manifest (`docs/architecture/contracts/`) paths, APIs, exports, dev logs |
24
- | **File exchange** | Dated `imports/` / `exports/` for human↔agent file handoff |
25
- | **Pre-push dev logs** | Paired **human markdown** (summary + detail, mermaid, TOC) + **agent JSON** audit |
26
- | **Consolidated snapshots** | `condense:all` → models, prompts, file tree in `file-exchange/exports/` |
27
- | **Lint automation** | Boundaries, layers, contracts, repo artifacts, API registry |
28
- | **Cursor-native** | `AGENTS.md`, `.cursor/rules`, `.cursor/commands` for repeatable agent workflows |
26
+ - **Modular monolith** feature modules with enforced boundaries and internal MVC layers
27
+ - **Architecture contracts** — versioned manifest so paths and tooling stay in sync
28
+ - **File exchange** dated `imports/` / `exports/` for human↔agent file handoff
29
+ - **Pre-push dev logs** human markdown (summary + detail) + agent JSON audit before every push
30
+ - **CI gates** `npm run test:ci` matches GitHub Actions (lint, tests, module evals)
31
+ - **Cursor-native** `AGENTS.md`, `.cursor/rules`, `.cursor/commands`
29
32
 
30
- Domain business logic is **yours to add** via `npm run new:module`. The repo ships with `_reference` and `model-condenser` only.
33
+ Domain logic is **yours**: `npm run new:module -- billing --label "Billing"`.
31
34
 
32
35
  ---
33
36
 
34
- ## Why this architecture exists
37
+ ## Why use this
35
38
 
36
- Modern products are built as much by **agents** as by humans. This template encodes:
39
+ | Problem | How the template helps |
40
+ |---------|-------------------------|
41
+ | Agents read random folders | Mandatory `file-exchange/imports/{stamp}/` + [AGENTS.md](template/AGENTS.md) |
42
+ | Undocumented APIs | [docs/API.md](template/docs/API.md) registry + `lint:api-docs` |
43
+ | Lost context between sessions | Paired dev logs under `work-log/dev-logs/` |
44
+ | Repo layout drift | `lint:contracts` + [CONTRACTS_OVERVIEW](template/docs/architecture/CONTRACTS_OVERVIEW.md) |
45
+ | No merge-quality bar | `.github/workflows/ci.yml` + `npm run test:ci` |
37
46
 
38
- 1. **Discoverability** — Agents read JSON audits and contract manifests instead of guessing folder layout.
39
- 2. **Repeatability** — Every push can produce the same artifact set (dev log pair, tree, API inventory, test results).
40
- 3. **Scale** — New modules plug in under `backend/src/modules/` and `frontend/src/modules/` with enforced boundaries.
41
- 4. **Governance** — `lint:contracts` fails CI if a contract path is missing; `lint:api-docs` keeps routes documented.
47
+ ---
42
48
 
43
- Read **`template/docs/architecture/PLATFORM_ARCHITECTURE.md`** (in this repo) for the full narrative. After scaffold, start at **`docs/architecture/CONTRACTS_OVERVIEW.md`** in your project.
49
+ ## How it works
50
+
51
+ ```mermaid
52
+ flowchart LR
53
+ subgraph scaffold [npm create]
54
+ cli[index.js]
55
+ tpl[template/]
56
+ app[your-platform/]
57
+ end
58
+
59
+ subgraph platform [Platform layer]
60
+ fx[file-exchange/]
61
+ contracts[docs/architecture/contracts/]
62
+ devlog[work-log/dev-logs/]
63
+ ci[test:ci]
64
+ end
65
+
66
+ subgraph domain [You add]
67
+ mod[npm run new:module]
68
+ prompts[module prompts/]
69
+ evals[optional evals/golden/]
70
+ end
71
+
72
+ cli --> tpl --> app
73
+ app --> platform
74
+ app --> domain
75
+ ```
76
+
77
+ After scaffold, read [template/docs/architecture/PLATFORM_ARCHITECTURE.md](template/docs/architecture/PLATFORM_ARCHITECTURE.md) and [template/docs/architecture/EVAL_AND_CI.md](template/docs/architecture/EVAL_AND_CI.md).
44
78
 
45
79
  ---
46
80
 
47
- ## Repository layout (this GitHub repo)
81
+ ## Quick start (after scaffold)
48
82
 
49
- ```text
50
- create-modular-monolith/
51
- README.md ← you are here (npm package docs)
52
- package.json ← @pukujan/create-modular-monolith
53
- index.js ← copies template/ into target directory
54
- template/ ← full starter app (architecture only)
83
+ ```bash
84
+ cd my-platform
85
+
86
+ cp backend/.env.example backend/.env
87
+ cp frontend/.env.example frontend/.env
88
+
89
+ cd backend && npm run dev
90
+ # new terminal:
91
+ cd frontend && npm run dev
92
+ ```
93
+
94
+ **Quality gate (run before push):**
95
+
96
+ ```bash
97
+ npm run test:ci
98
+ npm run dev-log:pre-push -- --slug initial-setup
55
99
  ```
56
100
 
57
101
  ---
58
102
 
59
- ## Architecture scripts (in every scaffolded project)
103
+ ## What ships in `template/`
60
104
 
61
- These live under `template/scripts/` and are copied into new projects:
105
+ | Area | Contents |
106
+ |------|----------|
107
+ | Backend | `backend/src/core/`, `modules/_reference`, `modules/model-condenser` |
108
+ | Frontend | `frontend/src/core/`, `modules/_reference` |
109
+ | Docs | `docs/architecture/` — guardrails, contracts, PLATFORM_ARCHITECTURE, EVAL_AND_CI |
110
+ | Exchange | `file-exchange/imports/`, `file-exchange/exports/` |
111
+ | Work log | `work-log/dev-logs/human/`, `agent/`, JSON schema |
112
+ | CI | `.github/workflows/ci.yml` |
113
+ | Scripts | `lint:contracts`, `condense:all`, `import:file-exchange`, `new:module`, … |
62
114
 
63
- | Script | npm command | Role |
64
- |--------|-------------|------|
65
- | `lint-contracts.mjs` | `npm run lint:contracts` | Verify `manifest.json` paths exist |
66
- | `lint-repo-artifacts.mjs` | `npm run lint:repo-artifacts` | Verify exchange, dev-log, contract docs |
67
- | `check-api-docs.mjs` | `npm run lint:api-docs` | Routes ⊆ `docs/API.md` registry |
68
- | `write-pre-push-dev-log.mjs` | `npm run dev-log:pre-push` | Human + agent pre-push audit pair |
69
- | `verify-dev-log.mjs` | `npm run dev-log:verify` | Validate latest dev-log structure |
70
- | `condense-file-structure.mjs` | `npm run condense-file-structure` | Repo tree → `exports/consolidated-file-structure.json` |
71
- | `condense-prompts.mjs` | `npm run condense-prompts` | All prompts → consolidated JSON |
72
- | `import-to-file-exchange.mjs` | `npm run import:file-exchange` | Inbound bundles → `imports/{stamp}/` |
73
- | `new-module.mjs` | `npm run new:module` | Scaffold backend + frontend module |
115
+ **Not included:** domain batches, litigation prompts, or committed `evals/golden/` (add per project when you curate fixtures).
74
116
 
75
- Supporting libraries: `scripts/lib/repo-tree.mjs`, `api-inventory.mjs`, `dev-log-human-format.mjs`, `git-snapshot.mjs`, `run-tests.mjs`.
117
+ ---
118
+
119
+ ## Key commands (in every scaffolded app)
120
+
121
+ | Command | Purpose |
122
+ |---------|---------|
123
+ | `npm run test:ci` | All CI gates locally |
124
+ | `npm run new:module -- <name>` | Scaffold backend + frontend module |
125
+ | `npm run import:file-exchange -- <path>` | Inbound files → `imports/{stamp}/` |
126
+ | `npm run condense:all` | Snapshots → `file-exchange/exports/consolidated-*.json` |
127
+ | `npm run dev-log:pre-push -- --slug <topic>` | Human + agent dev log pair |
128
+ | `npm run lint:architecture` | Boundaries + layers + API docs |
76
129
 
77
130
  ---
78
131
 
79
- ## Contract catalog (v001)
132
+ ## Contract catalog (platform v001)
80
133
 
81
134
  Registered in `template/docs/architecture/contracts/manifest.json`:
82
135
 
83
- - **fileExchange** — dated imports/exports, human-readable stamps
84
- - **consolidatedExports** — snapshot JSON in `file-exchange/exports/`
85
- - **prePushDevLog** — paired human MD + agent JSON before push
86
- - **apiDocumentationRegistry** — `docs/API.md` as HTTP source of truth
87
- - **repoArtifactLayout** — canonical data roots
136
+ - **fileExchange** — dated imports/exports
137
+ - **consolidatedExports** — `condense:all` output paths
138
+ - **prePushDevLog** — paired human MD + agent JSON
139
+ - **apiDocumentationRegistry** — `docs/API.md`
140
+ - **repoArtifactLayout** — canonical roots
88
141
 
89
- Module-level contracts (storage layout, pipeline versions) are added when you build domain modules.
142
+ Add domain contracts in your modules when you introduce pipelines or storage layouts.
90
143
 
91
144
  ---
92
145
 
93
- ## Publishing this package
146
+ ## Golden evals (per project, not universal)
94
147
 
95
- ```bash
96
- cd packages/create-modular-monolith # or repo root if package.json is here
97
- npm version patch|minor|major
98
- npm publish --access public
148
+ **Eval / regression** compares output to expected JSON for a **known fixture case** — not “truth for every future customer/case.”
149
+
150
+ See [EVAL_AND_CI.md](template/docs/architecture/EVAL_AND_CI.md). Optional: create `evals/golden/{caseId}/` when you are ready to lock regression for one scenario.
151
+
152
+ ---
153
+
154
+ ## This repository layout
155
+
156
+ ```text
157
+ create-modular-monolith/ ← npm package (this repo)
158
+ ├── README.md ← you are here
159
+ ├── package.json ← @pukujan/create-modular-monolith@2.2.1
160
+ ├── index.js ← copies template/ on npm create
161
+ ├── CHANGELOG.md
162
+ └── template/ ← full starter copied to user's folder
163
+ ├── README.md ← first doc in a new project
164
+ ├── AGENTS.md
165
+ ├── docs/architecture/
166
+ └── ...
99
167
  ```
100
168
 
101
- Users install with:
169
+ ---
170
+
171
+ ## Publishing
172
+
173
+ Maintainers sync platform changes from product repos via `export:architecture-starter` (see [litigation-prompt-engineering](https://github.com/Pukujan/litigation-prompt-engineering)).
102
174
 
103
175
  ```bash
104
- npm create @pukujan/modular-monolith@2 <folder-name>
176
+ npm version patch # or minor / major
177
+ npm publish --access public
105
178
  ```
106
179
 
180
+ Requires npm auth (granular token with publish access).
181
+
182
+ ---
183
+
184
+ ## Related
185
+
186
+ | Repo | Role |
187
+ |------|------|
188
+ | [create-modular-monolith](https://github.com/Pukujan/create-modular-monolith) | **This package** |
189
+ | [litigation-prompt-engineering](https://github.com/Pukujan/litigation-prompt-engineering) | Reference product (domain + evals) |
190
+
107
191
  ---
108
192
 
109
- ## Version
193
+ ## License
110
194
 
111
- Package version tracks **architecture platform** releases (contracts, agent tooling, template layout).
112
- See `package.json` and git tags. Domain app code lives in separate product repos.
195
+ **Proprietary all rights reserved.** You may use the npm scaffold to build your
196
+ own apps; **attribution is required** if you keep substantial platform files from
197
+ the template. See [LICENSE](LICENSE) and [template/NOTICE](template/NOTICE).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pukujan/create-modular-monolith",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "description": "Scaffold a modular monolith with architecture contracts, file-exchange, agent dev logs, and lint automation for Cursor-scale engineering.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,6 +8,7 @@
8
8
  },
9
9
  "files": [
10
10
  "index.js",
11
+ "LICENSE",
11
12
  "template"
12
13
  ],
13
14
  "keywords": [
@@ -21,7 +22,7 @@
21
22
  "create-app"
22
23
  ],
23
24
  "author": "Pukujan",
24
- "license": "MIT",
25
+ "license": "SEE LICENSE IN LICENSE",
25
26
  "repository": {
26
27
  "type": "git",
27
28
  "url": "git+https://github.com/Pukujan/create-modular-monolith.git"
@@ -0,0 +1,44 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ quality-gate:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: "20"
18
+ cache: npm
19
+ cache-dependency-path: |
20
+ backend/package-lock.json
21
+ frontend/package-lock.json
22
+
23
+ - name: Install backend
24
+ run: npm ci
25
+ working-directory: backend
26
+
27
+ - name: Install frontend
28
+ run: npm ci
29
+ working-directory: frontend
30
+
31
+ - name: Lint contracts
32
+ run: npm run lint:contracts
33
+
34
+ - name: Lint repo artifacts
35
+ run: npm run lint:repo-artifacts
36
+
37
+ - name: Lint architecture
38
+ run: npm run lint:architecture
39
+
40
+ - name: Unit tests
41
+ run: npm test
42
+
43
+ - name: Module eval runners
44
+ run: npm run test:evals
@@ -0,0 +1,11 @@
1
+ # Platform license (scaffolded from create-modular-monolith)
2
+
3
+ Copyright (c) 2026 Pukujan. All rights reserved.
4
+
5
+ This project includes platform files from @pukujan/create-modular-monolith.
6
+ See NOTICE for attribution requirements and
7
+ https://github.com/Pukujan/create-modular-monolith/blob/main/LICENSE
8
+ for the full Pukujan Modular Monolith Platform License.
9
+
10
+ Application code you add to this repository is yours. Platform files you retain
11
+ remain subject to the license above until you replace them.
@@ -0,0 +1,13 @@
1
+ Pukujan Modular Monolith Platform
2
+
3
+ Copyright (c) 2026 Pukujan. All rights reserved.
4
+
5
+ This project was scaffolded from @pukujan/create-modular-monolith
6
+ (https://github.com/Pukujan/create-modular-monolith).
7
+
8
+ Platform files (architecture contracts, file-exchange layout, dev-log tooling,
9
+ and related scripts) remain subject to the Pukujan Modular Monolith Platform
10
+ License. See LICENSE in the create-modular-monolith repository.
11
+
12
+ Attribution: retain this NOTICE (or equivalent credit in README) if you keep
13
+ substantial platform files from the template.
@@ -1,34 +1,114 @@
1
- # Modular monolith platform (scaffolded)
1
+ # Modular Monolith Platform
2
2
 
3
- Architecture-first Express + React starter for products that scale with **human + agent** engineering.
3
+ **Your scaffolded app** — Express + React modular monolith with architecture contracts, file-exchange, agent dev logs, and CI gates.
4
4
 
5
- **Read first:** [docs/architecture/PLATFORM_ARCHITECTURE.md](docs/architecture/PLATFORM_ARCHITECTURE.md)
6
- **Contracts:** [docs/architecture/CONTRACTS_OVERVIEW.md](docs/architecture/CONTRACTS_OVERVIEW.md)
7
- **Agents:** [AGENTS.md](AGENTS.md)
5
+ | | |
6
+ |---|---|
7
+ | **Architecture** | This repo layout and contracts |
8
+ | **npm package** | [@pukujan/create-modular-monolith](https://github.com/Pukujan/create-modular-monolith) |
9
+ | **Example product** | [litigation-prompt-engineering](https://github.com/Pukujan/litigation-prompt-engineering) (domain-filled reference) |
10
+
11
+ ---
12
+
13
+ ## Start here
14
+
15
+ | Doc | Purpose |
16
+ |-----|---------|
17
+ | [docs/architecture/PLATFORM_ARCHITECTURE.md](docs/architecture/PLATFORM_ARCHITECTURE.md) | How the platform works (agents + humans) |
18
+ | [docs/architecture/CONTRACTS_OVERVIEW.md](docs/architecture/CONTRACTS_OVERVIEW.md) | Contract manifest and enforcement |
19
+ | [docs/architecture/EVAL_AND_CI.md](docs/architecture/EVAL_AND_CI.md) | CI gates, evals, golden (per-case) |
20
+ | [AGENTS.md](AGENTS.md) | **Required for Cursor / automation** |
21
+ | [docs/README.md](docs/README.md) | Full documentation index |
22
+
23
+ ---
8
24
 
9
25
  ## Quick start
10
26
 
27
+ **Requirements:** Node.js 20+
28
+
11
29
  ```bash
30
+ cp backend/.env.example backend/.env
31
+ cp frontend/.env.example frontend/.env
32
+
12
33
  cd backend && npm install && npm run dev
13
- # other terminal:
34
+ # new terminal:
14
35
  cd frontend && npm install && npm run dev
15
36
  ```
16
37
 
17
- ## Architecture commands
38
+ - API: `http://localhost:3001` — [docs/API.md](docs/API.md)
39
+ - UI: Vite dev server — see `frontend/package.json`
40
+
41
+ ---
42
+
43
+ ## Daily commands
44
+
45
+ ```bash
46
+ # Before every git push
47
+ npm run dev-log:pre-push -- --slug your-topic
48
+ npm run test:ci
49
+
50
+ # Inbound files for agents (never process from Downloads/ directly)
51
+ npm run import:file-exchange -- "/path/to/bundle"
52
+
53
+ # Refresh agent-readable snapshots
54
+ npm run condense:all
55
+
56
+ # New feature
57
+ npm run new:module -- billing --label "Billing"
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Repository map
63
+
64
+ ```text
65
+ my-modular-monolith/
66
+ ├── backend/src/modules/ # add features here (_reference = layout example)
67
+ ├── frontend/src/modules/
68
+ ├── docs/architecture/ # contracts, guardrails
69
+ ├── file-exchange/ # imports/{stamp}/ exports/consolidated-*.json
70
+ ├── work-log/ # handoffs + dev-logs (human + agent)
71
+ ├── scripts/ # lint, condense, dev-log, new-module
72
+ └── .github/workflows/ci.yml
73
+ ```
74
+
75
+ Canonical paths: [docs/architecture/REPO_ARTIFACT_LAYOUT.md](docs/architecture/REPO_ARTIFACT_LAYOUT.md)
76
+
77
+ ---
78
+
79
+ ## What is included
80
+
81
+ - **Modules:** `_reference` (example layout), `model-condenser` (schema inventory API)
82
+ - **Platform contracts** v001 — file exchange, dev logs, consolidated exports, API registry
83
+ - **Lint:** `lint:architecture`, `lint:contracts`, `lint:repo-artifacts`
84
+ - **CI:** GitHub Actions runs the same checks as `npm run test:ci`
85
+ - **Observability:** `backend/src/shared/utils/traceId.js` for correlating workflow steps
86
+
87
+ ---
88
+
89
+ ## What you add
90
+
91
+ - Domain modules under `backend/src/modules/<name>/` and `frontend/src/modules/<name>/`
92
+ - Prompts in each module’s `prompts/`
93
+ - Optional `evals/golden/{caseId}/` when you have curated expected JSON for regression
94
+ - Runtime data under `data/` (gitignored by default)
95
+
96
+ ---
97
+
98
+ ## Architecture checks
18
99
 
19
100
  ```bash
20
- npm run lint:contracts # contract manifest paths
21
- npm run lint:architecture # module boundaries + layers + API docs
22
- npm run import:file-exchange -- ./my-bundle
23
- npm run dev-log:pre-push -- --slug initial-setup
24
- npm run condense:all # consolidated snapshots → file-exchange/exports/
25
- npm run new:module -- my-feature --label "My Feature"
101
+ npm run test:ci # recommended before push
102
+ npm run lint:architecture
103
+ npm run test:evals # module example eval runners (offline)
26
104
  ```
27
105
 
28
- ## What ships in this template
106
+ ---
107
+
108
+ ## License & attribution
29
109
 
30
- - `_reference` + `model-condenser` modules (no domain logic)
31
- - File exchange, work-log dev logs (human + agent), contract manifest v001
32
- - Lint and condense tooling for trees, prompts, and schemas
110
+ This scaffold includes **platform files** licensed by Pukujan (see [LICENSE](LICENSE)
111
+ and [NOTICE](NOTICE)). **Keep attribution** in README or NOTICE if you retain
112
+ those files. Application code you write is yours.
33
113
 
34
- Built with [@pukujan/create-modular-monolith](https://github.com/Pukujan/create-modular-monolith).
114
+ Full terms: [create-modular-monolith/LICENSE](https://github.com/Pukujan/create-modular-monolith/blob/main/LICENSE)