38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# Contributing to ABE
|
|
|
|
Thank you for your interest in contributing to ABE!
|
|
|
|
## Development Setup
|
|
|
|
1. Fork and clone the repository
|
|
2. Install dependencies: `npm install && cd frontend && npm install`
|
|
3. Run migrations: `npm run db:migrate`
|
|
4. Start dev servers: `npm run dev` + `cd frontend && npm run dev`
|
|
|
|
## Architecture Rules
|
|
|
|
Before submitting a PR, ensure your code follows these rules:
|
|
|
|
1. **Domain layer** — No imports from `kysely`, `express`, `playwright` or any infrastructure
|
|
2. **Cross-module communication** — Only via EventBus (no direct module imports)
|
|
3. **Use cases** — Must return `Result<T, E>`, never throw business errors
|
|
4. **No `any`** — All new code must have explicit TypeScript types
|
|
|
|
## Making Changes
|
|
|
|
1. Create a feature branch from `main`
|
|
2. Write tests for new functionality
|
|
3. Run the full verification: `npm run build && cd frontend && npm run build && cd .. && npm run test`
|
|
4. Submit a pull request
|
|
|
|
## Commit Messages
|
|
|
|
Follow the pattern: `feat(module): description` or `fix(module): description`
|
|
|
|
## Reporting Issues
|
|
|
|
Please use [GitHub Issues](https://github.com/your-org/abe/issues) with:
|
|
- Steps to reproduce
|
|
- Expected vs actual behavior
|
|
- ABE version and Node.js version
|