Contributing¶
Contributions to Bedrud are welcome. This guide covers the process for submitting changes.
Getting Started¶
- Fork the repository
- Clone your fork
- Create a feature branch from
main - Make your changes
- Submit a pull request
Development Setup¶
See the Development Workflow for detailed setup instructions.
Project Structure¶
| Directory | Language | Description |
|---|---|---|
server/ |
Go | Backend API and embedded services |
apps/web/ |
TypeScript/Svelte | Web frontend |
apps/android/ |
Kotlin | Android app |
apps/ios/ |
Swift | iOS app |
agents/ |
Python | Bot agents |
tools/cli/ |
Python | Deployment CLI |
docs/ |
Markdown | Documentation |
Code Style¶
| Language | Standard |
|---|---|
| Go | gofmt |
| TypeScript/Svelte | Prettier |
| Kotlin | Android Studio defaults |
| Swift | Xcode defaults |
Pull Request Process¶
- Branch naming:
feature/description,fix/description, ordocs/description - Commit messages: Use conventional commits format (e.g.,
feat:,fix:,docs:) - CI checks: All GitHub Actions checks must pass
- Description: Include what changed and why
CI Checks¶
Every PR runs these checks automatically:
| Check | What it validates |
|---|---|
| Server | go vet, build, tests |
| Web | TypeScript type check, build |
| Android | Lint, unit tests |
| iOS | Build, test (simulator) |
Reporting Issues¶
File issues on GitHub Issues with:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, browser, app version)
Documentation¶
Documentation lives in docs/ and is built with MkDocs Material.
Local Preview¶
Then open http://localhost:8000.
Structure¶
Documentation pages are organized by topic. The navigation is defined in mkdocs.yml at the project root.
License¶
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.