@acrasie/dev-flow 0.0.0-stage → 1.0.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.
Files changed (58) hide show
  1. package/.codex-plugin/plugin.json +20 -0
  2. package/LICENSE +21 -0
  3. package/README.md +181 -2
  4. package/dist/codex-dev-flow.mjs +3 -0
  5. package/dist/dev-flow.mjs +241 -0
  6. package/docs/adr/0001-hybrid-portable-workflow.md +23 -0
  7. package/docs/adr/0002-share-an-invalidable-context-capsule.md +55 -0
  8. package/docs/adr/0004-scale-assurance-lanes-by-applicable-risk.md +36 -0
  9. package/docs/adr/0006-make-intake-adaptive-user-authoritative-and-token-efficient.md +76 -0
  10. package/docs/adr/0007-collect-opt-in-local-benchmark-feedback.md +82 -0
  11. package/docs/adr/0008-automate-maintainer-releases-with-an-interactive-bun-workflow.md +121 -0
  12. package/docs/adr/0009-separate-intake-decisions-from-shape-discovery.md +200 -0
  13. package/docs/adr/0010-choose-quick-or-plan-after-discovery.md +161 -0
  14. package/docs/adr/0011-separate-fast-local-and-authoritative-ci-quality-gates.md +49 -0
  15. package/docs/adr/0012-use-bun-test-and-require-node-24.md +41 -0
  16. package/docs/adr/0013-layer-source-distribution-and-runtime-tests.md +42 -0
  17. package/docs/adr/0014-ratchet-source-coverage-with-bun.md +51 -0
  18. package/docs/adr/0015-split-fast-and-type-aware-linting.md +41 -0
  19. package/docs/adr/0016-use-husky-with-a-tested-bun-staged-file-adapter.md +45 -0
  20. package/docs/adr/0017-format-conservatively-with-oxfmt.md +45 -0
  21. package/docs/adr/0018-use-a-high-signal-oxlint-policy.md +53 -0
  22. package/docs/adr/0019-gate-deterministic-size-and-observe-timing.md +44 -0
  23. package/docs/adr/0020-support-linux-and-macos-with-targeted-ci.md +41 -0
  24. package/docs/adr/0021-randomize-tests-without-retries.md +35 -0
  25. package/docs/adr/0022-use-one-root-bun-workspace.md +41 -0
  26. package/docs/adr/0024-make-gate-a-minimal-plan-approval.md +74 -0
  27. package/docs/adr/0025-end-the-lifecycle-after-assure.md +55 -0
  28. package/docs/adr/0026-keep-intake-product-stable-and-interview-shape-by-dependency.md +151 -0
  29. package/docs/adr/0027-add-agentic-project-init-and-versioned-engineering-profiles.md +147 -0
  30. package/docs/adr/0028-make-public-documentation-user-first-and-current.md +65 -0
  31. package/docs/adr/0029-make-build-a-native-execution-boundary.md +51 -0
  32. package/docs/adr/0030-unify-product-domain-and-technical-design-interviews.md +240 -0
  33. package/docs/adr/0031-make-assure-the-success-boundary.md +205 -0
  34. package/docs/artifacts.md +47 -0
  35. package/docs/baselines/2026-07-18-p0-lifecycle.json +142 -0
  36. package/docs/design.md +101 -0
  37. package/docs/getting-started.md +204 -0
  38. package/docs/glossary/dev-flow.md +527 -0
  39. package/docs/lifecycle-contract.md +189 -0
  40. package/docs/lifecycle-contract.projection.json +931 -0
  41. package/docs/metrics-protocol.md +113 -0
  42. package/docs/project-profile-contract.md +157 -0
  43. package/docs/runbooks/maintainer-release.md +291 -0
  44. package/docs/target-intake-shape-contract.md +416 -0
  45. package/package.json +68 -4
  46. package/schemas/config.schema.json +104 -0
  47. package/schemas/policy.schema.json +17 -0
  48. package/schemas/project-init-state.schema.json +159 -0
  49. package/schemas/project-profile-local.schema.json +53 -0
  50. package/schemas/project-profile.schema.json +285 -0
  51. package/schemas/state.schema.json +826 -0
  52. package/skills/debug-root-cause/SKILL.md +16 -0
  53. package/skills/design-decisions/SKILL.md +24 -0
  54. package/skills/dev-flow/SKILL.md +306 -0
  55. package/skills/dev-flow/agents/openai.yaml +6 -0
  56. package/skills/discover-change/SKILL.md +31 -0
  57. package/skills/plan-change/SKILL.md +29 -0
  58. package/skills/review-change/SKILL.md +21 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "dev-flow",
