Contributing to Aether
Author
First off, thank you for considering contributing to Aether! ๐
This project is in its early stages, and every contribution matters โ whether it's code, documentation, ideas, or bug reports.
How to contribute
Reporting bugs
Open an issue with:
- A clear title
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Node.js version)
Suggesting features
Open an issue with the enhancement label. Describe:
- What problem it solves
- How you imagine it working
- Any alternatives you considered
Submitting code
- Fork the repository
- Create a branch from
main:git checkout -b feat/your-feature - Make your changes
- Run the build:
npm run build - Run type checking:
npm run typecheck - Commit with a clear message (see below)
- Push and open a Pull Request
Branch naming
| Prefix | Use |
|---|---|
feat/ | New features |
fix/ | Bug fixes |
docs/ | Documentation only |
refactor/ | Code changes that don't fix bugs or add features |
test/ | Adding or updating tests |
Commit messages
Use clear, descriptive commit messages:
feat: add dependency detection for Python projects
fix: handle empty directories in scanner
docs: update roadmap with new commands
refactor: extract technology detection into separate module
Project structure
aether/
โโโ src/
โ โโโ cli/ โ CLI entry point, flags, startup
โ โโโ commands/ โ Slash commands (/genesis, /sync, /config, /help, ...)
โ โโโ config/ โ AetherConfig type, load/save/validate, provider detection
โ โโโ genesis/ โ Project scanner + AI planner that decides which docs to generate
โ โโโ prompts/ โ All LLM prompt text, kept out of the generation logic
โ โโโ providers/ โ LLMProvider interface + OpenAI-compatible implementation
โ โโโ ui/ โ Terminal UI (prompt loop, animation, step runner)
โโโ package.json
โโโ tsconfig.json
โโโ README.md
Development setup
# Clone your fork
git clone https://github.com/YOUR_USERNAME/aether.git
cd aether
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Type check without emitting
npm run typecheck
Guidelines
- Write TypeScript, not JavaScript
- Keep functions small and focused
- Add types โ avoid
any - Follow the existing code style
- Test your changes before submitting
Code of conduct
Be respectful, be constructive, be kind. We're all here to build something great together.
Questions?
Open an issue or start a discussion. No question is too small.