Devora
Devora is a project-aware workflow for AI coding agents. It adds a consistent engineering process to an existing repository, helping agents plan changes, implement them, verify the result, and prepare a clear delivery record.
Devora works with the coding agent you already use. It installs native commands and project-level workflow files without introducing a separate model runtime.
Why Devora
- Consistent delivery — guide each change through Design, Build, and Review.
- Project awareness — work from the repository's code, documentation, and engineering conventions.
- Role-specific guidance — support frontend, backend, and full-stack development.
- Traceable changes — keep plans, tasks, progress, review results, and handoff information together.
- Team customization — apply reusable rules and skills at company, project, and personal scopes.
- Agent portability — use the same workflow across supported coding-agent integrations.
Getting started
1. Install Devora
Devora requires Python 3.11 or later. Install the CLI with uv:
uv tool install devora-cli
Confirm the installation:
devora --version
2. Initialize a project
Run devora init from the repository you want to use:
cd /path/to/project
devora init . --integration codex --role frontend --language en
Choose the integration that matches your coding agent and the role that matches the repository. Initialization adds Devora's workflow files; it does not modify application code.
3. Start your first change
Open the project with your coding agent and invoke Devora with a clear objective and any relevant sources:
$devora
Implement order cancellation.
Reference material:
- ./requirements/order-cancel/
- ./docs/order-api.md
- https://www.figma.com/design/...
Devora accepts direct descriptions as well as references to project files, directories, specifications, API documents, issue links, and UI designs.
For integrations that use slash commands, invoke /devora instead of $devora.
4. Review the delivery record
Workflow artifacts are stored in a named change directory:
.devora/changes/order-cancel/
├── design.md
├── tasks.md
├── summary.md
├── review.md
└── handoff/
Use summary.md to follow progress, review.md for the final review result, and handoff/ for integration and delivery information.
Workflow
Design → Build → Review → Human approval
| Stage | Purpose | Main outputs |
|---|---|---|
| Design | Understand the requested change and define an implementation approach | design.md, tasks.md, summary.md |
| Build | Implement tasks and run the required engineering validation | Source changes, validation results, handoff material |
| Review | Check the implementation against the design and delivery requirements | review.md, updated summary.md |
The main entry point resumes the appropriate stage from the current project state. Advanced users can invoke a stage directly:
| Stage | Codex | Slash-command integrations |
|---|---|---|
| Full workflow | $devora |
/devora |
| Design | $devora-design |
/devora-design |
| Build | $devora-build |
/devora-build |
| Review | $devora-review |
/devora-review |
Development roles
Select one role for each initialized repository:
| Role | Recommended for | Primary focus |
|---|---|---|
frontend |
Web and client applications | UI behavior, components, application states, API integration, and visual validation |
backend |
Services and server applications | Business logic, contracts, data, authorization, reliability, and integration validation |
full-stack |
Combined applications or end-to-end ownership | Coordinated frontend and backend delivery |
Manage the active role with the CLI:
devora role list
devora role current .
devora role use backend .
Customization
Devora loads Markdown rules and agent skills from three scopes:
| Scope | Location | Typical use |
|---|---|---|
| Company | ~/.config/devora/company/ |
Organization-wide engineering standards |
| Project | <project>/.devora/custom/ |
Repository-specific conventions and workflows |
| Personal | ~/.config/devora/personal/ |
Individual preferences and reusable skills |
Each scope can contain:
rules/ Markdown guidance files
skills/<name>/SKILL.md Agent skills
Personal configuration can also include preferences.md.
Supported integrations
| Coding agent | Integration name | Main entry point |
|---|---|---|
| Codex | codex |
$devora |
| Claude Code | claude |
/devora |
| OpenCode | opencode |
/devora |
| Cursor | cursor |
/devora |
| Generic Markdown agent | generic |
/devora |
List, switch, or upgrade integrations:
devora integrations
devora integration use claude .
devora integration upgrade .
Run devora <command> --help for the complete CLI reference.
Development
uv sync --extra test
uv run pytest
uvx ruff format --check src tests scripts/python scripts/ci
uvx ruff check src tests scripts/python scripts/ci
Additional documentation:
Project status
Devora is currently in alpha. Interfaces and generated workflow files may evolve before a stable release.
License
Devora is licensed under the Apache License 2.0.
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-1.0.0.tar.gz.
File metadata
- Download URL: devora_cli-1.0.0.tar.gz
- Upload date:
- Size: 860.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1edfe82304c9e994aaba0b44099d4c97ef228ef92f8f46d386f550047a689f8
|
|
| MD5 |
a89d7c77fb8e15f1f7c114c957a71630
|
|
| BLAKE2b-256 |
5a8ad01d29dc04564c9dc422b5639dc7dfe318c8a1f363b3b2426baa0532d532
|
Provenance
The following attestation bundles were made for devora_cli-1.0.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-1.0.0.tar.gz -
Subject digest:
a1edfe82304c9e994aaba0b44099d4c97ef228ef92f8f46d386f550047a689f8 - Sigstore transparency entry: 2365203619
- Sigstore integration time:
-
Permalink:
cheney369/Devora@cf5c133acf2da195f9b64e0b5711cff2c158801d -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/cheney369
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf5c133acf2da195f9b64e0b5711cff2c158801d -
Trigger Event:
release
-
Statement type:
File details
Details for the file devora_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: devora_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 35.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5debf7e017fe482d08903bdf3c35fdfc22c39c601326ed61c787a5cefcbbe65a
|
|
| MD5 |
413c49c288d9247eee095c6da65368c2
|
|
| BLAKE2b-256 |
9bd1c5e7fdaf6fc005e4fae36c208d0f94a735b93585f9f06b46c35c350de832
|
Provenance
The following attestation bundles were made for devora_cli-1.0.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-1.0.0-py3-none-any.whl -
Subject digest:
5debf7e017fe482d08903bdf3c35fdfc22c39c601326ed61c787a5cefcbbe65a - Sigstore transparency entry: 2365203708
- Sigstore integration time:
-
Permalink:
cheney369/Devora@cf5c133acf2da195f9b64e0b5711cff2c158801d -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/cheney369
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf5c133acf2da195f9b64e0b5711cff2c158801d -
Trigger Event:
release
-
Statement type: