Soul Kernel Developer Onboarding
Welcome to the Soul Kernel project! This guide will help you get started with contributing to the Companion Intelligence Core.🎯 Project Overview
Soul Kernel is a portable, open-core platform that embeds identity, memory, personality, and proactivity into any surface—mobile, AR/VR, or physical robots. Think of it as the “Unity for AI companions” or “ROS for emotional intelligence.”Key Concepts
- Soul: An AI companion with persistent identity and memory
- Digital Twin: A Soul that maintains consistent identity across multiple devices
- Kernel: The core runtime that manages Soul lifecycle
- Skills: Plugin capabilities (vision, voice, actuators)
- Shells: Platform-specific hosts (iOS, Unity, Physical AI)
🚀 Quick Start
Prerequisites
-
Rust 1.79+ - Our core runtime language
- Git - For version control
- GitHub Account - For contributing
First Steps
-
Clone the repository
-
Build and test
- Read the architecture
📚 Learning Path
Week 1: Foundations
- Complete Rust basics (if new to Rust)
- Run the Soul Kernel locally
- Read through the codebase structure
- Understand the Skill ABI concept
Week 2: Deep Dive
- Implement a simple Skill
- Explore the memory graph design
- Review the gRPC API surface
- Join our Discord community
Week 3: Contributing
- Pick a “good first issue”
- Submit your first PR
- Participate in code reviews
- Update documentation
🏗️ Development Workflow
1. Agile Process
We follow an Agile workflow with:- Epics: Large features (one active at a time)
- Stories: Implementable units with clear acceptance criteria
- Tasks: Technical steps within stories
2. Code Standards
- Use
cargo fmtbefore committing - Run
cargo clippyfor linting - Write tests for new functionality
- Keep binary size minimal
3. Git Workflow
🛠️ Development Environment
Recommended Tools
- IDE: VS Code with rust-analyzer or IntelliJ IDEA with Rust plugin
- Debugging: lldb or gdb with Rust support
- Profiling: cargo-flamegraph for performance analysis
VS Code Setup
🤝 Getting Help
- Discord: Join #soul-kernel-dev channel
- GitHub Discussions: For design questions
- Issue Tracker: For bugs and features
- Weekly Office Hours: Thursdays 2pm PT
📖 Key Resources
- Rust Book - Learn Rust
- gRPC Documentation - For API work
- Skill Development Guide - Create Skills
- Memory Graph Design - Core concept
🎉 Your First Contribution
- Look for issues labeled
good-first-issue - Comment on the issue to claim it
- Fork the repository
- Create a branch from
main - Make your changes with tests
- Submit a PR referencing the issue