@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.
- package/.codex-plugin/plugin.json +20 -0
- package/LICENSE +21 -0
- package/README.md +181 -2
- package/dist/codex-dev-flow.mjs +3 -0
- package/dist/dev-flow.mjs +241 -0
- package/docs/adr/0001-hybrid-portable-workflow.md +23 -0
- package/docs/adr/0002-share-an-invalidable-context-capsule.md +55 -0
- package/docs/adr/0004-scale-assurance-lanes-by-applicable-risk.md +36 -0
- package/docs/adr/0006-make-intake-adaptive-user-authoritative-and-token-efficient.md +76 -0
- package/docs/adr/0007-collect-opt-in-local-benchmark-feedback.md +82 -0
- package/docs/adr/0008-automate-maintainer-releases-with-an-interactive-bun-workflow.md +121 -0
- package/docs/adr/0009-separate-intake-decisions-from-shape-discovery.md +200 -0
- package/docs/adr/0010-choose-quick-or-plan-after-discovery.md +161 -0
- package/docs/adr/0011-separate-fast-local-and-authoritative-ci-quality-gates.md +49 -0
- package/docs/adr/0012-use-bun-test-and-require-node-24.md +41 -0
- package/docs/adr/0013-layer-source-distribution-and-runtime-tests.md +42 -0
- package/docs/adr/0014-ratchet-source-coverage-with-bun.md +51 -0
- package/docs/adr/0015-split-fast-and-type-aware-linting.md +41 -0
- package/docs/adr/0016-use-husky-with-a-tested-bun-staged-file-adapter.md +45 -0
- package/docs/adr/0017-format-conservatively-with-oxfmt.md +45 -0
- package/docs/adr/0018-use-a-high-signal-oxlint-policy.md +53 -0
- package/docs/adr/0019-gate-deterministic-size-and-observe-timing.md +44 -0
- package/docs/adr/0020-support-linux-and-macos-with-targeted-ci.md +41 -0
- package/docs/adr/0021-randomize-tests-without-retries.md +35 -0
- package/docs/adr/0022-use-one-root-bun-workspace.md +41 -0
- package/docs/adr/0024-make-gate-a-minimal-plan-approval.md +74 -0
- package/docs/adr/0025-end-the-lifecycle-after-assure.md +55 -0
- package/docs/adr/0026-keep-intake-product-stable-and-interview-shape-by-dependency.md +151 -0
- package/docs/adr/0027-add-agentic-project-init-and-versioned-engineering-profiles.md +147 -0
- package/docs/adr/0028-make-public-documentation-user-first-and-current.md +65 -0
- package/docs/adr/0029-make-build-a-native-execution-boundary.md +51 -0
- package/docs/adr/0030-unify-product-domain-and-technical-design-interviews.md +240 -0
- package/docs/adr/0031-make-assure-the-success-boundary.md +205 -0
- package/docs/artifacts.md +47 -0
- package/docs/baselines/2026-07-18-p0-lifecycle.json +142 -0
- package/docs/design.md +101 -0
- package/docs/getting-started.md +204 -0
- package/docs/glossary/dev-flow.md +527 -0
- package/docs/lifecycle-contract.md +189 -0
- package/docs/lifecycle-contract.projection.json +931 -0
- package/docs/metrics-protocol.md +113 -0
- package/docs/project-profile-contract.md +157 -0
- package/docs/runbooks/maintainer-release.md +291 -0
- package/docs/target-intake-shape-contract.md +416 -0
- package/package.json +68 -4
- package/schemas/config.schema.json +104 -0
- package/schemas/policy.schema.json +17 -0
- package/schemas/project-init-state.schema.json +159 -0
- package/schemas/project-profile-local.schema.json +53 -0
- package/schemas/project-profile.schema.json +285 -0
- package/schemas/state.schema.json +826 -0
- package/skills/debug-root-cause/SKILL.md +16 -0
- package/skills/design-decisions/SKILL.md +24 -0
- package/skills/dev-flow/SKILL.md +306 -0
- package/skills/dev-flow/agents/openai.yaml +6 -0
- package/skills/discover-change/SKILL.md +31 -0
- package/skills/plan-change/SKILL.md +29 -0
- 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
|
-
#
|
|
1
|
+
# Dev Flow
|
|
2
2
|
|
|
3
|
-
|
|
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)
|