Contributing
Development Setup
git clone https://github.com/pjcau/AgentsBoard.git
cd AgentsBoard
swift build
swift test
Code Style
- Protocol-first: define the protocol, then implement
- SOLID everywhere: see SOLID Principles
- Public API: all Core types must be
publicfor cross-module access - @Observable: use Swift's
@Observablemacro, not Combine - No UI in Core:
AgentsBoardCorehas zero UI dependencies
Running Tests
# All tests
swift test
# Specific test suite
swift test --filter AgentsBoardCoreTests
# With verbose output
swift test -v
Project Layout
| Directory | What goes here |
|---|---|
Sources/Core/ | Domain logic, protocols, models |
Sources/UI/ | SwiftUI views, view models |
Sources/App/ | App entry point, CompositionRoot |
Sources/CLI/ | agentsctl commands |
Tests/CoreTests/ | Core unit tests |
Tests/UITests/ | UI view model tests |
Pull Requests
- Fork the repository
- Create a feature branch
- Write tests for new functionality
- Ensure
swift buildandswift testpass - Submit a pull request