@rawsql-ts/ztd-cli 0.14.2 → 0.14.4
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/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.js +55 -12
- package/dist/commands/init.js.map +1 -1
- package/package.json +3 -3
- package/templates/AGENTS.md +77 -120
- package/templates/tests/AGENTS.md +116 -0
- package/templates/ztd/AGENTS.md +102 -56
package/dist/commands/init.d.ts
CHANGED
|
@@ -3,21 +3,36 @@ import { type ZtdConfigGenerationOptions } from './ztdConfig';
|
|
|
3
3
|
import { type PullSchemaOptions } from './pull';
|
|
4
4
|
type PackageManager = 'pnpm' | 'npm' | 'yarn';
|
|
5
5
|
type PackageInstallKind = 'devDependencies' | 'install';
|
|
6
|
+
/**
|
|
7
|
+
* Prompt interface for interactive input during `ztd init`.
|
|
8
|
+
*/
|
|
6
9
|
export interface Prompter {
|
|
7
10
|
selectChoice(question: string, choices: string[]): Promise<number>;
|
|
8
11
|
promptInput(question: string, example?: string): Promise<string>;
|
|
9
12
|
confirm(question: string): Promise<boolean>;
|
|
10
13
|
close(): void;
|
|
11
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a readline-backed prompter that reads from stdin/stdout.
|
|
17
|
+
*/
|
|
12
18
|
export declare function createConsolePrompter(): Prompter;
|
|
19
|
+
/**
|
|
20
|
+
* Summarizes how an individual file was created during initialization.
|
|
21
|
+
*/
|
|
13
22
|
export interface FileSummary {
|
|
14
23
|
relativePath: string;
|
|
15
24
|
outcome: 'created' | 'overwritten' | 'unchanged';
|
|
16
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Result payload for `ztd init` describing outputs and next steps.
|
|
28
|
+
*/
|
|
17
29
|
export interface InitResult {
|
|
18
30
|
summary: string;
|
|
19
31
|
files: FileSummary[];
|
|
20
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Dependency overrides used to orchestrate the init flow and IO side effects.
|
|
35
|
+
*/
|
|
21
36
|
export interface ZtdConfigWriterDependencies {
|
|
22
37
|
ensureDirectory: (directory: string) => void;
|
|
23
38
|
writeFile: (filePath: string, contents: string) => void;
|
|
@@ -34,12 +49,18 @@ export interface ZtdConfigWriterDependencies {
|
|
|
34
49
|
packageManager: PackageManager;
|
|
35
50
|
}) => Promise<void> | void;
|
|
36
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Options for configuring the `ztd init` command execution.
|
|
54
|
+
*/
|
|
37
55
|
export interface InitCommandOptions {
|
|
38
56
|
rootDir?: string;
|
|
39
57
|
dependencies?: Partial<ZtdConfigWriterDependencies>;
|
|
40
58
|
withSqlClient?: boolean;
|
|
41
59
|
withAppInterface?: boolean;
|
|
42
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Run the interactive `ztd init` workflow and return the resulting summary.
|
|
63
|
+
*/
|
|
43
64
|
export declare function runInitCommand(prompter: Prompter, options?: InitCommandOptions): Promise<InitResult>;
|
|
44
65
|
export declare function registerInitCommand(program: Command): void;
|
|
45
66
|
export {};
|
package/dist/commands/init.js
CHANGED
|
@@ -16,6 +16,9 @@ const ztdProjectConfig_1 = require("../utils/ztdProjectConfig");
|
|
|
16
16
|
const ztdConfig_1 = require("./ztdConfig");
|
|
17
17
|
const pull_1 = require("./pull");
|
|
18
18
|
const options_1 = require("./options");
|
|
19
|
+
/**
|
|
20
|
+
* Create a readline-backed prompter that reads from stdin/stdout.
|
|
21
|
+
*/
|
|
19
22
|
function createConsolePrompter() {
|
|
20
23
|
const rl = promises_1.default.createInterface({
|
|
21
24
|
input: process.stdin,
|
|
@@ -135,24 +138,50 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
135
138
|
},
|
|
136
139
|
copyAgentsTemplate: agents_1.copyAgentsTemplate,
|
|
137
140
|
installPackages: ({ rootDir, kind, packages, packageManager }) => {
|
|
141
|
+
var _a, _b;
|
|
138
142
|
// Use the Windows shim executables so spawnSync finds the package manager in PATH.
|
|
139
143
|
const executable = resolvePackageManagerExecutable(packageManager);
|
|
140
144
|
const args = buildPackageManagerArgs(kind, packageManager, packages);
|
|
141
145
|
if (args.length === 0) {
|
|
142
146
|
return;
|
|
143
147
|
}
|
|
144
|
-
|
|
148
|
+
const isWin32 = process.platform === 'win32';
|
|
149
|
+
// Prefer shell execution for .cmd/.bat on Windows to avoid a guaranteed failure.
|
|
150
|
+
const preferShell = isWin32 && /\.(cmd|bat)$/i.test(executable);
|
|
151
|
+
const baseSpawnOptions = {
|
|
152
|
+
cwd: rootDir,
|
|
153
|
+
stdio: 'inherit',
|
|
154
|
+
shell: false
|
|
155
|
+
};
|
|
156
|
+
const shellSpawnOptions = {
|
|
157
|
+
...baseSpawnOptions,
|
|
158
|
+
shell: true
|
|
159
|
+
};
|
|
160
|
+
let result = (0, node_child_process_1.spawnSync)(executable, args, preferShell ? shellSpawnOptions : baseSpawnOptions);
|
|
161
|
+
if (result.error && isWin32 && !preferShell) {
|
|
162
|
+
// Retry with cmd.exe only on Windows so .cmd shims resolve reliably.
|
|
163
|
+
result = (0, node_child_process_1.spawnSync)(executable, args, shellSpawnOptions);
|
|
164
|
+
}
|
|
145
165
|
if (result.error && executable !== packageManager) {
|
|
146
166
|
// Retry with the bare command name in case a resolved path is rejected.
|
|
147
|
-
result = (0, node_child_process_1.spawnSync)(packageManager, args,
|
|
167
|
+
result = (0, node_child_process_1.spawnSync)(packageManager, args, baseSpawnOptions);
|
|
168
|
+
if (result.error && isWin32) {
|
|
169
|
+
// Final fallback to shell when the bare command still fails on Windows.
|
|
170
|
+
result = (0, node_child_process_1.spawnSync)(packageManager, args, shellSpawnOptions);
|
|
171
|
+
}
|
|
148
172
|
}
|
|
149
173
|
if (result.error || result.status !== 0) {
|
|
150
174
|
const base = `Failed to run ${packageManager} ${args.join(' ')}`;
|
|
151
|
-
const reason = result.error
|
|
175
|
+
const reason = result.error
|
|
176
|
+
? `: ${result.error.message}`
|
|
177
|
+
: ` (exit code: ${(_a = result.status) !== null && _a !== void 0 ? _a : 'unknown'}, signal: ${(_b = result.signal) !== null && _b !== void 0 ? _b : 'none'})`;
|
|
152
178
|
throw new Error(`${base}${reason}`);
|
|
153
179
|
}
|
|
154
180
|
}
|
|
155
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* Run the interactive `ztd init` workflow and return the resulting summary.
|
|
184
|
+
*/
|
|
156
185
|
async function runInitCommand(prompter, options) {
|
|
157
186
|
var _a, _b;
|
|
158
187
|
const rootDir = (_a = options === null || options === void 0 ? void 0 : options.rootDir) !== null && _a !== void 0 ? _a : process.cwd();
|
|
@@ -340,11 +369,7 @@ function resolvePackageManagerExecutable(packageManager) {
|
|
|
340
369
|
if (process.platform !== 'win32') {
|
|
341
370
|
return packageManager;
|
|
342
371
|
}
|
|
343
|
-
// Prefer
|
|
344
|
-
const resolved = resolveExecutableInPath(packageManager);
|
|
345
|
-
if (resolved) {
|
|
346
|
-
return resolved;
|
|
347
|
-
}
|
|
372
|
+
// Prefer .cmd shims first on Windows so they take precedence over extension-less files.
|
|
348
373
|
const cmdFallbacks = {
|
|
349
374
|
npm: 'npm.cmd',
|
|
350
375
|
pnpm: 'pnpm.cmd',
|
|
@@ -354,19 +379,37 @@ function resolvePackageManagerExecutable(packageManager) {
|
|
|
354
379
|
if (cmdResolved) {
|
|
355
380
|
return cmdResolved;
|
|
356
381
|
}
|
|
382
|
+
// Fall back to the extension-less name if no cmd shim is found.
|
|
383
|
+
const resolved = resolveExecutableInPath(packageManager);
|
|
384
|
+
if (resolved) {
|
|
385
|
+
return resolved;
|
|
386
|
+
}
|
|
357
387
|
return (_a = cmdFallbacks[packageManager]) !== null && _a !== void 0 ? _a : packageManager;
|
|
358
388
|
}
|
|
359
389
|
function resolveExecutableInPath(executable) {
|
|
360
|
-
var _a, _b;
|
|
361
|
-
const pathValue = (_a = process.env.PATH) !== null && _a !== void 0 ? _a : '';
|
|
390
|
+
var _a, _b, _c;
|
|
391
|
+
const pathValue = (_b = (_a = process.env.PATH) !== null && _a !== void 0 ? _a : process.env.Path) !== null && _b !== void 0 ? _b : '';
|
|
362
392
|
if (!pathValue) {
|
|
363
393
|
return null;
|
|
364
394
|
}
|
|
365
|
-
const pathEntries = pathValue
|
|
395
|
+
const pathEntries = pathValue
|
|
396
|
+
.split(node_path_1.default.delimiter)
|
|
397
|
+
.map((entry) => {
|
|
398
|
+
const trimmed = entry.trim();
|
|
399
|
+
if (process.platform !== 'win32') {
|
|
400
|
+
return trimmed;
|
|
401
|
+
}
|
|
402
|
+
if (trimmed.startsWith('"') && trimmed.endsWith('"') && trimmed.length >= 2) {
|
|
403
|
+
return trimmed.slice(1, -1);
|
|
404
|
+
}
|
|
405
|
+
return trimmed;
|
|
406
|
+
})
|
|
407
|
+
.filter(Boolean);
|
|
366
408
|
const hasExtension = node_path_1.default.extname(executable).length > 0;
|
|
367
409
|
const extensions = process.platform === 'win32'
|
|
368
|
-
? ((
|
|
410
|
+
? ((_c = process.env.PATHEXT) !== null && _c !== void 0 ? _c : '.EXE;.CMD;.BAT;.COM')
|
|
369
411
|
.split(';')
|
|
412
|
+
.map((ext) => ext.trim())
|
|
370
413
|
.filter(Boolean)
|
|
371
414
|
: [''];
|
|
372
415
|
// Check each PATH entry with PATHEXT so we can resolve shim executables.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rawsql-ts/ztd-cli",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"description": "DB-agnostic scaffolding and DDL helpers for Zero Table Dependency projects",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"chokidar": "^5.0.0",
|
|
26
26
|
"commander": "^12.0.0",
|
|
27
27
|
"diff": "^5.1.0",
|
|
28
|
-
"@rawsql-ts/testkit-core": "0.14.
|
|
29
|
-
"rawsql-ts": "0.14.
|
|
28
|
+
"@rawsql-ts/testkit-core": "0.14.4",
|
|
29
|
+
"rawsql-ts": "0.14.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/diff": "^5.0.1",
|
package/templates/AGENTS.md
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
# Appendix: Development Workflow Using Zero Table Dependency (ZTD)
|
|
2
2
|
|
|
3
|
-
This application uses **Zero Table Dependency (ZTD)** as an internal development workflow for writing, testing, and maintaining SQL logic.
|
|
3
|
+
This application uses **Zero Table Dependency (ZTD)** as an internal development workflow for writing, testing, and maintaining SQL logic.
|
|
4
4
|
ZTD is not part of the application's runtime behavior; rather, it provides a framework for:
|
|
5
5
|
|
|
6
|
-
- Maintaining consistent SQL across the project
|
|
7
|
-
- Keeping schema, domain specifications, and enums synchronized
|
|
8
|
-
- Ensuring deterministic SQL unit tests
|
|
9
|
-
- Enabling structured collaboration between humans and AI
|
|
6
|
+
- Maintaining consistent SQL across the project
|
|
7
|
+
- Keeping schema, domain specifications, and enums synchronized
|
|
8
|
+
- Ensuring deterministic SQL unit tests
|
|
9
|
+
- Enabling structured collaboration between humans and AI
|
|
10
10
|
|
|
11
|
-
This section documents how ZTD is used
|
|
11
|
+
This section documents how ZTD is used inside this repository as a development methodology.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Defaults (important)
|
|
16
|
+
|
|
17
|
+
- This project adopts **ZTD as the default development and testing methodology**.
|
|
18
|
+
- ZTD is assumed unless explicitly stated otherwise.
|
|
19
|
+
- Detailed rules about test execution modes are defined in `templates/tests/AGENTS.md`.
|
|
12
20
|
|
|
13
21
|
---
|
|
14
22
|
|
|
@@ -61,14 +69,14 @@ The `src/` directory should contain pure TypeScript logic that operates on the r
|
|
|
61
69
|
### Sequence / identity column policy (important)
|
|
62
70
|
|
|
63
71
|
- Sequence / identity columns (auto-generated IDs) are infrastructure concerns.
|
|
64
|
-
- Do
|
|
72
|
+
- Do not explicitly assign values to sequence / identity columns in `INSERT` statements unless explicitly instructed.
|
|
65
73
|
- Repository method inputs should omit sequence / identity columns by default.
|
|
66
74
|
- Only treat an ID as input data when it represents a business rule (e.g. natural keys, externally assigned IDs).
|
|
67
75
|
|
|
68
76
|
### No test-driven fallbacks in production code (important)
|
|
69
77
|
|
|
70
|
-
-
|
|
71
|
-
- If a query fails to be rewritten into ZTD form (e.g. rawsql-ts parsing/rewrite failure),
|
|
78
|
+
- Do not add fallbacks in `src/` that exist only to accommodate ZTD/testkit/rewriter limitations.
|
|
79
|
+
- If a query fails to be rewritten into ZTD form (e.g. rawsql-ts parsing/rewrite failure), do not paper over it by changing runtime behavior, adding `max(id)+1`, or introducing alternative logic paths.
|
|
72
80
|
- Instead, stop and report the issue with evidence:
|
|
73
81
|
- The exact SQL that fails
|
|
74
82
|
- The error message / symptoms
|
|
@@ -81,51 +89,11 @@ Rationale: Production code must not diverge from the intended SQL semantics due
|
|
|
81
89
|
|
|
82
90
|
## ZTD Test Guide (tests/)
|
|
83
91
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
If you are working inside this repository's `ztd-playground`, regenerate the generated artifacts with `pnpm --filter ztd-playground exec ztd ztd-config`.
|
|
87
|
-
|
|
88
|
-
- Set `ZTD_EXECUTION_MODE=traditional` or pass `{ mode: 'traditional', traditional: { isolation: 'schema', cleanup: 'drop_schema' } }` to `createTestkitClient()` when you must exercise real Postgres semantics (locks, isolation, constraints). Traditional mode still runs the DDL inside `ztd/ddl/`, seeds the fixtures, executes any optional `setupSql`, and honors the configured `cleanup` strategy (`drop_schema` by default, `custom_sql`, or `none` for debugging) so the environment stays tidy. Use `isolation: 'none'` when your queries explicitly reference an existing schema and you cannot rely on schema-based isolation.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
### Tests: What to Care About
|
|
92
|
-
|
|
93
|
-
#### Test Intent
|
|
94
|
-
- Each test should have a single clear observation point.
|
|
95
|
-
- Decide whether the test verifies:
|
|
96
|
-
- Query semantics (input to output behavior), or
|
|
97
|
-
- Structural properties (ordering, filtering, boundary cases).
|
|
98
|
-
|
|
99
|
-
#### Fixtures
|
|
100
|
-
- Keep fixtures minimal and intention-revealing.
|
|
101
|
-
- Prefer small datasets over large ones.
|
|
102
|
-
- Avoid adding rows or columns that are not directly related to the test intent.
|
|
103
|
-
|
|
104
|
-
#### Assertions
|
|
105
|
-
- Assert only on relevant columns and values.
|
|
106
|
-
- Do not rely on implicit ordering; if order matters, make it explicit in SQL and assertions.
|
|
107
|
-
- Avoid custom verification logic; rely on query results and straightforward assertions.
|
|
108
|
-
|
|
109
|
-
#### Relationship to Repositories
|
|
110
|
-
- Tests for repositories should focus on observable behavior, not internal implementation details.
|
|
111
|
-
- Avoid duplicating repository logic inside tests.
|
|
112
|
-
|
|
113
|
-
### Notes
|
|
114
|
-
- These guidelines are intentionally lightweight.
|
|
115
|
-
- They are expected to evolve based on actual usage and failure cases.
|
|
116
|
-
- If user instructions conflict with these guidelines, follow user instructions.
|
|
117
|
-
|
|
118
|
-
### ID expectations in tests (important)
|
|
119
|
-
|
|
120
|
-
- Do not assert auto-generated ID values (sequence / identity), such as "the next id is 11".
|
|
121
|
-
- When creating rows, assert only that an ID exists and has the correct type, or that it differs from known existing IDs.
|
|
122
|
-
- Only assert specific ID values when the ID is part of a business rule (not infrastructure), e.g. a natural key or a fixed, meaningful identifier.
|
|
92
|
+
Testing under ZTD follows dedicated, directory-scoped rules.
|
|
123
93
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
- Do not start multiple Postgres instances per test file/worker, and do not isolate tests by creating per-test databases or schemas. This is unnecessary for ZTD and adds failure modes.
|
|
128
|
-
- Prefer one shared Postgres instance + multiple connections, limited only by your DB resources.
|
|
94
|
+
- Test design, execution mode selection, and constraints are defined in:
|
|
95
|
+
- `templates/tests/AGENTS.md`
|
|
96
|
+
- This file intentionally avoids duplicating test-specific operational rules to prevent divergence.
|
|
129
97
|
|
|
130
98
|
---
|
|
131
99
|
|
|
@@ -153,25 +121,40 @@ The file `tests/generated/ztd-layout.generated.ts` ensures ZTD CLI always points
|
|
|
153
121
|
|
|
154
122
|
---
|
|
155
123
|
|
|
124
|
+
# Protected directories and edit ownership (important)
|
|
125
|
+
|
|
126
|
+
- DDL editing is human-led: `ztd/ddl/`
|
|
127
|
+
- Domain specs editing is human-led: `ztd/domain-specs/`
|
|
128
|
+
- Enums editing is human-led: `ztd/enums/`
|
|
129
|
+
- Application code is shared ownership: `src/`
|
|
130
|
+
- Tests are shared ownership: `tests/`
|
|
131
|
+
- Detailed test constraints live in `templates/tests/AGENTS.md`.
|
|
132
|
+
|
|
133
|
+
Additionally:
|
|
134
|
+
- Never modify `ztd/AGENTS.md` or `ztd/README.md` without explicit instruction.
|
|
135
|
+
- When changes are required in human-led directories, prefer proposing a patch and explaining the impact before applying it.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
156
139
|
# Principles of ZTD in This Repository
|
|
157
140
|
|
|
158
|
-
### 1. Humans own the
|
|
141
|
+
### 1. Humans own the definitions
|
|
159
142
|
- Physical schema (DDL)
|
|
160
143
|
- Domain semantics (domain-specs)
|
|
161
144
|
- Enumerations (enums)
|
|
162
145
|
- Repository interfaces
|
|
163
146
|
|
|
164
|
-
### 2. AI assists with
|
|
147
|
+
### 2. AI assists with implementation
|
|
165
148
|
- Generating repository SQL
|
|
166
149
|
- Updating fixtures
|
|
167
150
|
- Producing intermediate TypeScript structures
|
|
168
151
|
- Ensuring SQL adheres to DDL, enums, and domain-specs
|
|
169
152
|
|
|
170
|
-
### 3. ZTD enforces
|
|
153
|
+
### 3. ZTD enforces consistency
|
|
171
154
|
ZTD tests verify that:
|
|
172
|
-
- SQL logic matches DDL shapes
|
|
173
|
-
- SQL semantics match domain-specs
|
|
174
|
-
- SQL values match enumerations
|
|
155
|
+
- SQL logic matches DDL shapes
|
|
156
|
+
- SQL semantics match domain-specs
|
|
157
|
+
- SQL values match enumerations
|
|
175
158
|
|
|
176
159
|
If anything diverges, ZTD failures surface immediately and deterministically.
|
|
177
160
|
|
|
@@ -183,27 +166,20 @@ Different types of changes start from different entry points. Use the workflow a
|
|
|
183
166
|
|
|
184
167
|
---
|
|
185
168
|
|
|
186
|
-
# Workflow A
|
|
169
|
+
# Workflow A - Starting From DDL Changes
|
|
187
170
|
Modifying tables, columns, constraints, indexes.
|
|
188
171
|
|
|
189
172
|
1. Edit DDL files in `ztd/ddl/`.
|
|
190
|
-
2. Run
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
npx ztd ztd-config
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
This regenerates `tests/generated/ztd-row-map.generated.ts` from the updated schema.
|
|
197
|
-
|
|
173
|
+
2. Run `npx ztd ztd-config`.
|
|
198
174
|
3. Update repository SQL to match the new schema.
|
|
199
175
|
4. Update fixtures if result shapes changed.
|
|
200
176
|
5. Run tests.
|
|
201
177
|
|
|
202
|
-
|
|
178
|
+
Flow: DDL to Repository SQL to Fixtures and Tests to Application
|
|
203
179
|
|
|
204
180
|
---
|
|
205
181
|
|
|
206
|
-
# Workflow B
|
|
182
|
+
# Workflow B - Starting From Repository Interface Changes
|
|
207
183
|
Changing method signatures, adding new repository methods, etc.
|
|
208
184
|
|
|
209
185
|
1. Modify the repository interface or implementation in `/src`.
|
|
@@ -212,11 +188,11 @@ Changing method signatures, adding new repository methods, etc.
|
|
|
212
188
|
4. Run ZTD tests.
|
|
213
189
|
5. Regenerate config if SQL output shape changed.
|
|
214
190
|
|
|
215
|
-
|
|
191
|
+
Flow: Interface to SQL to Specs (if needed) to Tests
|
|
216
192
|
|
|
217
193
|
---
|
|
218
194
|
|
|
219
|
-
# Workflow C
|
|
195
|
+
# Workflow C - Starting From Repository SQL Logic Changes
|
|
220
196
|
Bug fixes, refactoring, rewriting queries.
|
|
221
197
|
|
|
222
198
|
1. Edit SQL inside the repository.
|
|
@@ -225,46 +201,27 @@ Bug fixes, refactoring, rewriting queries.
|
|
|
225
201
|
4. Update fixtures as needed.
|
|
226
202
|
5. Regenerate config if result shape changed.
|
|
227
203
|
|
|
228
|
-
|
|
204
|
+
Flow: SQL to Domain-specs to Tests
|
|
229
205
|
|
|
230
206
|
---
|
|
231
207
|
|
|
232
|
-
# Workflow D
|
|
208
|
+
# Workflow D - Starting From Enum or Domain Specification Changes
|
|
233
209
|
Business rule changes or conceptual model updates.
|
|
234
210
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
1. Update the relevant `.md` file under `ztd/enums/`.
|
|
238
|
-
2. Run:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
npx ztd ztd-config
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
3. Update repository SQL referencing enum values.
|
|
245
|
-
4. Update fixtures/tests.
|
|
246
|
-
|
|
247
|
-
## Editing domain-specs:
|
|
248
|
-
|
|
249
|
-
1. Update the relevant `.md` file under `ztd/domain-specs/`.
|
|
250
|
-
2. Update repository SQL to reflect the new semantics.
|
|
251
|
-
3. Update or add tests.
|
|
252
|
-
4. Update DDL only if the new rules require schema changes.
|
|
253
|
-
|
|
254
|
-
**Flow:** Specs/Enums -> SQL -> Tests -> (DDL if required)
|
|
211
|
+
Flow: Specs or Enums to SQL to Tests to (DDL if required)
|
|
255
212
|
|
|
256
213
|
---
|
|
257
214
|
|
|
258
215
|
# Combined Real-World Examples
|
|
259
216
|
|
|
260
|
-
- Adding a new contract state:
|
|
261
|
-
enums
|
|
217
|
+
- Adding a new contract state:
|
|
218
|
+
enums to domain-spec to SQL to config to tests
|
|
262
219
|
|
|
263
|
-
- Adding a new table:
|
|
264
|
-
DDL
|
|
220
|
+
- Adding a new table:
|
|
221
|
+
DDL to config to SQL to fixtures to tests
|
|
265
222
|
|
|
266
|
-
- Fixing business logic:
|
|
267
|
-
SQL
|
|
223
|
+
- Fixing business logic:
|
|
224
|
+
SQL to domain-spec to tests
|
|
268
225
|
|
|
269
226
|
ZTD ensures the development always converges into a consistent, validated workflow.
|
|
270
227
|
|
|
@@ -278,9 +235,9 @@ Humans maintain:
|
|
|
278
235
|
- Domain logic definitions (`ztd/domain-specs`)
|
|
279
236
|
- Domain enumerations (`ztd/enums`)
|
|
280
237
|
- Repository interfaces and architectural decisions
|
|
281
|
-
- Acceptance
|
|
238
|
+
- Acceptance and review of AI-generated patches
|
|
282
239
|
|
|
283
|
-
Humans decide
|
|
240
|
+
Humans decide what is correct.
|
|
284
241
|
|
|
285
242
|
---
|
|
286
243
|
|
|
@@ -288,14 +245,14 @@ Humans decide **what is correct**.
|
|
|
288
245
|
|
|
289
246
|
AI must:
|
|
290
247
|
|
|
291
|
-
- Use domain-specs as the semantic source of truth
|
|
292
|
-
- Use enums as the canonical vocabulary source
|
|
293
|
-
- Use DDL as the physical structure constraint
|
|
294
|
-
- Generate SQL consistent with all definitions
|
|
295
|
-
- Update fixtures when needed
|
|
296
|
-
- Never modify `ztd/AGENTS.md` or `ztd/README.md` without explicit instruction
|
|
248
|
+
- Use domain-specs as the semantic source of truth
|
|
249
|
+
- Use enums as the canonical vocabulary source
|
|
250
|
+
- Use DDL as the physical structure constraint
|
|
251
|
+
- Generate SQL consistent with all definitions
|
|
252
|
+
- Update fixtures when needed
|
|
253
|
+
- Never modify `ztd/AGENTS.md` or `ztd/README.md` without explicit instruction
|
|
297
254
|
|
|
298
|
-
AI decides
|
|
255
|
+
AI decides how to implement, but not what is correct.
|
|
299
256
|
|
|
300
257
|
---
|
|
301
258
|
|
|
@@ -303,10 +260,10 @@ AI decides **how to implement**, but not **what is correct**.
|
|
|
303
260
|
|
|
304
261
|
ZTD CLI:
|
|
305
262
|
|
|
306
|
-
- Parses DDL to compute schema shapes
|
|
307
|
-
- Rewrites SQL via CTE shadowing for testing
|
|
308
|
-
- Generates `ztd-row-map.generated.ts`
|
|
309
|
-
- Enables deterministic, parallel SQL unit tests
|
|
263
|
+
- Parses DDL to compute schema shapes
|
|
264
|
+
- Rewrites SQL via CTE shadowing for testing
|
|
265
|
+
- Generates `ztd-row-map.generated.ts`
|
|
266
|
+
- Enables deterministic, parallel SQL unit tests
|
|
310
267
|
|
|
311
268
|
ZTD is the verification engine that validates correctness beyond static typing.
|
|
312
269
|
|
|
@@ -314,13 +271,13 @@ ZTD is the verification engine that validates correctness beyond static typing.
|
|
|
314
271
|
|
|
315
272
|
# Summary
|
|
316
273
|
|
|
317
|
-
This appendix documents how ZTD is used strictly as an
|
|
318
|
-
It does not affect the runtime behavior of the application.
|
|
274
|
+
This appendix documents how ZTD is used strictly as an internal implementation and maintenance guide.
|
|
275
|
+
It does not affect the runtime behavior of the application.
|
|
319
276
|
Its purpose is ensuring:
|
|
320
277
|
|
|
321
|
-
- Schema integrity
|
|
322
|
-
- SQL correctness
|
|
323
|
-
- Domain consistency
|
|
324
|
-
- Reliable AI-assisted development
|
|
278
|
+
- Schema integrity
|
|
279
|
+
- SQL correctness
|
|
280
|
+
- Domain consistency
|
|
281
|
+
- Reliable AI-assisted development
|
|
325
282
|
|
|
326
|
-
With ZTD,
|
|
283
|
+
With ZTD, humans define the meaning, AI writes the implementation, and tests guarantee correctness.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# AGENTS: ZTD Test Guidelines
|
|
2
|
+
|
|
3
|
+
This file defines **rules and boundaries for writing tests under `tests/`**.
|
|
4
|
+
Tests are a shared workspace for humans and AI, but must respect ZTD-specific constraints.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Default execution mode (important)
|
|
9
|
+
|
|
10
|
+
- The default execution mode for tests is **ZTD**.
|
|
11
|
+
- Do not switch to Traditional mode unless explicitly instructed by a human.
|
|
12
|
+
- Do not set `ZTD_EXECUTION_MODE=traditional` or pass `{ mode: "traditional" }` to `createTestkitClient()` without explicit instruction.
|
|
13
|
+
- If instructions are ambiguous, assume ZTD mode and proceed.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Use generated types only (important)
|
|
18
|
+
|
|
19
|
+
- Do **not** define ad-hoc or duplicate test models.
|
|
20
|
+
- For table-shaped rows, always import types from:
|
|
21
|
+
- `tests/generated/ztd-row-map.generated.ts`
|
|
22
|
+
- For application-facing return values:
|
|
23
|
+
- Use DTO or domain model types already defined in `src/`.
|
|
24
|
+
|
|
25
|
+
Forbidden example:
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
type CategoryTestRow = {
|
|
29
|
+
category_id: number;
|
|
30
|
+
parent_id: number | null;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If a required type is missing:
|
|
36
|
+
- Regenerate generated artifacts (`npx ztd ztd-config`), or
|
|
37
|
+
- Export the correct type from `src/`.
|
|
38
|
+
|
|
39
|
+
Do not invent substitute models.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Stateless test design (important)
|
|
44
|
+
|
|
45
|
+
- ZTD tests are **stateless by design**.
|
|
46
|
+
- Do not write tests that depend on state accumulating across multiple repository calls.
|
|
47
|
+
|
|
48
|
+
Forbidden patterns include:
|
|
49
|
+
- Updating the same record in multiple steps and verifying later state
|
|
50
|
+
- Calling multiple repository methods assuming earlier calls affected the database
|
|
51
|
+
|
|
52
|
+
Preferred patterns:
|
|
53
|
+
- Verify results returned by a single statement
|
|
54
|
+
- Verify `RETURNING` values
|
|
55
|
+
- Verify affected row counts
|
|
56
|
+
- Verify query output produced by the same call being tested
|
|
57
|
+
|
|
58
|
+
If behavior depends on transactions, isolation, or shared mutable state:
|
|
59
|
+
- That test does not belong in ZTD unit tests.
|
|
60
|
+
- Move it to an integration test and explicitly request Traditional mode.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Fixtures (important)
|
|
65
|
+
|
|
66
|
+
- Fixtures originate from `ztd/ddl/`.
|
|
67
|
+
- Keep fixtures minimal and intention-revealing.
|
|
68
|
+
- Do not add rows or columns unrelated to the test intent.
|
|
69
|
+
- Do not simulate application-side logic in fixtures.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Assertions (important)
|
|
74
|
+
|
|
75
|
+
- Assert only on relevant fields.
|
|
76
|
+
- Do not assert implicit ordering.
|
|
77
|
+
- Do not assert specific values of auto-generated IDs.
|
|
78
|
+
- Assert existence, type, or relative differences instead.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Repository boundaries
|
|
83
|
+
|
|
84
|
+
- Tests should verify observable behavior of repository methods.
|
|
85
|
+
- Do not duplicate SQL logic or business rules inside tests.
|
|
86
|
+
- Do not test internal helper functions or private implementation details.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Edit boundaries
|
|
91
|
+
|
|
92
|
+
- Tests are shared ownership: humans and AI may both edit.
|
|
93
|
+
- However:
|
|
94
|
+
- Do not redefine models.
|
|
95
|
+
- Do not change schema assumptions.
|
|
96
|
+
- Do not edit `ztd/ddl`, `ztd/domain-specs`, or `ztd/enums` from tests.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Conflict resolution
|
|
101
|
+
|
|
102
|
+
- If test requirements conflict with ZTD constraints:
|
|
103
|
+
- Stop and ask for clarification.
|
|
104
|
+
- Do not silently switch modes or weaken assertions.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Guiding principle
|
|
109
|
+
|
|
110
|
+
ZTD tests exist to validate **SQL semantics in isolation**.
|
|
111
|
+
They are not integration tests, migration tests, or transaction tests.
|
|
112
|
+
|
|
113
|
+
Prefer:
|
|
114
|
+
- Clear intent
|
|
115
|
+
- Single observation point
|
|
116
|
+
- Deterministic outcomes
|
package/templates/ztd/AGENTS.md
CHANGED
|
@@ -1,103 +1,149 @@
|
|
|
1
1
|
# AGENTS: Zero Table Dependency Definitions
|
|
2
2
|
|
|
3
|
+
This file defines **protected, human-led domains** under the `ztd/` directory.
|
|
4
|
+
AI must treat these directories as authoritative sources of truth and must not modify them without explicit instruction.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
3
8
|
## Generated files (important)
|
|
4
9
|
|
|
5
10
|
- `tests/generated/` is auto-generated and must never be committed.
|
|
6
11
|
- After cloning the repository (or in a clean environment), run `npx ztd ztd-config`.
|
|
7
12
|
- If TypeScript reports missing modules or type errors because `tests/generated/` is missing, run `npx ztd ztd-config`.
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
---
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
## DDL Specifications (`ztd/ddl/`)
|
|
17
|
+
|
|
18
|
+
You are an AI assistant responsible for **reading and respecting** the contents of this directory.
|
|
12
19
|
|
|
13
20
|
### Purpose
|
|
14
21
|
|
|
15
|
-
This directory contains all canonical definitions of database structure, including
|
|
22
|
+
This directory contains all canonical definitions of database structure, including:
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
- CREATE TABLE
|
|
25
|
+
- ALTER TABLE
|
|
26
|
+
- Constraints
|
|
27
|
+
- Indexes
|
|
18
28
|
|
|
19
|
-
|
|
20
|
-
- You may propose edits, reviews, or new DDL structures when asked, but you must preserve all human-authored structure, naming, and intent.
|
|
21
|
-
- All DDL statements **must be semicolon-terminated** and valid PostgreSQL syntax.
|
|
22
|
-
- You must not reorder statements arbitrarily; semantic meaning and dependency order must be preserved.
|
|
23
|
-
- Respect formatting conventions, identifier styles, and comments written by humans.
|
|
24
|
-
- When generating new tables or columns, infer types and constraints based on other schema examples or enums (if available).
|
|
25
|
-
- Maintain consistency in column ordering, naming style, and constraint patterns.
|
|
26
|
-
- When adding to existing definitions, do not remove human-authored comments unless told to.
|
|
27
|
-
- Do not introduce structural changes that conflict with domain-specs or enums.
|
|
29
|
+
It is the **single source of truth** for the physical database schema as interpreted by ztd-cli.
|
|
28
30
|
|
|
29
|
-
###
|
|
31
|
+
### Behavior Rules (strict)
|
|
30
32
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
33
|
+
- **Never modify files in this directory unless explicitly instructed by a human.**
|
|
34
|
+
- Do not apply “helpful” refactors, cleanups, or formatting changes on your own.
|
|
35
|
+
- You may propose edits or review changes when asked, but you must not apply them without approval.
|
|
36
|
+
- All DDL statements must be:
|
|
37
|
+
- Valid PostgreSQL syntax
|
|
38
|
+
- Explicitly semicolon-terminated
|
|
39
|
+
- Do not reorder statements; dependency and execution order matters.
|
|
40
|
+
- Preserve all human-authored:
|
|
41
|
+
- Naming
|
|
42
|
+
- Formatting
|
|
43
|
+
- Comments
|
|
44
|
+
- Structural intent
|
|
45
|
+
- When asked to extend existing definitions:
|
|
46
|
+
- Do not remove or rewrite existing columns or comments unless explicitly told.
|
|
47
|
+
- Maintain column order and constraint style.
|
|
48
|
+
- Do not introduce schema changes that conflict with:
|
|
49
|
+
- `ztd/domain-specs`
|
|
50
|
+
- `ztd/enums`
|
|
34
51
|
|
|
35
|
-
If
|
|
52
|
+
If there is uncertainty, stop and request clarification instead of guessing.
|
|
36
53
|
|
|
37
|
-
|
|
54
|
+
---
|
|
38
55
|
|
|
39
|
-
|
|
56
|
+
## Domain Specifications (`ztd/domain-specs/`)
|
|
40
57
|
|
|
41
|
-
|
|
58
|
+
You are an AI agent that **reads** domain specifications to understand business semantics.
|
|
59
|
+
|
|
60
|
+
### Purpose
|
|
61
|
+
|
|
62
|
+
Each file in this directory defines **one domain behavior**.
|
|
63
|
+
These files explain *what the data means*, not how the application is implemented.
|
|
42
64
|
|
|
43
|
-
|
|
44
|
-
- Use the embedded SQL block (`sql ... `) as the **reference SELECT**.
|
|
45
|
-
- Only the first top-level SELECT block should be considered executable logic.
|
|
46
|
-
- Parameters may be written in :named format (e.g., :as_of). You must bind them as positional placeholders (e.g., $1, $2, ?) in generated code.
|
|
47
|
-
- Do not generate or modify files in this directory unless explicitly asked.
|
|
65
|
+
### Instructions
|
|
48
66
|
|
|
49
|
-
|
|
67
|
+
- Treat each Markdown file as defining exactly **one behavior**.
|
|
68
|
+
- Use the embedded SQL block as the **reference SELECT**.
|
|
69
|
+
- Only the first top-level SQL block is executable logic.
|
|
70
|
+
- Parameters may be written as `:named` placeholders.
|
|
71
|
+
- When generating executable SQL, bind them as positional placeholders (`$1`, `$2`, `?`).
|
|
72
|
+
- **Never modify files in this directory unless explicitly instructed.**
|
|
50
73
|
|
|
51
|
-
|
|
52
|
-
- These specifications are for **humans and AI consumption** (documentation + reference SQL).
|
|
53
|
-
- Comments and descriptions exist to help you interpret logic correctly.
|
|
74
|
+
### Rules (strict)
|
|
54
75
|
|
|
55
|
-
|
|
76
|
+
- Never ignore the human-written explanation above the SQL block.
|
|
77
|
+
- Keep exactly one executable SQL block per file.
|
|
78
|
+
- Do not reorder, optimize, or “simplify” SQL unless explicitly instructed.
|
|
79
|
+
- Preserve the exact semantics described by humans.
|
|
80
|
+
- This directory defines **what is correct behavior**.
|
|
81
|
+
- Your role is to reproduce that behavior elsewhere (`src/`, `tests/`), not reinterpret it.
|
|
56
82
|
|
|
57
|
-
|
|
58
|
-
- Keep exactly one executable SQL block per file (one file = one behavior).
|
|
59
|
-
- Do not reorder or optimize the SQL unless explicitly instructed.
|
|
60
|
-
- Preserve the semantic meaning as given in the specification.
|
|
61
|
-
- This folder defines **what** logic means. Your job is to reproduce that logic elsewhere (e.g., in src/ or tests).
|
|
83
|
+
If meaning is ambiguous, defer to human judgment and ask.
|
|
62
84
|
|
|
63
|
-
|
|
85
|
+
---
|
|
64
86
|
|
|
65
|
-
## Domain Enums
|
|
87
|
+
## Domain Enums (`ztd/enums/`)
|
|
66
88
|
|
|
67
|
-
You are an AI assistant responsible for reading domain enum definitions
|
|
89
|
+
You are an AI assistant responsible for **reading and using** domain enum definitions.
|
|
68
90
|
|
|
69
91
|
### Purpose
|
|
70
92
|
|
|
71
|
-
This directory defines canonical value sets
|
|
93
|
+
This directory defines canonical value sets such as:
|
|
94
|
+
|
|
95
|
+
- Status codes
|
|
96
|
+
- Category types
|
|
97
|
+
- Plan tiers
|
|
72
98
|
|
|
73
|
-
|
|
99
|
+
These enums are the **only allowed vocabulary** for such concepts.
|
|
74
100
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
101
|
+
### Behavior Guidelines (strict)
|
|
102
|
+
|
|
103
|
+
- Never invent enum values.
|
|
104
|
+
- Never hardcode magic numbers or strings.
|
|
105
|
+
- Never modify or add enum definitions unless explicitly instructed by a human.
|
|
78
106
|
|
|
79
107
|
### SQL Rules
|
|
80
108
|
|
|
81
|
-
- Each
|
|
82
|
-
-
|
|
83
|
-
- All blocks follow the form:
|
|
109
|
+
- Each file contains exactly one executable SQL block.
|
|
110
|
+
- Enum definitions follow this canonical pattern:
|
|
84
111
|
|
|
85
|
-
|
|
112
|
+
```sql
|
|
86
113
|
select v.*
|
|
87
114
|
from (
|
|
88
115
|
values
|
|
89
116
|
(1, 'some_code', 'some_label')
|
|
90
117
|
) v(key, value, display_name);
|
|
91
|
-
|
|
118
|
+
```
|
|
92
119
|
|
|
93
|
-
-
|
|
94
|
-
- display_name
|
|
95
|
-
|
|
120
|
+
- `key` and `value` are authoritative.
|
|
121
|
+
- Additional columns (e.g. `display_name`, `ranking`) may be used for:
|
|
122
|
+
- UI display
|
|
123
|
+
- Sorting
|
|
124
|
+
- Documentation
|
|
96
125
|
|
|
97
126
|
### Use in Code Generation
|
|
98
127
|
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
128
|
+
- Always reference enums when generating:
|
|
129
|
+
- SQL WHERE conditions
|
|
130
|
+
- Constants
|
|
131
|
+
- Conditional logic
|
|
132
|
+
- When translating logic from `ztd/domain-specs`, resolve enum references through this directory.
|
|
133
|
+
- Maintain full consistency with naming and intent.
|
|
134
|
+
|
|
135
|
+
If a required enum does not exist, stop and ask for human clarification.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Absolute Restrictions (important)
|
|
140
|
+
|
|
141
|
+
- AI must not modify anything under `ztd/` by default.
|
|
142
|
+
- DDL, domain-specs, and enums are **human-led artifacts**.
|
|
143
|
+
- AI may assist by:
|
|
144
|
+
- Reading
|
|
145
|
+
- Explaining
|
|
146
|
+
- Proposing diffs
|
|
147
|
+
- AI may apply changes **only** with explicit instruction.
|
|
102
148
|
|
|
103
|
-
|
|
149
|
+
Violation of these rules leads to silent corruption of domain meaning and is unacceptable.
|