mikoshi-construct 0.1.1 → 0.1.2

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.
Files changed (2) hide show
  1. package/README.md +52 -3
  2. package/package.json +18 -20
package/README.md CHANGED
@@ -3,8 +3,10 @@
3
3
  Bootstrap for AI-native software projects. Start with a proven engineering workflow instead of an
4
4
  empty repository.
5
5
 
6
- ```
7
- npx mikoshi-construct init
6
+ ```bash
7
+ mkdir my-service && cd my-service
8
+ npx mikoshi-construct init # interactive: preset, agent, project name
9
+ pnpm install && pnpm run quality # green before you write a line
8
10
  ```
9
11
 
10
12
  > **v0.1.** Presets `node-backend`, `node-frontend`, `node-library` and `monorepo`. Claude Code gets
@@ -34,6 +36,52 @@ An existing repository gets the policy, the harness tooling and the agent files,
34
36
  code; its own `AGENTS.md`, `CLAUDE.md`, `package.json` and configs are merged or left alone, and
35
37
  `init` says what still has to be wired by hand.
36
38
 
39
+ ## Usage
40
+
41
+ **A new project.** Name a preset and it writes everything:
42
+
43
+ ```bash
44
+ mkdir my-service && cd my-service
45
+ npx mikoshi-construct init --yes --preset node-backend
46
+ pnpm install && pnpm run quality
47
+ ```
48
+
49
+ **An existing repository.** Look before you write:
50
+
51
+ ```bash
52
+ npx mikoshi-construct init --preset monorepo --dry-run
53
+ ```
54
+
55
+ ```
56
+ ~ package.json (merge)
57
+ = eslint.config.mjs — exists, review manually
58
+ + architecture/principles.md
59
+ + .claude/commands/construct-discover.md
60
+
61
+ Sample sources omitted: the directory is not empty. Discovery maps what is already here.
62
+ ```
63
+
64
+ `+` creates a file that is not there. `~` merges into one that is, inside a
65
+ `construct:begin … construct:end` block or as a JSON merge where your values win. `=` leaves the file
66
+ alone and reports it. No example code lands in a repository that already has some, and there is no
67
+ `--force`.
68
+
69
+ **Cursor, or both agents.** The rules are written once and rendered for each:
70
+
71
+ ```bash
72
+ npx mikoshi-construct init --yes --preset node-frontend --ai both
73
+ ```
74
+
75
+ **Check a repository at any time.**
76
+
77
+ ```bash
78
+ npx mikoshi-construct doctor # baseline intact, harness intact, markers filled
79
+ npx mikoshi-construct soulkill # what the detector sees; writes nothing
80
+ npx mikoshi-construct cost --last
81
+ ```
82
+
83
+ Every command, flag and exit code: [docs/cli.md](https://github.com/E1i/mikoshi-construct/blob/main/docs/cli.md).
84
+
37
85
  ## Three principles
38
86
 
39
87
  1. **CLI detects facts. Agent interprets the system.** Everything that needs understanding of the
@@ -82,7 +130,8 @@ with a named check, not a second fix.
82
130
  | `construct soulkill` | Print what the detector sees, write nothing (`--json`; aliases `inspect`, `capture`) |
83
131
  | `construct cost` | Token usage of the `/implement` runs in this directory, per agent, billable and price-weighted (`--last`, `--json`) |
84
132
 
85
- `--plain` turns off colours and lore for CI. `--johnny` — wake up, Netrunner.
133
+ `--plain` turns off colours and lore for CI. `--johnny` — wake up, Netrunner. The full reference,
134
+ with examples and exit codes, is in [docs/cli.md](https://github.com/E1i/mikoshi-construct/blob/main/docs/cli.md).
86
135
 
87
136
  > If you already keep a user-level `implement` skill in `~/.claude/skills/`, it shadows the one the
88
137
  > construct puts in `.claude/skills/implement/`; move yours aside to run the repository's ladder.
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "mikoshi-construct",
3
3
  "type": "module",
4
- "version": "0.1.1",
5
- "packageManager": "pnpm@12.4.2",
4
+ "version": "0.1.2",
6
5
  "description": "Bootstrap for AI-native software projects. Start with a proven engineering workflow instead of an empty repository.",
7
6
  "author": "Eli Tabrisov",
8
7
  "license": "MIT",
@@ -36,23 +35,6 @@
36
35
  "engines": {
37
36
  "node": ">=20"
38
37
  },
39
- "scripts": {
40
- "build": "tsup",
41
- "dev": "tsx src/cli.ts",
42
- "lint": "eslint .",
43
- "lint:fix": "eslint --fix .",
44
- "typecheck": "tsc --noEmit",
45
- "test": "vitest run",
46
- "test:watch": "vitest",
47
- "quality": "pnpm composition:check && pnpm lint && pnpm typecheck && pnpm test",
48
- "prepublishOnly": "pnpm build",
49
- "composition:render": "tsx scripts/composition/sync-docs.ts",
50
- "composition:check": "tsx scripts/composition/check.ts",
51
- "ci": "pnpm run quality",
52
- "changeset": "changeset",
53
- "version-packages": "changeset version",
54
- "release": "pnpm build && npm publish --provenance --access public"
55
- },
56
38
  "dependencies": {
57
39
  "@clack/prompts": "^1.8.0",
58
40
  "citty": "^0.2.2",
@@ -69,5 +51,21 @@
69
51
  "typescript": "^5.9.3",
70
52
  "vitest": "^5.0.0",
71
53
  "yaml": "^2.9.1"
54
+ },
55
+ "scripts": {
56
+ "build": "tsup",
57
+ "dev": "tsx src/cli.ts",
58
+ "lint": "eslint .",
59
+ "lint:fix": "eslint --fix .",
60
+ "typecheck": "tsc --noEmit",
61
+ "test": "vitest run",
62
+ "test:watch": "vitest",
63
+ "quality": "pnpm composition:check && pnpm lint && pnpm typecheck && pnpm test",
64
+ "composition:render": "tsx scripts/composition/sync-docs.ts",
65
+ "composition:check": "tsx scripts/composition/check.ts",
66
+ "ci": "pnpm run quality",
67
+ "changeset": "changeset",
68
+ "version-packages": "changeset version",
69
+ "release": "pnpm build && changeset publish"
72
70
  }
73
- }
71
+ }