@pukujan/create-modular-monolith 2.0.0 → 2.1.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 +91 -22
- package/index.js +47 -0
- package/package.json +16 -19
- package/template/.cursor/commands/planning-study-log.md +25 -0
- package/template/.cursor/commands/pre-push-dev-log.md +52 -0
- package/template/.cursor/rules/api-documentation.mdc +21 -0
- package/template/.cursor/rules/file-exchange-inbox.mdc +29 -0
- package/template/AGENTS.md +41 -0
- package/template/README.md +18 -57
- package/template/backend/.env.example +38 -0
- package/template/backend/package.json +14 -4
- package/template/backend/src/modules/model-condenser/README.md +7 -0
- package/template/backend/src/modules/model-condenser/config/index.js +20 -0
- package/template/backend/src/modules/model-condenser/events/index.js +1 -0
- package/template/backend/src/modules/model-condenser/index.js +12 -0
- package/template/backend/src/modules/model-condenser/routes/health.routes.js +10 -0
- package/template/backend/src/modules/model-condenser/routes/index.js +10 -0
- package/template/backend/src/modules/model-condenser/routes/modelCondenser.routes.js +44 -0
- package/template/backend/src/modules/model-condenser/services/health.service.js +8 -0
- package/template/backend/src/modules/model-condenser/services/modelCondenser.facade.js +58 -0
- package/template/backend/src/modules/model-condenser/services/modelCondenser.service.js +513 -0
- package/template/backend/src/modules/model-condenser/tests/integration/modelCondenser.routes.test.js +40 -0
- package/template/backend/src/modules/model-condenser/tests/unit/modelCondenser.service.test.js +31 -0
- package/template/backend/src/modules/model-condenser/utils/index.js +1 -0
- package/template/backend/src/shared/contracts/consolidatedExports.contract.js +19 -0
- package/template/backend/src/shared/contracts/prePushDevLog.contract.js +28 -0
- package/template/backend/src/shared/domain/case-filing/core-models.js +117 -0
- package/template/backend/src/shared/http/errors.js +8 -0
- package/template/backend/src/shared/utils/consolidatedExport.js +30 -0
- package/template/backend/src/shared/utils/formatExchangeTimestamp.js +47 -0
- package/template/backend/src/shared/utils/formatExchangeTimestamp.test.js +30 -0
- package/template/docs/API.md +42 -0
- package/template/docs/PUBLISHING.md +13 -1
- package/template/docs/README.md +4 -0
- package/template/docs/STARTER_PACK.md +4 -0
- package/template/docs/architecture/API_DOCUMENTATION_CONTRACT.md +112 -0
- package/template/docs/architecture/CONTRACTS_OVERVIEW.md +168 -0
- package/template/docs/architecture/MODULE_INTERNAL_CONTRACT.md +2 -0
- package/template/docs/architecture/PLATFORM_ARCHITECTURE.md +221 -0
- package/template/docs/architecture/REPO_ARTIFACT_LAYOUT.md +76 -0
- package/template/docs/architecture/contracts/apiDocumentationRegistry.contract.md +40 -0
- package/template/docs/architecture/contracts/changelog.jsonl +12 -0
- package/template/docs/architecture/contracts/consolidatedExports.contract.md +58 -0
- package/template/docs/architecture/contracts/fileExchange.contract.md +47 -0
- package/template/docs/architecture/contracts/manifest.json +56 -0
- package/template/docs/architecture/contracts/prePushDevLog.contract.md +69 -0
- package/template/docs/model-condenser/API.md +102 -0
- package/template/file-exchange/README.md +41 -0
- package/template/file-exchange/exports/.gitkeep +0 -0
- package/template/file-exchange/imports/.gitkeep +0 -0
- package/template/frontend/.env.example +2 -0
- package/template/frontend/package.json +1 -1
- package/template/frontend/src/index.css +311 -0
- package/template/frontend/src/modules/_reference/services/health-api.js +1 -1
- package/template/frontend/src/shared/api/client.js +67 -5
- package/template/models/.gitkeep +0 -0
- package/template/package.json +11 -4
- package/template/scripts/check-api-docs.mjs +183 -0
- package/template/scripts/condense-file-structure.mjs +44 -0
- package/template/scripts/condense-models.mjs +70 -0
- package/template/scripts/condense-prompts.mjs +161 -0
- package/template/scripts/consolidated-output.mjs +49 -0
- package/template/scripts/export-consolidated-models.mjs +11 -0
- package/template/scripts/git-hooks/pre-push.sample +15 -0
- package/template/scripts/import-to-file-exchange.mjs +43 -0
- package/template/scripts/lib/api-inventory.mjs +189 -0
- package/template/scripts/lib/dev-log-human-format.mjs +360 -0
- package/template/scripts/lib/git-snapshot.mjs +46 -0
- package/template/scripts/lib/module-scaffold.mjs +37 -1
- package/template/scripts/lib/repo-tree.mjs +127 -0
- package/template/scripts/lib/run-tests.mjs +60 -0
- package/template/scripts/lint-contracts.mjs +57 -0
- package/template/scripts/lint-repo-artifacts.mjs +37 -0
- package/template/scripts/new-module.mjs +7 -0
- package/template/scripts/resolve-import-stamp.mjs +50 -0
- package/template/scripts/verify-dev-log.mjs +50 -0
- package/template/scripts/write-pre-push-dev-log.mjs +220 -0
- package/template/work-log/INDEX.md +3 -0
- package/template/work-log/README.md +40 -0
- package/template/work-log/dev-logs/README.md +97 -0
- package/template/work-log/dev-logs/schemas/dev-log-agent.v1.schema.json +119 -0
- package/template/work-log/dev-logs/templates/dev-log-human.template.md +10 -0
- package/template/work-log/handoffs/README.md +36 -0
- package/template/work-log/study-docs/README.md +13 -0
- package/bin/create-modular-monolith.js +0 -132
- package/template/backend/package-lock.json +0 -882
- package/template/backend/src/modules/_reference/evals/README.md +0 -6
- package/template/backend/src/modules/_reference/evals/datasets/example.cases.json +0 -12
- package/template/backend/src/modules/_reference/evals/runners/example.eval.mjs +0 -25
- package/template/frontend/package-lock.json +0 -1724
- package/template/scripts/run-module-evals.mjs +0 -43
- package/template/scripts/sync-cli-template.mjs +0 -44
- /package/template/{frontend/src/modules → backend/db/migrations}/.gitkeep +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { readdirSync, existsSync } from "fs";
|
|
3
|
-
import { join } from "path";
|
|
4
|
-
import { spawnSync } from "child_process";
|
|
5
|
-
|
|
6
|
-
const moduleName = process.argv[2];
|
|
7
|
-
const root = new URL("../", import.meta.url).pathname;
|
|
8
|
-
const modulesDir = join(root, "backend/src/modules");
|
|
9
|
-
|
|
10
|
-
if (!existsSync(modulesDir)) {
|
|
11
|
-
console.error("No modules directory.");
|
|
12
|
-
process.exit(1);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const targets = moduleName
|
|
16
|
-
? [moduleName]
|
|
17
|
-
: readdirSync(modulesDir, { withFileTypes: true })
|
|
18
|
-
.filter((d) => d.isDirectory() && !d.name.startsWith("_"))
|
|
19
|
-
.map((d) => d.name);
|
|
20
|
-
|
|
21
|
-
let failed = false;
|
|
22
|
-
|
|
23
|
-
for (const name of targets) {
|
|
24
|
-
const runnersDir = join(modulesDir, name, "evals", "runners");
|
|
25
|
-
if (!existsSync(runnersDir)) continue;
|
|
26
|
-
|
|
27
|
-
const runners = readdirSync(runnersDir).filter(
|
|
28
|
-
(f) => f.endsWith(".eval.mjs") || f.endsWith(".eval.js")
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
for (const runner of runners) {
|
|
32
|
-
const file = join(runnersDir, runner);
|
|
33
|
-
console.log(`\n▶ eval ${name}/${runner}`);
|
|
34
|
-
const result = spawnSync(process.execPath, ["--test", file], {
|
|
35
|
-
stdio: "inherit",
|
|
36
|
-
cwd: join(root, "backend")
|
|
37
|
-
});
|
|
38
|
-
if (result.status !== 0) failed = true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (failed) process.exit(1);
|
|
43
|
-
console.log("\nEvals complete.");
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Copies the v2 starter into packages/create-modular-monolith/template
|
|
4
|
-
* for publishing with the npm CLI.
|
|
5
|
-
*/
|
|
6
|
-
import { cpSync, existsSync, mkdirSync, rmSync } from "fs";
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
|
|
9
|
-
const root = new URL("../", import.meta.url).pathname;
|
|
10
|
-
const target = join(root, "packages/create-modular-monolith/template");
|
|
11
|
-
|
|
12
|
-
const COPY_ROOTS = ["backend", "frontend", "docs", "scripts", "README.md", ".gitignore", "package.json"];
|
|
13
|
-
|
|
14
|
-
const EXCLUDE_DIRS = new Set([
|
|
15
|
-
"node_modules",
|
|
16
|
-
".git",
|
|
17
|
-
"dist",
|
|
18
|
-
"coverage",
|
|
19
|
-
"packages"
|
|
20
|
-
]);
|
|
21
|
-
|
|
22
|
-
if (existsSync(target)) {
|
|
23
|
-
rmSync(target, { recursive: true, force: true });
|
|
24
|
-
}
|
|
25
|
-
mkdirSync(target, { recursive: true });
|
|
26
|
-
|
|
27
|
-
for (const item of COPY_ROOTS) {
|
|
28
|
-
const src = join(root, item);
|
|
29
|
-
if (!existsSync(src)) {
|
|
30
|
-
console.warn(`Skip missing: ${item}`);
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
const dest = join(target, item);
|
|
34
|
-
cpSync(src, dest, {
|
|
35
|
-
recursive: true,
|
|
36
|
-
filter: (sourcePath) => {
|
|
37
|
-
const parts = sourcePath.split(/[/\\]/);
|
|
38
|
-
return !parts.some((part) => EXCLUDE_DIRS.has(part));
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
console.log(`✓ ${item}`);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
console.log(`\nTemplate synced to ${target}`);
|
|
File without changes
|