@pukujan/create-modular-monolith 2.1.0 → 2.2.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/README.md +3 -1
- package/package.json +1 -1
- package/template/.github/workflows/ci.yml +44 -0
- package/template/README.md +13 -4
- package/template/backend/package-lock.json +1976 -0
- package/template/backend/scripts/check-module-boundaries.mjs +3 -0
- package/template/backend/src/modules/model-condenser/tests/unit/modelCondenser.service.test.js +2 -2
- package/template/backend/src/shared/utils/traceId.js +19 -0
- package/template/docs/README.md +3 -1
- package/template/docs/architecture/CONTRACTS_OVERVIEW.md +12 -0
- package/template/docs/architecture/EVAL_AND_CI.md +79 -0
- package/template/docs/architecture/REPO_ARTIFACT_LAYOUT.md +12 -55
- package/template/docs/architecture/contracts/manifest.json +0 -17
- package/template/file-exchange/README.md +1 -1
- package/template/file-exchange/exports/consolidated-models.json +625 -0
- package/template/frontend/package-lock.json +1727 -0
- package/template/package.json +2 -0
- package/template/scripts/condense-prompts.mjs +10 -10
- package/template/scripts/lib/api-inventory.mjs +14 -21
- package/template/scripts/run-module-evals.mjs +43 -0
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**npm create** scaffold for a modular monolith built for **human + agent** engineering at scale.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm create @pukujan/modular-monolith@2 my-platform
|
|
6
|
+
npm create @pukujan/modular-monolith@2.2.0 my-platform
|
|
7
7
|
cd my-platform
|
|
8
8
|
npm install --prefix backend && npm install --prefix frontend
|
|
9
9
|
```
|
|
@@ -72,6 +72,8 @@ These live under `template/scripts/` and are copied into new projects:
|
|
|
72
72
|
| `import-to-file-exchange.mjs` | `npm run import:file-exchange` | Inbound bundles → `imports/{stamp}/` |
|
|
73
73
|
| `new-module.mjs` | `npm run new:module` | Scaffold backend + frontend module |
|
|
74
74
|
|
|
75
|
+
Scaffolded projects also ship **`npm run test:ci`**, **`.github/workflows/ci.yml`**, **`traceId.js`**, and **[EVAL_AND_CI.md](template/docs/architecture/EVAL_AND_CI.md)** (gates + per-case golden guidance).
|
|
76
|
+
|
|
75
77
|
Supporting libraries: `scripts/lib/repo-tree.mjs`, `api-inventory.mjs`, `dev-log-human-format.mjs`, `git-snapshot.mjs`, `run-tests.mjs`.
|
|
76
78
|
|
|
77
79
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pukujan/create-modular-monolith",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
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": {
|
|
@@ -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
|
package/template/README.md
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Architecture-first Express + React starter for products that scale with **human + agent** engineering.
|
|
4
4
|
|
|
5
|
-
**Read first:** [docs/architecture/PLATFORM_ARCHITECTURE.md](docs/architecture/PLATFORM_ARCHITECTURE.md)
|
|
5
|
+
**Read first:** [docs/architecture/PLATFORM_ARCHITECTURE.md](docs/architecture/PLATFORM_ARCHITECTURE.md)
|
|
6
6
|
**Contracts:** [docs/architecture/CONTRACTS_OVERVIEW.md](docs/architecture/CONTRACTS_OVERVIEW.md)
|
|
7
|
+
**Evals & CI gates:** [docs/architecture/EVAL_AND_CI.md](docs/architecture/EVAL_AND_CI.md)
|
|
7
8
|
**Agents:** [AGENTS.md](AGENTS.md)
|
|
8
9
|
|
|
9
10
|
## Quick start
|
|
@@ -14,14 +15,21 @@ cd backend && npm install && npm run dev
|
|
|
14
15
|
cd frontend && npm install && npm run dev
|
|
15
16
|
```
|
|
16
17
|
|
|
18
|
+
## Quality gates
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm run test:ci # lint + unit tests + module evals (same as GitHub Actions)
|
|
22
|
+
npm run lint:contracts
|
|
23
|
+
npm run lint:architecture
|
|
24
|
+
npm run test:evals
|
|
25
|
+
```
|
|
26
|
+
|
|
17
27
|
## Architecture commands
|
|
18
28
|
|
|
19
29
|
```bash
|
|
20
|
-
npm run lint:contracts # contract manifest paths
|
|
21
|
-
npm run lint:architecture # module boundaries + layers + API docs
|
|
22
30
|
npm run import:file-exchange -- ./my-bundle
|
|
23
31
|
npm run dev-log:pre-push -- --slug initial-setup
|
|
24
|
-
npm run condense:all
|
|
32
|
+
npm run condense:all
|
|
25
33
|
npm run new:module -- my-feature --label "My Feature"
|
|
26
34
|
```
|
|
27
35
|
|
|
@@ -29,6 +37,7 @@ npm run new:module -- my-feature --label "My Feature"
|
|
|
29
37
|
|
|
30
38
|
- `_reference` + `model-condenser` modules (no domain logic)
|
|
31
39
|
- File exchange, work-log dev logs (human + agent), contract manifest v001
|
|
40
|
+
- CI workflow (`.github/workflows/ci.yml`), trace ID helper
|
|
32
41
|
- Lint and condense tooling for trees, prompts, and schemas
|
|
33
42
|
|
|
34
43
|
Built with [@pukujan/create-modular-monolith](https://github.com/Pukujan/create-modular-monolith).
|