This will cover everything you need to know to get started on contributing.
As with most projects, it's best to start with simple, non-urgent issues that provide an easy introduction into the project. This is no different. See our good first issues for a nice place to start. There is something for everyone, rather frontend (Svelte, Typescript), backend (Go, SQLite), or infrastructure (Docker, Github Actions, NGINX).
Once you have some experience, and feel comfortable taking lead on features or more complex issues. Check out our Beta roadmap here, these are a fantastic place to start, especially if you'd like to become a maintainer.
Eventually will containerize dev environment, but haven't yet. So for now, contributors should run this bare metal or within their own containers.
- Install go Note: check the image version used in backend.Dockerfile if unsure which version to use. Usually assume latest stable version.
- cd into
wrench-turn
directory, backend is located at services root level directory - Run
go build
, may need to adjust commands for your particular OS - Run generated build,
./wrench-turn
,./wrench-turn.exe
, etc. - Should startup messages logged, something like "WrenchTurn server listening on port 8080", may also notice a ./data/sqlite-dev.db file
- Backend API should be available at
http://localhost:8080
- Install node or nvm Note: check the image version used in frontend.Dockerfile if unsure which version to use. Usually assume latest stable version.
- cd into
wrench-turn/frontend
- Run
npm run dev
- Frontend should be available at
http://localhost:5173
Please follow this git commit message format: <type: chore, feat, fix>: <description> <rel issue number>
e.g. chore: cleaning up comments
, feat: adding calendar feature #13
, fix: home button deletes all data #16
Only maintainers can contribute directly to the develop branch. Everyone else should fork the repo and contribute there, like so:
- Fork repository
- Clone your fork
git clone https://github.com/your-username/wrench-turn.git && cd wrench-turn
- Create a branch off of the develop branch for what you're working on at that time
git checkout -b super-cool-feature develop
- Commit and push
git add . && git commit -m "feat: super awesome feature #420" && git push origin super-cool-feature
- Note: git pre-commit hook will attempt to run
go build
,go test
successfully before committing
- Open a PR requesting to merge your feature branch with our develop branch, and wait for review