Contributing Guide
Welcome to the Antimatter project! Antimatter is a community-driven, open-source project and we warmly welcome contributions of all kinds β bug fixes, features, documentation, and adapter integrations.
Repository Layout
Antimatter is a monorepo with independent sub-projects:
antimatter/βββ core/ # antimatter-core Gateway (Python)βββ adapters/β βββ ag/ # Antigravity IDE adapter (TypeScript)β βββ ag2/ # Antigravity 2.0 adapter (Python)β βββ cc/ # Claude Code adapter (Node.js)βββ android/ # Android companion app (Kotlin/Compose)βββ ios/ # iOS companion app (Swift/SwiftUI)βββ docs-site/ # Documentation site (Astro/Starlight)βββ reports/ # Audit reports and security analysisPrerequisites
| Tool | Version | Purpose |
|---|---|---|
| Python | 3.11+ | Gateway + ag2 adapter |
| Node.js | 22+ | ag, cc adapters + docs site |
| uv | Latest | Python package management |
| Android Studio | Koala or newer | Android app development |
| Xcode | 16+ | iOS app development (macOS only) |
| Java | 17+ | Android build toolchain |
Setting Up the Gateway (core/)
cd core/uv sync # Install dependenciesuv run antimatter-gateway start # Run in dev modeGateway Dev Commands
| Command | Purpose |
|---|---|
uv run antimatter-gateway start | Start gateway |
uv run antimatter-gateway pair | Generate pairing QR |
uv run antimatter-gateway status | Check status |
uv run pytest | Run tests |
uv run ruff check . | Lint |
uv run mypy . | Type check |
Setting Up Adapters
AG Adapter (TypeScript)
cd adapters/ag/npm installnpm run watch # esbuild watcher# Press F5 in VS Code to launch Extension Development Host| Command | Purpose |
|---|---|
npm run lint | TypeScript type-check (tsc --noEmit) |
npm run build | Production bundle |
npm run package | Package .vsix |
AG2 Adapter (Python)
cd adapters/ag2/uv syncuv run antimatter-ag2 # Dev modeCC Adapter (Node.js)
cd adapters/cc/npm installnpm run dev # Watch modeSetting Up the Android App
- Open the
android/directory in Android Studio Koala or newer. - Wait for Gradle sync to complete.
- Select the
apprun configuration. - Run on a connected device or emulator (API 26+).
Android Commands
cd android/
# Lint./gradlew lintDebug
# Unit tests./gradlew testDebugUnitTest
# Build debug APK./gradlew assembleDebug
# Install on connected device./gradlew installDebugSetting Up the iOS App
cd ios/open AntimatterApp.xcworkspace # Xcode 16+# βR to build and runSPM packages are resolved automatically by Xcode.
Working on the Documentation
The docs site is an Astro/Starlight project in docs-site/:
cd docs-site/npm installnpm run dev # Live preview at http://localhost:4321npm run build # Production buildnpm run preview # Preview production buildDocumentation pages are in src/content/docs/ as .mdx files. Navigation is defined in astro.config.mjs.
Submitting a Pull Request
- Fork the repository and clone your fork.
- Create a feature branch from
main:Terminal window git checkout -b feat/my-feature - Make your changes and ensure:
- Android:
./gradlew lintDebugpasses with no new errors. - TypeScript adapters:
npm run lintpasses. - Python:
ruff check .andmypy .pass.
- Android:
- Write a clear PR description explaining what changed and why.
- Open the pull request against
main.
Code Style
| Component | Tool | Config |
|---|---|---|
| TypeScript | ESLint + Prettier | adapters/ag/.eslintrc.js |
| Python | Ruff + Mypy | core/pyproject.toml |
| Kotlin | Ktlint | android/ (enforced by Gradle plugin) |
| Swift | SwiftFormat | ios/.swiftformat |
Please configure your IDE to respect these rules. PRs that fail linting will not be merged.
Code of Conduct
All contributors are expected to follow our Code of Conduct. Be respectful, inclusive, and constructive.
Getting Help
- Open an issue on GitHub for bugs or feature requests.
- Start a Discussion for architecture questions or ideas.
- Security vulnerabilities β use GitHubβs private vulnerability reporting.