duaer-spec 0.1.0 → 0.1.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.
@@ -5,14 +5,15 @@ alwaysApply: true
5
5
 
6
6
  # Duaer required (NON-NEGOTIABLE)
7
7
 
8
- See repo `DUADER.md` and `.duaer/memory/constitution.md`.
8
+ Treat agents as digital employees: assign a Brief (Spec) before code; accept
9
+ only via converge. See `DUADER.md` and `.duaer/memory/constitution.md`.
9
10
 
10
11
  If this rule conflicts with root `AGENTS.md` / `docs/agent/` (worktrees, commits,
11
12
  Issue/PR), **AGENTS.md wins**.
12
13
 
13
14
  ## When Duaer is mandatory
14
15
 
15
- Always write/update a feature spec before coding for:
16
+ Always write/update a feature spec (Brief) before coding for:
16
17
 
17
18
  - New features / user-visible behavior
18
19
  - Architecture or contract changes
package/ADOPT.md CHANGED
@@ -1,22 +1,21 @@
1
1
  # Adopt duaer-spec
2
2
 
3
- Install the **Duaer** methodology and agent-ops contract into another
4
- repository.
3
+ Onboard a **digital employee** into another repository: install the Duaer
4
+ delivery OS (method) and the agent-ops contract (how they are allowed to work).
5
5
 
6
6
  ## Recommended: CLI
7
7
 
8
8
  From the target project (Node 18+):
9
9
 
10
10
  ```bash
11
- # GitHub pin
12
- npx github:fujiezee/duaer-spec@v0.1.0 duaer init --here
13
-
14
- # npm (after publish)
15
11
  npx duaer-spec init --here
16
12
 
17
- # method only / ops only / other integration branch
18
- npx github:fujiezee/duaer-spec@v0.1.0 duaer init --here --method
19
- npx github:fujiezee/duaer-spec@v0.1.0 duaer init --here --ops --branch develop
13
+ # Pin a release
14
+ npx github:fujiezee/duaer-spec@v0.1.1 duaer init --here
15
+
16
+ # Lite (method only) / ops only / other integration branch
17
+ npx duaer-spec init --here --method
18
+ npx duaer-spec init --here --ops --branch develop
20
19
  ```
21
20
 
22
21
  From a clone of this repo:
@@ -30,9 +29,11 @@ node bin/duaer.mjs check /path/to/project
30
29
 
31
30
  Then:
32
31
 
33
- 1. Edit `.duaer/memory/constitution.md` and `project-context.md` for the product
34
- 2. Confirm `docs/baseline.md` (integration branch)
35
- 3. Use `/duaer-specify` → `/duaer-plan` → `/duaer-tasks` → `/duaer-implement` → `/duaer-converge`
32
+ 1. **Orient** — edit `.duaer/memory/constitution.md` and `project-context.md`
33
+ 2. **Confirm workplace** — `docs/baseline.md` (integration branch)
34
+ 3. **Assign → work → accept** — `/duaer-specify` → `/duaer-plan` → `/duaer-tasks` → `/duaer-implement` → `/duaer-converge`
35
+
36
+ A job without Spec is not assigned. A change that fails converge is not accepted.
36
37
 
37
38
  ## Manual copy (optional)
38
39
 
@@ -59,7 +60,7 @@ cp DUADER.md /path/to/project/
59
60
 
60
61
  ## Precedence
61
62
 
62
- 1. `AGENTS.md` / agent-ops — how agents operate
63
+ 1. `AGENTS.md` / agent-ops — how employees operate
63
64
  2. `DUADER.md` / `.duaer/` — what to build
64
65
  3. Product overlays (do not copy `examples/` blindly)
65
66
 
package/AGENTS.md CHANGED
@@ -3,8 +3,10 @@
3
3
  Mandatory rules for AI coding agents working in **duaer-spec**, and for any
4
4
  repository that adopts this file as its agent-ops contract.
5
5
 
6
- This file is authoritative for *how* agents operate. If Duaer (`.duaer/`,
7
- `DUADER.md`), `examples/`, or other overlays conflict with this file,
6
+ Treat agents as **digital employees**: this file is the workplace policy for
7
+ *how* they may operate (isolation, commits, Issue/PR gates). Duaer
8
+ ([`DUADER.md`](DUADER.md)) is how jobs are briefed and accepted. If Duaer
9
+ (`.duaer/`), `examples/`, or other overlays conflict with this file,
8
10
  **follow this file**.
9
11
 
