Project-aware spec-driven development workflows for coding agents.
Project description
Devora
Devora installs a project-aware, spec-driven development workflow into coding agents.
Devora is a workflow tool—not a code-search engine, RAG system, or agent runtime. The CLI installs instructions, templates, and small path/state scripts. The connected coding agent reads the real project, produces the workflow artifacts, implements the code, and runs validation.
The main difference is when project understanding happens:
optional project context
-> request
-> scoped impact analysis
-> spec
-> plan
-> tasks
-> analyze
-> resolve when needed
-> implement
-> review and human PR approval
Impact analysis is an internal step of specify, not another command the user has to manage.
Status
Devora is in its production-workflow milestone. The current CLI installs the requirement, implementation, validation, and pre-PR review flow for Codex, Claude Code, or a generic Markdown-based agent integration.
Install
Install the published CLI from PyPI with uv:
uv tool install devora-cli
devora --version
Upgrade an existing installation:
uv tool upgrade devora-cli
Install a specific GitHub release before or without using PyPI:
uv tool install \
git+https://github.com/cheney369/Devora.git@v0.3.0
Install for development
uv sync --extra test
uv run devora --version
Initialize a project
Codex is the default integration. Initialize an existing project from its root:
devora init . --integration codex
Choose a default artifact language when useful. auto is the default and locks each feature to the dominant product-input language:
devora init . --language zh-CN
devora init . --language en
Choose another integration when needed:
devora init . --integration claude
devora init . --integration generic
The installation creates shared workflow state under .devora/ and agent-specific commands under:
| Integration | Command location | Invocation style |
|---|---|---|
| Codex | .agents/skills/devora-*/SKILL.md |
$devora-* or natural language |
| Claude Code | .claude/skills/devora-*/SKILL.md |
/devora-* |
| Generic | .devora/commands/devora.*.md |
/devora.* |
Existing, modified Devora-managed files are preserved by default. Use --force to refresh managed templates and commands. .devora/memory/constitution.md is never overwritten after creation.
After upgrading an existing installation with --force, new features receive the current artifact set automatically. To bring an active pre-0.3 feature into the production review flow, run plan, tasks, and analyze again; the plan setup backfills missing intake, summary, and test-case templates without deleting the existing specification.
Workflow
For an existing or complex project, optionally initialize durable project context first:
For Codex, explicitly mention the installed Skill with $:
$devora-project-context
Typing /devora-project-context does not invoke a Codex Skill. Codex reserves its slash menu for supported app/CLI commands; Skills use $skill-name mentions or matching natural language.
Then use the familiar flow:
$devora-constitution
$devora-specify <feature request>
$devora-clarify # optional
$devora-plan
$devora-tasks
$devora-analyze
$devora-resolve # when analysis is NOT_READY
$devora-implement
$devora-review # independent pre-PR gate and human approval
specify accepts a short request or a package of documents, images, designs, tickets, links, API descriptions, and user notes. The connected agent reads those sources and records traceability in intake.md; Devora does not implement its own document parser.
summary.md is the human control surface. It keeps scope, decisions, risks, implementation/validation progress, and the next action readable without requiring people to inspect every execution artifact.
analyze writes analysis.md without changing business code or authoritative feature documents. Findings are routed to the Agent, the user, or an external owner. resolve automatically repairs engineering issues, asks the user only for genuine product decisions, synchronizes the affected workflow documents, and re-checks readiness. review independently checks the diff and final gates, produces review.md, and requires explicit human approval before the change set is called PR-ready.
project-context asks the coding agent to inspect the current workspace and write .devora/memory/project-context.md. If that file does not exist, specify still proceeds and performs request-scoped project reading before it writes the feature specification.
Installed project structure
.devora/
├── init-options.json
├── integrations/
├── memory/
│ ├── constitution.md
│ └── project-context.md # created only when the optional command runs
├── scripts/bash/
└── templates/
specs/
└── 001-feature-name/
├── intake.md
├── spec.md
├── summary.md
├── plan.md
├── test-cases.md
├── tasks.md
├── analysis.md
├── review.md
└── optional design artifacts
Task checkboxes represent full completion, not merely code written. Every task separately records implementation and validation state; a task can be checked only after its validation passes and all dependencies are complete.
Design boundary
Devora owns:
- workflow progression;
- agent instruction templates;
- artifact templates and inheritance rules;
- deterministic feature-path setup and prerequisite checks.
The coding agent owns:
- searching and reading code;
- understanding project architecture;
- request-scoped impact analysis;
- authoring specs, plans, and tasks;
- implementation and testing.
See docs/architecture.md for the detailed responsibility boundary and runtime model.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devora_cli-0.3.0.tar.gz.
File metadata
- Download URL: devora_cli-0.3.0.tar.gz
- Upload date:
- Size: 38.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
650ca3c796bd9f5d607c74d5e2b9e6296eff0507d9969c6dfcb10beb5fd4ab5c
|
|
| MD5 |
c8d2b1f658f478719e020d050f4d16bb
|
|
| BLAKE2b-256 |
2f54c342f07ff9c217130b84bc5760c56de6ac4a829e1737e0732b6922e0c072
|
Provenance
The following attestation bundles were made for devora_cli-0.3.0.tar.gz:
Publisher:
release.yml on cheney369/Devora
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devora_cli-0.3.0.tar.gz -
Subject digest:
650ca3c796bd9f5d607c74d5e2b9e6296eff0507d9969c6dfcb10beb5fd4ab5c - Sigstore transparency entry: 2181588275
- Sigstore integration time:
-
Permalink:
cheney369/Devora@03a209e3e4a303514e355d44aba37f16c6a56f6f -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/cheney369
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03a209e3e4a303514e355d44aba37f16c6a56f6f -
Trigger Event:
release
-
Statement type:
File details
Details for the file devora_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: devora_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 45.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c956808f751679efa83e86efbd056f7e4f5c6771d4c113d7374e235a509ff79
|
|
| MD5 |
a1b011f7a79c9477abef4ed9619edf44
|
|
| BLAKE2b-256 |
c91ec41fcf08933d3033aa0f7a95a7e10c75eaed65d2cf682f6e4ff50f1d0ff0
|
Provenance
The following attestation bundles were made for devora_cli-0.3.0-py3-none-any.whl:
Publisher:
release.yml on cheney369/Devora
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devora_cli-0.3.0-py3-none-any.whl -
Subject digest:
5c956808f751679efa83e86efbd056f7e4f5c6771d4c113d7374e235a509ff79 - Sigstore transparency entry: 2181588439
- Sigstore integration time:
-
Permalink:
cheney369/Devora@03a209e3e4a303514e355d44aba37f16c6a56f6f -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/cheney369
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@03a209e3e4a303514e355d44aba37f16c6a56f6f -
Trigger Event:
release
-
Statement type: