Contributing
How to contribute to RA-OS
Contributing to RA-OS
RA-OS is open source and welcomes contributions. Whether you're fixing bugs, adding features, or improving documentation, we appreciate your help.
Getting Started
1. Fork the Repository
Click the "Fork" button on GitHub to create your own copy.
2. Clone Your Fork
git clone https://github.com/YOUR-USERNAME/ra-h_os.git
cd ra-h_os
3. Set Up Development Environment
npm install
cp .env.example .env.local
# Add your API keys to .env.local
npm run dev
4. Create a Branch
git checkout -b feature/your-feature-name
Project Structure
ra-h_os/
├── app/ # Next.js App Router pages and API routes
├── src/
│ ├── components/ # React UI components
│ ├── services/ # Database, embedding, backend logic
│ ├── tools/ # AI agent tools
│ ├── config/ # Prompts, guides, runtime config
│ └── types/ # TypeScript type definitions
├── apps/
│ └── mcp-server/ # MCP server (HTTP + STDIO)
└── docs/ # Internal documentation
Key Technologies
- Next.js 15 — App Router, React Server Components
- TypeScript — Strict mode enabled
- Tailwind CSS — Utility-first styling
- SQLite + sqlite-vec — Local database with vector search
- AI SDK — Vercel's AI SDK for LLM integration
Code Style
- Use TypeScript strict mode
- Follow the existing code patterns
- Use meaningful variable and function names
- Add comments for complex logic
Making Changes
Bug Fixes
- Create an issue describing the bug
- Reference the issue in your PR
- Include steps to reproduce
- Add tests if applicable
New Features
- Open an issue to discuss the feature first
- Get feedback before implementing
- Keep changes focused and minimal
- Update documentation as needed
Documentation
Documentation improvements are always welcome:
- Fix typos and clarify confusing sections
- Add examples and use cases
- Improve code comments
Submitting a Pull Request
1. Commit Your Changes
git add .
git commit -m "feat: add new feature description"
Follow Conventional Commits:
feat:— New featurefix:— Bug fixdocs:— Documentation onlyrefactor:— Code change that neither fixes a bug nor adds a featuretest:— Adding or updating tests
2. Push to Your Fork
git push origin feature/your-feature-name
3. Open a Pull Request
Go to the original repository and click "New Pull Request". Select your branch and describe your changes.
PR Checklist
- Code follows existing style
- TypeScript types are correct (
npm run type-check) - Changes are documented
- PR description explains the change
- Related issues are linked
Getting Help
- GitHub Issues — For bugs and feature requests
- Discord — For questions and discussion: discord.gg/3cpQj6Jtc9
- Twitter — @rahapp_
License
RA-OS is MIT licensed. By contributing, you agree that your contributions will be licensed under the same license.