3
+ "version": "0.4.0+codex.20260822214128",
4
+ "description": "Portable, evidence-based Codex development workflow.",
5
+ "author": {
6
+ "name": "dev-flow contributors"
7
+ },
8
+ "license": "MIT",
9
+ "keywords": ["codex", "workflow", "testing", "review"],
10
+ "skills": "./skills/",
11
+ "interface": {
12
+ "displayName": "Dev Flow",
13
+ "shortDescription": "Evidence-based change workflow.",
14
+ "longDescription": "A portable Codex workflow for planned, tested, reviewed changes.",
15
+ "developerName": "dev-flow contributors",
16
+ "category": "Productivity",
17
+ "capabilities": ["Write"],
18
+ "defaultPrompt": ["Use $dev-flow to plan and implement a change."]
19
+ }
20
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 codex-dev-flow contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,182 @@
1
- # Temporary Holding Version
1
+ # Dev Flow
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ > Turn a software objective into an approved, implemented, and verified change.
4
+
5
+ Dev Flow is a portable Codex plugin for evidence-backed software changes. It
6
+ combines product clarification, repository discovery, explicit approval, implementation,
7
+ and fresh verification without treating a plausible answer as completed work.
8
+
9
+ ## Requirements
10
+
11
+ For plugin use:
12
+
13
+ - Codex with plugin support;
14
+ - Node.js 24 or newer;
15
+ - Git; and
16
+ - Linux or macOS. Windows is unsupported.
17
+
18
+ The distributed ESM runtime installs no dependencies and performs no network access by
19
+ itself. Bun is required only for repository development.
20
+
21
+ ## Install
22
+
23
+ Add the marketplace and install the plugin:
24
+
25
+ ```bash
26
+ codex plugin marketplace add Acrazie/codex-dev-flow
27
+ codex plugin add dev-flow@acrazie
28
+ ```
29
+
30
+ Alternatively, open `/plugins`, select **Acrazie**, and install **Dev Flow**.
31
+ Start a new Codex session after installation or upgrade.
32
+
33
+ ## Quick start
34
+
35
+ Open Codex in the project repository. First, create or reconcile its durable engineering
36
+ conventions:
37
+
38
+ ```text
39
+ $dev-flow init
40
+ ```
41
+
42
+ Project INIT inspects the repository before asking questions. It asks one material
43
+ question at a time, recommends an answer, and publishes nothing until explicit Profile
44
+ Approval.
45
+
46
+ Then run a real objective:
47
+
48
+ ```text
49
+ $dev-flow Add rate limiting to the public authentication endpoints
50
+ ```
51
+
52
+ Dev Flow carries the objective through product decisions, technical shaping, one plan
53
+ approval, implementation, and fresh assurance.
54
+
55
+ The optional Configuration wizard customizes plugin operation such as worktree,
56
+ subscription, quota, and integrations:
57
+
58
+ ```bash
59
+ npx @acrasie/dev-flow init
60
+ ```
61
+
62
+ The npm package is named `@acrasie/dev-flow` because npm rejects the unscoped
63
+ `dev-flow` name as too similar to an existing package. The installed `codex-dev-flow` command
64
+ remains an alias of the same executable; it does not require a separate package.
65
+ Existing installations of the old npm package are not automatically migrated.
66
+ Upgrade the Acrazie marketplace and install `dev-flow@acrazie` to use the renamed
67
+ plugin; existing `.codex/` project configuration and state remain unchanged.
68
+ Replace the old plugin installation rather than installing both plugin identities
69
+ side by side.
70
+
71
+ Project INIT and the Configuration wizard are separate interfaces; neither aliases the
72
+ other. See the [Getting Started guide](docs/getting-started.md) for a complete
73
+ walkthrough.
74
+
75
+ ## How Dev Flow works
76
+
77
+ ```text
78
+ INTAKE -> SHAPE -> GATE -> BUILD -> ASSURE ✓
79
+ ```
80
+
81
+ - **INTAKE** resolves the product objective, observable success, constraints, and risk.
82
+ - **SHAPE** discovers repository facts, resolves technical uncertainty, and prepares a
83
+ Quick or Plan implementation contract.
84
+ - **GATE** validates that exact contract and asks for one explicit approval.
85
+ - **BUILD** lets native Codex implement the complete approved plan. Dev Flow adds no
86
+ execution skill, checkpoint, progress tracker, or validation loop.
87
+ - **ASSURE** reviews and verifies the change with fresh command-backed evidence.
88
+
89
+ Use Dev Flow when a change needs product or technical decisions, implementation, or
90
+ proof. Plain questions, read-only exploration, and Git/GitHub delivery do not need a Dev
91
+ Flow task.
92
+
93
+ ## Commands
94
+
95
+ | Interface | Purpose |
96
+ | ----------------------------------------- | ------------------------------------------------------------- |
97
+ | `$dev-flow <objective>` | Start a software change. |
98
+ | `$dev-flow init` | Discover and approve durable project engineering conventions. |
99
+ | `$dev-flow resume <task-id>` | Resume an interrupted task. |
100
+ | `$dev-flow status [task-id]` | Inspect task status. |
101
+ | `$dev-flow --benchmark <objective>` | Run a task with local benchmark measurement enabled. |
102
+ | `$dev-flow config show [--explain]` | Show effective configuration and optional provenance. |
103
+ | `$dev-flow config validate [--json]` | Validate effective configuration. |
104
+ | `npx @acrasie/dev-flow init` | Run the optional Configuration wizard. |
105
+ | `npx @acrasie/dev-flow benchmark summary` | Summarize allowlisted local benchmark data. |
106
+
107
+ `quick`, `standard`, and `critical` at objective start are plain objective text, not
108
+ modes or aliases. Quick or Plan is selected only after Discovery. Risk and policy—not
109
+ that preparation profile—control safety safeguards.
110
+
111
+ ## Project INIT
112
+
113
+ Project INIT separates portable team conventions from private machine details:
114
+
115
+ ```text
116
+ repository evidence + user decisions
117
+ |
118
+ v
119
+ validation + Profile Approval
120
+ |
121
+ +---------+----------+
122
+ | |
123
+ v v
124
+ shared engineering local overlay
125
+ profile and session state
126
+ ```
127
+
128
+ | File | Role | Git policy |
129
+ | --------------------------------------- | ----------------------------------------------------------- | ------------------------------- |
130
+ | `.codex/dev-flow.project.yaml` | Shared architecture, topology, stack, and conventions. | Review and commit when desired. |
131
+ | `.codex/dev-flow.project.local.yaml` | Absolute service paths and personal, non-contractual prefs. | Gitignored. |
132
+ | `.codex/project-init/state.yaml` | Compact resumable INIT session. | Gitignored and temporary. |
133
+ | `.codex/dev-flow/diagrams/*.mermaid.md` | Optional projection of approved profile architecture. | Commit with shared profile. |
134
+
135
+ Shared profiles reject secret-like values and absolute local paths. Project INIT creates
136
+ no product scaffold and no task state. Full schema, authority, reconciliation, and
137
+ atomic publication rules live in the
138
+ [Project Engineering Profile contract](docs/project-profile-contract.md).
139
+
140
+ ## Configuration
141
+
142
+ Configuration resolves from broad defaults to invocation-specific values:
143
+
144
+ ```text
145
+ internal defaults
146
+ < ~/.codex/dev-flow.yaml
147
+ < .codex/dev-flow.yaml
148
+ < .codex/dev-flow.local.yaml
149
+ < invocation flags
150
+ ```
151
+
152
+ Repository policy applies afterward and cannot be weakened by local configuration or
153
+ flags. Use the optional Configuration wizard for guided setup, or validate existing
154
+ configuration directly:
155
+
156
+ ```text
157
+ $dev-flow config show --explain
158
+ $dev-flow config validate --json
159
+ ```
160
+
161
+ ## Safety guarantees
162
+
163
+ - Implementation never starts before explicit GATE approval.
164
+ - Success requires fresh verification evidence.
165
+ - Task state is durable and resumable.
166
+ - Local configuration cannot weaken repository policy.
167
+ - Commit, push, pull request, registry, and release operations are never authorized
168
+ implicitly by Dev Flow approval.
169
+
170
+ Normative details live in the [Lifecycle contract](docs/lifecycle-contract.md).
171
+
172
+ ## Documentation
173
+
174
+ - [Getting Started](docs/getting-started.md)
175
+ - [Lifecycle contract](docs/lifecycle-contract.md)
176
+ - [Project Engineering Profile contract](docs/project-profile-contract.md)
177
+ - [Design](docs/design.md)
178
+ - [Artifact contract](docs/artifacts.md)
179
+ - [Measurement protocol](docs/metrics-protocol.md)
180
+ - [Maintainer release runbook](docs/runbooks/maintainer-release.md)
181
+ - [ADR directory](docs/adr/)
182
+ - [Glossary](docs/glossary/dev-flow.md)
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { main } from "./dev-flow.mjs";
3
+ main();