Code of Conduct
Be respectful, constructive, and collaborative. We’re all here to build great software together.Getting Started
Before you start coding, familiarize yourself with:- Architecture - Read Architecture Deep Dive to understand the system design
- Building - Follow Building from Source to set up your environment
- Testing - Learn Testing to run and write tests
Code Formatting (Required)
Run these commands before every commit. CI will reject PRs that fail formatting checks.Commit Message Standard
Use the Conventional Commits format for both commit messages and PR titles:Rules
- Use lowercase
typeand summary text - Keep summaries concise and do not end with a period
- Use
!only for breaking changes (explain in commit body or PR description) - For PR titles, choose the primary change type
Common Types
| Type | When to Use |
|---|---|
feat | New features |
fix | Bug fixes |
docs | Documentation changes |
chore | Maintenance tasks |
refactor | Code restructuring |
test | Test additions or fixes |
ci | CI/CD changes |
build | Build system changes |
perf | Performance improvements |
revert | Reverting previous changes |
Examples
Development Workflow
1. Fork and Clone
2. Create a Branch
3. Make Changes
Write your code, following the project’s patterns and conventions. See Building from Source for development commands.4. Test Your Changes
Run both unit tests and E2E tests:5. Format and Lint
6. Commit
7. Push and Open PR
- A clear title following Conventional Commits format
- A description explaining what and why
- Screenshots/videos for UI changes
- References to related issues
Project Structure
Key Components
| Component | Description |
|---|---|
nteract | Desktop notebook editor (Tauri + React) |
runtimed | Background daemon managing environments, sync, kernel execution |
runt | CLI for managing kernels, notebooks, daemon |
sidecar | Viewer for Jupyter kernel outputs |
runtimed (PyPI) | Python bindings for the daemon |
Common Tasks
Adding a New Feature
Plan the feature
Consider architecture, user experience, and backward compatibility. Discuss in an issue first for large changes.
Write tests first
Consider writing tests before implementation (TDD). This helps clarify requirements.
Fixing a Bug
Reproduce the bug
Write a test that demonstrates the bug. This ensures the fix works and prevents future regressions.
Refactoring
Git Worktrees (Advanced)
If you’re working on multiple features or testing across branches, use git worktrees:Workspace Description
Set a description to identify worktrees in the debug banner:Environment Variables (Conductor Workspaces)
When working in a Conductor workspace, these are set automatically: | Variable | Purpose | |----------|---------|| |CONDUCTOR_WORKSPACE_PATH | Enables dev mode; daemon state isolated to ~/.cache/runt/worktrees/{hash}/ |
| CONDUCTOR_WORKSPACE_NAME | Human-readable workspace name for display |
| CONDUCTOR_PORT | Vite dev server port (avoids conflicts) |
| CONDUCTOR_DEFAULT_BRANCH | Target branch for PRs (usually main) |
Getting Help
- Issues - Search existing issues or open a new one
- Discussions - Ask questions in GitHub Discussions
- Code - Read the source! The codebase is well-documented
Review Process
- Automated checks - CI runs tests, formatting, linting
- Code review - Maintainers review for quality, design, tests
- Iteration - Address feedback, make changes
- Merge - Maintainer merges when approved
Be patient during review. Maintainers are volunteers and may take time to respond.