10
12
  See also: [workflow](docs/agent/workflow.md) · [change checklist](docs/agent/change-checklist.md) · [ADOPT](ADOPT.md)
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 — 2026-09-15
4
+
5
+ ### Docs / product identity
6
+
7
+ - Position Duaer as a **delivery OS for AI digital employees**: hire → assign
8
+ (Spec) → work → accept (converge)
9
+ - README, ADOPT, DUADER, AGENTS intro, and CLI `init` / `check` / help copy
10
+ use that language
11
+ - E2E catalog: E2E-001 (init next steps), E2E-002 (README positioning)
12
+
3
13
  ## 0.1.0 — 2026-09-15
4
14
 
5
15
  First public methodology release.
package/DUADER.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # Duaer methodology
2
2
 
3
- **duaer-spec** owns this method. Artifacts live under `.duaer/`; Cursor skills
4
- are `duaer-*` at `.cursor/skills/`.
3
+ **duaer-spec** owns this method. Treat AI coding agents as **digital employees**:
4
+ you assign a Brief (Spec), they follow a fixed work order, and delivery only
5
+ counts after **converge** accepts the result against that Brief.
6
+
7
+ Artifacts live under `.duaer/`; Cursor skills are `duaer-*` at `.cursor/skills/`.
5
8
 
6
9
  **Precedence:** root [`AGENTS.md`](AGENTS.md) / [`docs/agent/`](docs/agent/) win
7
10
  over anything here for isolation, commits, and Issue/PR gates.
@@ -18,24 +21,24 @@ over anything here for isolation, commits, and Issue/PR gates.
18
21
  **Full (recommended):**
19
22
 
20
23
  1. `/duaer-constitution` — only when principles change
21
- 2. `/duaer-specify` — what / why / acceptance (not stack trivia)
24
+ 2. `/duaer-specify` — **Assign**: what / why / acceptance (not stack trivia)
22
25
  3. `/duaer-clarify` — optional
23
26
  4. `/duaer-plan` — technical plan aligned with project-context
24
27
  5. `/duaer-checklist` — optional quality checklist
25
28
  6. `/duaer-tasks` — checkbox task breakdown
26
29
  7. `/duaer-analyze` — optional consistency check
27
30
  8. `/duaer-implement` — implement tasks only
28
- 9. `/duaer-converge` — compare result to spec; append remaining tasks if gaps
31
+ 9. `/duaer-converge` — **Accept**: compare result to Spec; append remaining tasks if gaps
29
32
 
30
33
  **Small feature:** specify → plan → tasks → implement → converge
31
34
 
32
35
  **Hotfix:** specify (mark hotfix) → tasks → implement → converge
33
- Never skip specify or converge.
36
+ Never skip specify (assign) or converge (accept).
34
37
 
35
38
  ## Install
36
39
 
37
40
  ```bash
38
- npx github:fujiezee/duaer-spec duaer init --here
41
+ npx duaer-spec init --here
39
42
  ```
40
43
 
41
44
  Or see [`ADOPT.md`](ADOPT.md). No third-party Spec CLI is required — `duaer`
@@ -45,7 +48,7 @@ installs this repository's method files into the target project.
45
48
 
46
49
  ```text
47
50
  .duaer/specs/<nnn-slug>/
48
- spec.md
51
+ spec.md # Brief
49
52
  plan.md # after /duaer-plan
50
53
  tasks.md # after /duaer-tasks
51
54
  … # research / contracts as needed
package/README.md CHANGED
@@ -1,39 +1,52 @@
1
1
  # duaer-spec
2
2
 
3
- **Duaer** is a Spec-Driven Development methodology for AI coding agents
4
- (Cursor first), plus enforceable **agent ops** for isolation, commits, and
5
- Issue/PR gates.
3
+ **Duaer** is a delivery operating system for AI coding agents treated as
4
+ **digital employees**.
6
5
 
7
- Not a wrapper around another toolkit. The method, directories, skills, and rules
8
- in this repository **are** duaer-spec.
6
+ Agents write the code. Duaer makes the **handoff controllable**: every job has a
7
+ Brief (Spec), follows a fixed work order, and only counts as done after
8
+ acceptance — not after a lucky chat.
9
9
 
10
- ## Install into a project
10
+ Cursor is the labor. Duaer is hire → assign → accept.
11
11
 
12
- ```bash
13
- # GitHub (available now)
14
- npx github:fujiezee/duaer-spec@v0.1.0 duaer init --here
12
+ ## Install (onboard the employee)
15
13
 
16
- # npm (after the package is published)
14
+ ```bash
17
15
  npx duaer-spec init --here
16
+ # or pin: npx github:fujiezee/duaer-spec@v0.1.1 duaer init --here
18
17
  ```
19
18
 
