Quickstart: Your First Project in 5 Minutes¶
This tutorial walks you through creating a research project, running an interactive session, and launching overnight mode.
Step 1: Install¶
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Clone and install research-automation
git clone https://github.com/lucafusarbassini/research-automation
cd research-automation
pip install -e .
# Authenticate with Claude subscription (Pro or Team required, no API key needed)
claude auth login
Step 2: Create a Project¶
The ricet init wizard runs through several automated and interactive steps:
Step 0: Package Check¶
The CLI verifies that required Python packages (typer, rich, pyyaml, python-dotenv) are installed, auto-installing any that are missing.
Step 1: System Detection¶
The wizard auto-detects your system capabilities:
Step 1: Detecting system...
OS: Linux 6.8.0-52-generic
Python: 3.11.10
CPU: x86_64
RAM: 32 GB
GPU: NVIDIA RTX 4090
Compute: local-gpu (auto-detected)
Docker: Available
Conda: Available
GPU availability and compute type are inferred automatically -- you do not need to specify them manually.
Step 2: Claude-Flow Setup¶
The wizard checks for and installs claude-flow (optional orchestration layer) and verifies Claude CLI authentication:
Step 2: Setting up claude-flow...
claude-flow is ready
Step 2b: Checking Claude authentication...
Claude CLI available
Step 3: Interactive Questionnaire¶
The streamlined questionnaire asks for:
- Notification method --
email,slack, ornone. - Target journal or conference -- e.g.
Nature Machine Intelligenceorskip. - Web dashboard -- whether you want a project website (
yes/no). - Mobile access -- whether you want mobile phone control (
yes/no).
Note
The project goal is not entered as a one-liner during init. Instead, you write a detailed description in knowledge/GOAL.md after the project is created. The wizard prompts you to do this.
Step 3b: API Credentials¶
The wizard walks you through optional API credentials one by one, grouped by category (core, ML, publishing, cloud, integrations). Each credential shows where to get it and whether it is free or paid. Press Enter to skip any credential you do not have yet.
Step 3b: API credentials
Press Enter to skip any credential you don't have yet.
--- Essential credentials (Enter to skip any) ---
Anthropic API key [PAID, skip unless you need direct API access] (ANTHROPIC_API_KEY):
GitHub PAT [FREE] (GITHUB_PERSONAL_ACCESS_TOKEN):
...
All credentials are stored in secrets/.env (gitignored) and a secrets/.env.example template is generated for reference.
Step 4: Project Creation¶
The wizard copies templates, creates workspace directories, writes settings, and optionally creates a conda/mamba environment with packages inferred from your goal description.
Step 5: GitHub Repository¶
Optionally creates a private GitHub repository using the gh CLI, sets the remote, and configures repo description and topics from GOAL.md.
Step 6: Git Initialization¶
Initializes git, commits the scaffolded project, and registers it in the global project registry (~/.ricet/projects.json).
Result¶
The command creates a fully scaffolded project directory:
my-first-project/
├── .claude/
│ ├── CLAUDE.md # Agent instructions
│ ├── agents/ # 7 specialized agent prompts
│ ├── skills/ # Paper writing, figure making, code style
│ └── hooks/ # Pre-task, post-task, on-error hooks
├── knowledge/
│ ├── GOAL.md # Your project goal (EDIT THIS)
│ ├── ENCYCLOPEDIA.md # Auto-growing knowledge base
│ └── CONSTRAINTS.md # Boundaries and rules
├── paper/
│ ├── main.tex # LaTeX template
│ ├── references.bib # Bibliography
│ └── Makefile # Build automation
├── config/
│ └── settings.yml # Project settings
├── reference/
│ ├── papers/ # Background papers (PDF, etc.)
│ └── code/ # Reference code, scripts, notebooks
├── uploads/
│ ├── data/ # Datasets (large files auto-gitignored)
│ └── personal/ # Your papers, CV, writing samples
├── secrets/
│ ├── .env # API keys (never committed)
│ └── .env.example # Template showing all variables
├── state/
│ ├── sessions/ # Session logs
│ ├── TODO.md # Goal-aware task list
│ └── PROGRESS.md # Progress tracking
└── environment.yml # Conda environment spec
Step 3: Edit GOAL.md¶
Before starting your first session, write a detailed project description:
Write at least 200 characters of real content describing your research question, methodology, expected outcomes, and constraints. ricet start enforces this minimum and will open your editor if the file is insufficient.
Tip
The more detailed your GOAL.md, the better Claude performs. Include your research question, methodology, expected outcomes, datasets, and constraints. One full page is ideal.
Step 4: Start an Interactive Session¶
This creates a tracked session and launches Claude Code. On start, the system:
- Syncs with remote (
git pull --rebase) for collaborative workflows. - Validates that
knowledge/GOAL.mdhas sufficient content. - Infers and installs Python packages based on your goal description.
- Starts the mobile server if enabled in settings.
- Re-indexes linked repositories for cross-repo RAG.
- Suggests next research steps based on your goal and progress.
- Launches Claude Code with a tracked session UUID.
The agent system follows the Progressive Instruction Protocol:
- Orient -- Reads GOAL.md, CONSTRAINTS.md, and TODO.md to understand context.
- Explore -- Examines relevant code and data, builds a mental model.
- Plan -- Breaks the goal into subtasks with difficulty estimates.
- Execute -- Works through subtasks one at a time, checkpointing after each.
- Validate -- Runs falsifier checks and documents learnings.
Try giving it a task:
The Master agent routes this to the Researcher agent, which uses paper-search MCPs to find and synthesize literature.
Step 5: Check Status¶
Open a new terminal:
This displays the current TODO list and progress log.
Step 6: Run Overnight Mode¶
For longer tasks, use overnight mode:
This runs Claude in an autonomous loop:
- Reads the TODO list
- Executes tasks one by one
- Auto-commits after each subtask
- Monitors resources and checkpoints progress
- Runs the falsifier agent after every iteration
- Stops when all tasks are done or the iteration limit is reached
For Docker-sandboxed execution:
Check results in the morning:
Step 7: Build Your Paper¶
Once you have results:
The paper pipeline provides:
- Publication-quality figure generation with colorblind-safe palettes
- Automatic citation management via BibTeX
- One-command PDF compilation
Step 8: View the Dashboard¶
For a richer view of your project:
The TUI dashboard shows:
- Active agents and their status
- Token budget usage
- Resource utilization (CPU, RAM, GPU)
- Recent progress entries
Step 9: Mobile Access¶
If you enabled mobile access during init, the server starts automatically with ricet start. You can also manage it manually:
# Start the mobile HTTPS server
ricet mobile serve
# Pair your phone (generates token + QR code)
ricet mobile pair
# View connection methods
ricet mobile connect-info
Open the generated URL on your phone to access the PWA dashboard with task submission, voice commands, and project monitoring. See Mobile Access for the full guide.
What Happens Under the Hood¶
When you run ricet start, the system:
- Creates a session record in
state/sessions/. - Loads tier-1 MCPs (paper search, git, GitHub, filesystem, memory).
- Activates agent prompts from
.claude/agents/. - Starts the pre-task hook to log the session and load knowledge.
- Routes your request through the Master agent to the appropriate specialist.
- After each task, the post-task hook auto-commits and updates progress.
Token usage is tracked throughout. At 50%, 75%, and 90% of the session budget, you get warnings. When budget is low, the model router automatically switches to cheaper models.
Alternative: Adopt an Existing Repository¶
Already have a repo? Use ricet adopt instead of ricet init:
# Fork a GitHub repo and scaffold it as a ricet project
ricet adopt https://github.com/user/existing-repo
# Or scaffold a local directory in place
ricet adopt /path/to/my-code
This overlays the ricet workspace structure without disturbing existing code, pre-fills the goal from README, and registers the project.
Step 10: Link Related Repositories¶
If you work across multiple repos, link them for cross-repository search:
# Link repos for RAG-powered search
ricet link ~/code/shared-library --name shared
ricet link ~/code/data-pipeline
# Claude can now search across all linked repos
ricet memory search "data preprocessing pipeline"
# Re-index after external changes
ricet reindex
Linked repos are read-only -- agents search them for context but only write to the current project.
Next Steps¶
- Read Features for a complete overview of all capabilities.
- Read Mobile Access for phone-based project control.
- Read Architecture to understand the module relationships.
- Read API Reference for detailed module documentation.
- Check the FAQ for common questions.