Documentation Index
Fetch the complete documentation index at: https://docs.praison.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
PraisonAI functions as a real AI code editor that can:
- Edit files on disk
- Run terminal commands (pytest, ruff, etc.)
- Observe failures and fix them
- Converge to green tests
This guide covers 10 real-world scenarios demonstrating these capabilities.
CLI Contract (January 2026)
| Command | Description | Key Flags |
|---|
praisonai chat | Terminal-native REPL | -m, -w, -f, -c, -s |
praisonai code | Terminal-native code assistant | -m, -w, -f, -c, -s |
praisonai tui | Full TUI interface | -w, -s, -m |
praisonai ui chat | Browser-based chat | --port, --host |
praisonai ui code | Browser-based code | --port, --host |
Key Flags
| Flag | Description |
|---|
-m, --model | LLM model to use (default: gpt-4o-mini) |
-w, --workspace | Working directory for file operations |
-f, --file | Attach file(s) to prompt |
-c, --continue | Continue last session |
-s, --session | Resume specific session ID |
--no-acp | Disable ACP tools |
--no-lsp | Disable LSP tools |
Auto-Approval for Automation
Set PRAISON_APPROVAL_MODE=auto to enable non-interactive tool execution:
PRAISON_APPROVAL_MODE=auto praisonai code -w . "Fix the bug"
Prerequisites
pip install praisonai praisonaiagents
export OPENAI_API_KEY=your-key-here
AI Code Editor Scenarios
1. Implement Code from Specification
Implement a function and run tests until they pass.
praisonai chat -w . -m gpt-4o-mini "Implement the celsius_to_fahrenheit function in src/converter.py. Formula: F = C * 9/5 + 32. Run pytest to verify."
What happens:
- Agent reads the existing file
- Implements the function with the formula
- Runs
pytest to verify
- If tests fail, fixes and reruns
2. Fix Division by Zero Bug
Fix a bug that causes test failures.
praisonai chat -w . -m gpt-4o-mini "Fix the divide method in calculator.py to raise ValueError('Cannot divide by zero') when b is 0. Run pytest to verify."
What happens:
- Agent reads the buggy code
- Adds the zero-check with proper error
- Runs tests to confirm the fix
- Iterates until tests pass
3. Implement Missing Function
Implement a function that’s currently a stub.
praisonai chat -w . -m gpt-4o-mini "Implement the mode function in stats.py. Mode returns the most frequent value. Run pytest -k mode to verify."
What happens:
- Agent reads the stub function
- Implements the logic using Counter or similar
- Runs targeted tests
- Fixes any edge cases
4. Fix Empty List Handling
Add proper error handling for edge cases.
praisonai chat -w . -m gpt-4o-mini "Fix mean() in stats.py to raise ValueError('Cannot calculate mean of empty list') for empty input. Run pytest -k mean."
What happens:
- Agent adds input validation
- Raises appropriate error
- Verifies with tests
5. Add CLI Command
Extend a CLI with a new command.
praisonai chat -w . -m gpt-4o-mini "Add a 'version' command to cli.py that prints __version__. Test with: python -m myapp.cli version"
What happens:
- Agent reads the CLI code
- Adds the version subcommand
- Runs the command to verify output
6. Fix Lint Errors
Clean up code style issues.
praisonai chat -w . -m gpt-4o-mini "Run ruff check . to find lint errors. Fix all errors. Run ruff again to verify."
What happens:
- Agent runs
ruff check .
- Reads the error output
- Fixes each issue (unused imports, whitespace, etc.)
- Reruns ruff until clean
7. Implement Temperature Conversion
Implement the reverse conversion function.
praisonai chat -w . -m gpt-4o-mini "Implement fahrenheit_to_celsius in converter.py. Formula: C = (F - 32) * 5/9. Run pytest -k fahrenheit."
What happens:
- Agent implements the function
- Runs targeted tests
- Fixes any precision issues
Handle empty list in median function.
praisonai chat -w . -m gpt-4o-mini "Fix median() in stats.py to raise ValueError('Cannot calculate median of empty list') for empty input. Run pytest -k median."
What happens:
- Agent adds the validation check
- Runs tests to verify
- Ensures existing tests still pass
9. Add Type Hints
Improve code with type annotations.
praisonai chat -w . -m gpt-4o-mini "Add type hints to all methods in calculator.py. Example: def add(self, a: float, b: float) -> float:"
What happens:
- Agent reads the file
- Adds parameter and return type hints
- Optionally runs mypy to verify
10. Make All Tests Pass
Fix all remaining issues in a project.
praisonai chat -w . -m gpt-4o-mini "Run pytest to see failing tests. Fix each one by implementing missing functions and fixing bugs. Keep going until ALL tests pass."
What happens:
- Agent runs full test suite
- Identifies all failures
- Fixes each one systematically
- Reruns until 100% pass
Key Flags
| Flag | Description |
|---|
-w, --workspace | Set working directory for file operations |
-m, --model | LLM model to use (default: gpt-4o-mini) |
-c, --continue | Continue previous session |
-f, --file | Attach file(s) to prompt |
-s, --session | Resume specific session ID |
The Closed-Loop Workflow
PraisonAI implements a closed-loop workflow similar to OpenCode:
Agent → Edit File → Run Tests → Read Output → Fix → Repeat
This means:
- The agent runs commands itself (not you)
- The agent reads test output itself
- The agent iterates until success
Tips for Best Results
- Use Workspace Flag: Always use
-w . to enable file editing
- Be Specific: Include file paths and expected behavior
- Request Verification: Ask the agent to run tests after changes
- Use Cheap Models: Start with
gpt-4o-mini for cost efficiency
- Continue Sessions: Use
--continue for multi-step tasks
Troubleshooting
Agent Not Editing Files
Ensure you’re using the workspace flag:
praisonai chat -w . "your prompt"
Tests Not Running
Make sure pytest is installed in your environment:
API Key Issues
Set your API key:
export OPENAI_API_KEY=your-key-here