20
19
  ```bash
21
- # method only / ops only / other integration branch
22
- npx github:fujiezee/duaer-spec duaer init --here --method
23
- npx github:fujiezee/duaer-spec duaer init --here --ops --branch develop
20
+ # Lite: method only (personal / small changes)
21
+ npx duaer-spec init --here --method
22
+
23
+ # Full ops on another integration branch
24
+ npx duaer-spec init --here --ops --branch develop
24
25
  ```
25
26
 
26
- Verify: `npx github:fujiezee/duaer-spec duaer check .`
27
+ Verify: `npx duaer-spec check .`
27
28
  Details: [`ADOPT.md`](ADOPT.md)
28
29
 
30
+ ## How you run them
31
+
32
+ | Step | Meaning | Command |
33
+ |---|---|---|
34
+ | **Hire** | Install SOP + gates into the repo | `duaer init` |
35
+ | **Assign** | Write the Brief (what / why / acceptance) | `/duaer-specify` |
36
+ | **Work** | Plan, break down, implement | `/duaer-plan` → `/duaer-tasks` → `/duaer-implement` |
37
+ | **Accept** | Compare result to Spec; gaps become more work | `/duaer-converge` + `duaer check` |
38
+
39
+ Never skip **Assign** or **Accept**. Hotfix may shorten the middle; Spec and
40
+ converge stay.
41
+
29
42
  ## Two layers
30
43
 
31
44
  | Layer | Role | Where |
32
45
  |---|---|---|
33
- | **Agent ops** | How agents operate | [`AGENTS.md`](AGENTS.md), [`docs/agent/`](docs/agent/) |
46
+ | **Agent ops** | How the employee is allowed to operate | [`AGENTS.md`](AGENTS.md), [`docs/agent/`](docs/agent/) |
34
47
  | **Duaer method** | What to build (Spec → Plan → Tasks → Implement → Converge) | [`DUADER.md`](DUADER.md), [`.duaer/`](.duaer/), [`.cursor/skills/`](.cursor/skills/) |
35
48
 
36
- When they conflict, **agent ops win**.
49
+ When they conflict, **agent ops win** — process beats improvisation.
37
50
 
38
51
  ## Default loop
39
52
 
@@ -52,14 +65,15 @@ Slash skills: `/duaer-specify`, `/duaer-plan`, `/duaer-tasks`, `/duaer-implement
52
65
  ```text
53
66
  bin/duaer.mjs CLI (duaer init | check | version)
54
67
  package.json npm package metadata
55
- AGENTS.md Agent-ops contract
56
- DUADER.md Methodology conventions
57
- ADOPT.md Install guide
68
+ AGENTS.md Agent-ops contract (how employees operate)
69
+ DUADER.md Methodology conventions (how work is briefed)
70
+ ADOPT.md Onboarding guide
58
71
  .duaer/ Memory, templates, workflows, scripts
59
72
  .cursor/rules/ Agent-ops + Duaer rules
60
73
  .cursor/skills/ duaer-* skills
61
74
  docs/agent/ Workflow detail + checklists
62
75
  docs/maintaining.md How maintainers evolve the method
76
+ docs/npm-trusted-publishing.md npm Trusted Publishing (OIDC) setup
63
77
  examples/ Optional product overlays (not defaults)
64
78
  ```
65
79
 
package/bin/duaer.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * duaer — CLI for the duaer-spec methodology
3
+ * duaer — CLI for the duaer-spec delivery OS (digital employees)
4
4
  *
5
5
  * duaer init [dir] [--all|--method|--ops] [--force] [--branch <name>]
6
6
  * duaer check [dir]
@@ -24,23 +24,26 @@ const __dirname = dirname(fileURLToPath(import.meta.url))
24
24
  const PKG_ROOT = resolve(__dirname, '..')
25
25
  const PKG = JSON.parse(readFileSync(join(PKG_ROOT, 'package.json'), 'utf8'))
26
26
 
27
- const USAGE = `duaer — Duaer methodology installer (duaer-spec ${PKG.version})
27
+ const USAGE = `duaer — Delivery OS for AI digital employees (duaer-spec ${PKG.version})
28
+
29
+ Hire agents into a repo, assign Briefs (Specs), accept only when converge passes.
28
30
 
29
31
  Usage:
30
- duaer init [dir] [options] Install Duaer into a project
31
- duaer check [dir] Verify install shape
32
+ duaer init [dir] [options] Hire / onboard into a project
33
+ duaer check [dir] Verify install (workplace ready)
32
34
  duaer version Print version
33
35
  duaer help Show this help
34
36
 
35
37
  Init options:
36
- --all Agent ops + method (default)
37
- --method Method only (.duaer, skills, DUADER.md, duaer-spec rule)
38
- --ops Agent ops only (AGENTS.md, docs/agent, ops rules)
38
+ --all Full hire: agent ops + method (default)
39
+ --method Lite: method only (.duaer, skills, DUADER.md, duaer-spec rule)
40
+ --ops Ops only (AGENTS.md, docs/agent, ops rules)
39
41
  --force Overwrite existing managed files
40
42
  --branch <n> Integration branch for baseline note (default: main)
41
43
  --here Same as dir=.
42
44
 
43
45
  Examples:
46
+ npx duaer-spec init --here
44
47
  npx github:fujiezee/duaer-spec duaer init --here
45
48
  node bin/duaer.mjs init ../my-app --all
46
49
  duaer check .
@@ -218,14 +221,17 @@ function cmdInit(opts) {
218
221
  }
219
222
 
220
223
  console.log(`
