Thank you for your interest in contributing to AIDEN!
-
Clone the repository
git clone https://gitlab.acreetionos.org/natalie/aiden.git cd aidenaiden -
Install prerequisites
# Install Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Install Ollama curl -fsSL https://ollama.com/install.sh | sh # Pull required models ollama pull llama3.2:1b ollama pull nomic-embed-text # Start Qdrant docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
-
Build and run
cargo build --debug ./target/debug/aiden
aiden/
├── src/
│ ├── main.rs # Application entry point
│ ├── handlers.rs # HTTP/WebSocket request handlers
│ ├── state.rs # Configuration and application state
│ ├── state/
│ │ └── message.rs # Chat message data structures
│ └── services/
│ ├── mod.rs # Service module exports
│ ├── ollama.rs # Ollama API client
│ ├── qdrant.rs # Qdrant vector DB client
│ ├── rag.rs # RAG pipeline orchestrator
│ └── indexer.rs # Documentation indexer
├── src/frontend/
│ └── index.html # Web interface
└── docs/ # Documentation markdown files
- Run
cargo fmtbefore committing - Follow Rust idioms and conventions
- Use meaningful variable and function names
- Add comments for complex logic
cargo test
cargo clippyFormat: <type>: <description>
Types:
feat: New featurefix: Bug fixdocs: Documentation changesrefactor: Code refactoringstyle: Formatting changestest: Adding testschore: Maintenance tasks
Example:
feat: add WebSocket streaming support
fix: handle Qdrant connection errors gracefully
docs: update API documentation
main: Stable release branchdevelop: Development branch- Feature branches:
feature/<feature-name> - Bugfix branches:
fix/<bug-description>
- Create a feature branch from
develop - Make your changes
- Run tests and linting
- Submit a pull request
- Request review from maintainers
- Squash and merge after approval
- Open an issue on GitLab/GitHub
- Contact: natalie@acreetionos.org