Contributing
Floci is MIT licensed and welcomes contributions of all kinds.
Ways to Help
- Bug reports — open a GitHub issue with a minimal reproduction
- Missing API actions — open a feature request
- Pull requests — new service actions, bug fixes, documentation improvements
Development Setup
# Clone
git clone https://github.com/hectorvent/floci.git
cd floci
# Run in dev mode (hot reload, port 4566)
mvn quarkus:dev
# Run all tests
mvn test
# Run a specific test
mvn test -Dtest=SsmIntegrationTest
mvn test -Dtest=SsmIntegrationTest#putParameter
Commit Message Format
This project uses Conventional Commits — required for semantic-release to generate the changelog and version bumps automatically.
| Prefix | Effect |
|---|---|
feat: |
New feature → minor version bump |
fix: |
Bug fix → patch version bump |
perf: |
Performance improvement → patch |
docs: |
Documentation only → no version bump |
chore: |
Build/CI → no version bump |
feat!: or BREAKING CHANGE: |
Breaking change → major bump |
Adding a New AWS Service
See CLAUDE.md for the full architecture guide. Quick summary:
- Create
src/main/java/.../services/<service>/with a Controller, Service, andmodel/package - Pick the right protocol (see the protocol table in CLAUDE.md)
- Register the service in
ServiceRegistry - Add config in
EmulatorConfig.javaandapplication.yml - Add
*IntegrationTest.javatests
Pull Request Checklist
- [ ]
mvn testpasses - [ ] New or updated integration test added
- [ ] Commit messages follow Conventional Commits
Reporting Security Issues
Do not open public issues for security vulnerabilities. Use GitHub private vulnerability reporting instead.