221
- Done.
224
+ Hired.
222
225
 
223
- Next:
224
- 1. Edit .duaer/memory/constitution.md and project-context.md for this product
225
- 2. Confirm docs/baseline.md (integration branch: ${opts.branch})
226
- 3. In Cursor, use /duaer-specify /duaer-plan /duaer-tasks → /duaer-implement → /duaer-converge
227
- 4. Agent ops: AGENTS.md wins over DUADER.md when they conflict
226
+ Next (digital employee loop):
227
+ 1. Orient — edit .duaer/memory/constitution.md and project-context.md
228
+ 2. Workplace — confirm docs/baseline.md (integration branch: ${opts.branch})
229
+ 3. Assign — /duaer-specify (Brief: what / why / acceptance)
230
+ 4. Work — /duaer-plan /duaer-tasks /duaer-implement
231
+ 5. Accept — /duaer-converge (gaps are not done; append tasks)
232
+ 6. Gates — AGENTS.md wins over DUADER.md when they conflict
228
233
 
234
+ No Spec = not assigned. Failed converge = not accepted.
229
235
  See DUADER.md and AGENTS.md in the target project.
230
236
  `)
231
237
  }
@@ -252,7 +258,7 @@ function cmdCheck(dir) {
252
258
  console.log(`\n${missing} missing — run: duaer init ${dir} --all`)
253
259
  process.exitCode = 1
254
260
  } else {
255
- console.log('\nInstall looks complete.')
261
+ console.log('\nWorkplace ready — assign with /duaer-specify, accept with /duaer-converge.')
256
262
  }
257
263
  }
258
264
 
@@ -1,7 +1,7 @@
1
1
  # Agent workflow (duaer-spec)
2
2
 
3
- Authoritative docs for *how* agents operate. Wins over Duaer and `examples/`
4
- when they conflict.
3
+ Authoritative docs for *how* digital employees operate (workplace policy).
4
+ Wins over Duaer and `examples/` when they conflict.
5
5
 
6
6
  | Doc | Description |
7
7
  |---|---|
@@ -20,9 +20,13 @@ Status: planned | automated | manual
20
20
 
21
21
  ## Catalog
22
22
 
23
+ This repository’s own product surface (CLI + docs). Adopters replace or extend
24
+ the table for their app.
25
+
23
26
  | ID | Title | Status |
24
27
  |---|---|---|
25
- | | *(replace with project scenarios)* | |
28
+ | E2E-001 | After `duaer init`, CLI prints hire → assign → accept next steps | manual |
29
+ | E2E-002 | README positions Duaer as delivery OS for digital employees | manual |
26
30
 
27
31
  ## Traceability
28
32
 
@@ -30,4 +34,5 @@ Keep this matrix current when scenarios or specs change.
30
34
 
31
35
  | Scenario | Spec / feature | Notes |
32
36
  |---|---|---|
33
- | | | |
37
+ | E2E-001 | `bin/duaer.mjs` init banner | Controllable-delivery onboarding |
38
+ | E2E-002 | `README.md` / `ADOPT.md` | Product identity |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "duaer-spec",
3
- "version": "0.1.0",
4
- "description": "Duaer Spec-Driven Development methodology + agent ops for AI coding agents",
3
+ "version": "0.1.1",
4
+ "description": "Delivery OS for AI digital employees: Spec briefs, agent ops, controllable handoffs",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "duaer": "bin/duaer.mjs",
@@ -36,11 +36,13 @@
36
36
  "homepage": "https://github.com/fujiezee/duaer-spec#readme",
37
37
  "keywords": [
38
38
  "duaer",
39
+ "digital-employee",
40
+ "delivery-os",
39
41
  "spec-driven",
40
42
  "agents",
41
43
  "cursor",
42
44
  "ai-engineering",
43
- "methodology"
45
+ "controllable-delivery"
44
46
  ],
45
47
  "license": "MIT",
46
48
  "scripts": {