Praxis
Build with AI. Develop taste.
A plugin for developing engineering taste while coding with AI.
Codex · Cursor · CodeBuddy · DeepSeek Harness
English · 简体中文
---
## Philosophy
**AI makes implementation cheap. Taste is still earned.**
Fast output is not the same as good engineering. If AI makes every meaningful choice before you understand it, you may ship faster today without getting better at choosing tomorrow.
Praxis extends the coding agent you already use. Routine work stays fast. When a decision can shape the system, Praxis slows down just enough to expose the reasoning, alternatives, tradeoffs, and consequences.
That attention compounds. The more good decisions you understand, the faster you can recognize them yourself.
**Slower at the right moment is faster over time.**
## What using Praxis feels like
Without Praxis:
```text
You Add persistent chat history.
Agent I’ll use the database as the source of truth
and Redis as a cache.
✓ Implemented
```
With Praxis:
```text
You Add persistent chat history.
Agent I’ll use the database as the source of truth
and Redis as a cache.
This choice matters:
history is durable product state, so a Redis restart
should not erase it.
The tradeoff is an extra durable write path,
but Redis stays disposable.
You I don't know what "source of truth" means.
Agent It means the database owns the canonical history.
Redis can make access faster, but losing Redis
should not lose messages.
You Got it.
Agent ✓ Implemented
✓ Verified: history survived a Redis restart.
```
Praxis keeps the learning inside the same workflow, so the decision becomes part of your own taste instead of disappearing into the implementation.
## What Praxis helps you build
Engineering taste is the ability to recognize better choices earlier.
It grows by connecting decisions to consequences:
```text
compare
→ choose
→ implement
→ observe
→ internalize
→ choose better next time
```
Praxis does not try to slow down the whole task. It spends attention where understanding compounds, so future decisions become faster, better, and more independent.
## Install
Requires Python 3.10+.
Install Praxis:
```bash
python3 -m pip install --user 'git+https://github.com/Civitasv/praxis.git'
```
On Windows, replace `python3` with `py`.
Then add Praxis to the coding agent you use.
Codex
```bash
codex plugin marketplace add Civitasv/praxis
codex plugin add praxis@praxis
```
Enable it in the project:
```text
$praxis:praxis-enable
```
Cursor
```bash
mkdir -p ~/.cursor/plugins/local
git clone --depth 1 https://github.com/Civitasv/praxis.git ~/.cursor/plugins/local/praxis
```
Restart Cursor, then run:
```text
/praxis enable
```
DeepSeek Harness / Cordis
Replace `web` with your profile name.
```bash
dsh plugin --profile web add github:Civitasv/praxis
dsh --profile web
```
Then run:
```text
/praxis enable
```
CodeBuddy
```bash
codebuddy plugin marketplace add Civitasv/praxis --name praxis && codebuddy plugin install praxis@praxis
```
Then run:
```text
/praxis:enable
```
Once enabled, work normally. Praxis only slows down decisions worth learning from.
## Commands
| Agent | Enable | Disable | Status |
| --- | --- | --- | --- |
| Cursor | `/praxis enable` | `/praxis disable` | `/praxis status` |
| DeepSeek Harness | `/praxis enable` | `/praxis disable` | `/praxis status` |
| CodeBuddy | `/praxis:enable` | `/praxis:disable` | `/praxis:status` |
| Codex | `$praxis:praxis-enable` | `$praxis:praxis-disable` | `$praxis:praxis-status` |
## Update Praxis
Update Praxis:
```bash
python3 -m pip install --user --upgrade 'git+https://github.com/Civitasv/praxis.git'
```
Then refresh the integration you use.
Codex
```bash
codex plugin marketplace upgrade praxis
codex plugin add praxis@praxis
```
Open a new chat.
Cursor
```bash
git -C ~/.cursor/plugins/local/praxis pull --ff-only
```
Restart Cursor.
DeepSeek Harness / Cordis
```bash
dsh plugin --profile web update praxis
dsh --profile web
```
CodeBuddy
```bash
codebuddy plugin marketplace update praxis && codebuddy plugin update praxis@praxis
```
Then reload plugins:
```text
/reload-plugins
```
## Status
Praxis is currently **alpha**.
Current integrations: Codex, Cursor, CodeBuddy, and DeepSeek Harness / Cordis. Distribution is currently source-based.
## License
Praxis is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0-only)**.
You may use, modify, and redistribute Praxis under the terms of the AGPL. Its copyleft requirements include source-availability obligations for covered modifications, including when a modified version is offered for use over a network. See [LICENSE](LICENSE) for the full terms.
## Documentation
Implementation details live under `Docs/`:
- [Architecture overview](Docs/Architecture/Overview.md)
- [Tutor model](Docs/Architecture/Tutor%20Model.md)
- [Harness integrations](Docs/Architecture/Harness%20Integration.md)
- [Feature specifications](Docs/Specs/)
- [Development and validation](Docs/Development/Validation.md)
Contributors should start with [Code.md](Code.md) and [State.md](State.md).