@pukujan/create-modular-monolith 2.2.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,114 +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.2.0 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
38
+
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` |
35
46
 
36
- Modern products are built as much by **agents** as by humans. This template encodes:
47
+ ---
37
48
 
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.
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
+ ```
42
76
 
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.
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/`
104
+
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`, … |
60
114
 
61
- These live under `template/scripts/` and are copied into new projects:
115
+ **Not included:** domain batches, litigation prompts, or committed `evals/golden/` (add per project when you curate fixtures).
62
116
 
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 |
117
+ ---
74
118
 
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).
119
+ ## Key commands (in every scaffolded app)
76
120
 
77
- Supporting libraries: `scripts/lib/repo-tree.mjs`, `api-inventory.mjs`, `dev-log-human-format.mjs`, `git-snapshot.mjs`, `run-tests.mjs`.
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 |
78
129
 
79
130
  ---
80
131
 
81
- ## Contract catalog (v001)
132
+ ## Contract catalog (platform v001)
82
133
 
83
134
  Registered in `template/docs/architecture/contracts/manifest.json`:
84
135
 
85
- - **fileExchange** — dated imports/exports, human-readable stamps
86
- - **consolidatedExports** — snapshot JSON in `file-exchange/exports/`
87
- - **prePushDevLog** — paired human MD + agent JSON before push
88
- - **apiDocumentationRegistry** — `docs/API.md` as HTTP source of truth
89
- - **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
90
141
 
91
- 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.
92
143
 
93
144
  ---
94
145
 
95
- ## Publishing this package
146
+ ## Golden evals (per project, not universal)
96
147
 
97
- ```bash
98
- cd packages/create-modular-monolith # or repo root if package.json is here
99
- npm version patch|minor|major
100
- 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
+ └── ...
101
167
  ```
102
168
 
103
- 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)).
104
174
 
105
175
  ```bash
106
- npm create @pukujan/modular-monolith@2 <folder-name>
176
+ npm version patch # or minor / major
177
+ npm publish --access public
107
178
  ```
108
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
+
109
191
  ---
110
192
 
111
- ## Version
193
+ ## License
112
194
 
113
- Package version tracks **architecture platform** releases (contracts, agent tooling, template layout).
114
- 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.2.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,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,43 +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
- **Evals & CI gates:** [docs/architecture/EVAL_AND_CI.md](docs/architecture/EVAL_AND_CI.md)
8
- **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
+ ---
9
24
 
10
25
  ## Quick start
11
26
 
27
+ **Requirements:** Node.js 20+
28
+
12
29
  ```bash
30
+ cp backend/.env.example backend/.env
31
+ cp frontend/.env.example frontend/.env
32
+
13
33
  cd backend && npm install && npm run dev
14
- # other terminal:
34
+ # new terminal:
15
35
  cd frontend && npm install && npm run dev
16
36
  ```
17
37
 
18
- ## Quality gates
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
19
44
 
20
45
  ```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
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
25
73
  ```
26
74
 
27
- ## Architecture commands
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
28
99
 
29
100
  ```bash
30
- npm run import:file-exchange -- ./my-bundle
31
- npm run dev-log:pre-push -- --slug initial-setup
32
- npm run condense:all
33
- 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)
34
104
  ```
35
105
 
36
- ## What ships in this template
106
+ ---
107
+
108
+ ## License & attribution
37
109
 
38
- - `_reference` + `model-condenser` modules (no domain logic)
39
- - File exchange, work-log dev logs (human + agent), contract manifest v001
40
- - CI workflow (`.github/workflows/ci.yml`), trace ID helper
41
- - 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.
42
113
 
43
- 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)