Ortus (Latin: "rising, origin, birth") — the point from which something springs into being.
An opinionated Copier template for scaffolding new projects with AI-assisted development workflows.
# Install Copier
uv tool install copier --with copier-template-extensions
# or: pipx install copiercopier copy gh:who/ortus ./my-project
cd my-projectThe generator will:
- Ask you about your project (name, language, framework, etc.)
- Scaffold the project structure
- Initialize git and beads automatically
You now have a blank slate ready for development.
Run ./ortus/idea.sh to start. You'll choose between two paths:
Path A: You have a PRD
./ortus/idea.sh
# Choose [1] "Yes, I have a PRD"
# Provide the path to your PRD fileYour PRD gets decomposed into an epic with implementation tasks, ready for Ralph.
Path B: You have an idea
./ortus/idea.sh "A CLI tool that converts markdown to PDF with custom themes"
# Or run ./ortus/idea.sh and choose [2] "Nope, just an idea"Claude will:
- Expand your idea into a feature description
- Run an interactive interview to clarify requirements
- Generate a PRD document at
prd/PRD-[project-name].md - Create implementation tasks from the approved PRD
Then start the task implementation loop:
# Run until all tasks complete
./ortus/ralph.sh
# Complete exactly 1 task then exit
./ortus/ralph.sh --tasks 1
# Run in background
./ortus/ralph.sh &Ralph implements tasks:
- Find the next ready task (
bd ready) - Claim and implement it
- Run verification (tests, linting)
- Commit and push changes
- Mark the task complete
my-project/
├── .beads/ # Issue tracking database
├── .claude/ # Claude Code permissions
├── .github/workflows/ # CI pipeline
├── prd/
│ └── PRD-PROMPT.md # PRD generation template
├── ortus/ # Ortus automation scripts
│ ├── idea.sh # PRD intake or idea → interview → tasks
│ ├── interview.sh # Interactive interview → PRD → task creation
│ ├── ralph.sh # Task implementation loop
│ └── tail.sh # Log file watcher
├── src/ # Your code goes here
├── CLAUDE.md # AI guidance
└── prompt.md # Ralph loop instructions
All implementation work MUST go through Ralph loops.
- Direct coding is not allowed in interactive Claude sessions
- Create beads issues instead of implementing directly
- Ralph loops execute the actual work
- Research and planning are allowed without Ralph
Install these tools before using generated projects:
| Tool | Purpose |
|---|---|
| copier | Project generator |
| beads | Issue tracking |
| claude | Claude CLI |
| jq | JSON processing |
| rg | Fast search (ripgrep) |
| fd | Fast file finder |
- Python: uv, ruff
- TypeScript: Node.js 20+, npm/pnpm/yarn/bun
- Go: Go 1.22+, golangci-lint
- Rust: rustup, clippy, rustfmt
MIT