Contributing
March 26, 2026 ยท View on GitHub
Contributions are welcome! Feel free to open an issue or submit a pull request.
Development Environment Setup
Using Devbox (Recommended)
To set up a development environment for this repository, you can use devbox along with the provided devbox.json configuration file.
-
Install devbox by following these instructions.
-
Clone this repository to your local machine.
git clone https://github.com/indaco/teseo.git cd teseo -
Run
devbox installto install all dependencies specified indevbox.json. -
Enter the environment with
devbox shell --pure. -
Start developing, testing, and contributing!
Manual Setup
If you prefer not to use Devbox, ensure you have the following tools installed:
- Go
- just: For running project tasks.
- golangci-lint: For linting Go code.
- modernize: Run the modernizer analyzer to simplify code by using modern constructs.
- prek: For managing git hooks.
Setting Up Git Hooks
Git hooks are used to enforce code quality and streamline the workflow.
Using Devbox
If using devbox, Git hooks are automatically installed via prek when you run devbox shell. No further action is required.
Manual Setup
For users not using devbox, install prek and run:
prek install --hook-type commit-msg --hook-type pre-push
Running Tasks
This project uses just as a task runner.
View all available tasks
just
Common tasks
just clean # Clean the build directory and Go cache
just fmt # Format code
just modernize # Run go-modernize with auto-fix
just lint # Run golangci-lint
just check # Run fmt, modernize, lint, and reportcard
just test # Run all tests and print code coverage value
just test-force # Clean go tests cache and run all tests
just test-coverage # Run all tests and generate coverage report
just test-race # Run all tests with race detector
just templ # Run templ fmt and templ generate on the demos
just dev # Run the demos server