You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+40-38Lines changed: 40 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,62 +24,64 @@ To set up a development environment for this repository, you can use [devbox](ht
24
24
25
25
If you prefer not to use Devbox, ensure you have the following tools installed:
26
26
27
-
-[golangci-lint](https://golangci-lint.run/): For linting Go code.
28
-
-[go-task](https://taskfile.dev/) or `make`: For running project tasks.
29
-
-[modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize): Run the modernizer analyzer to simplify code by using modern constructs.
27
+
-[Go](https://go.dev/dl/) (1.25 or later)
28
+
-[just](https://github.com/casey/just): Command runner for project tasks
29
+
-[golangci-lint](https://golangci-lint.run/): For linting Go code
30
+
-[modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize): Run the modernizer analyzer to simplify code
31
+
-[govulncheck](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck): Reports known vulnerabilities that affect Go code
32
+
33
+
Optional tools:
34
+
35
+
-[goreportcard-cli](https://github.com/gojp/goreportcard): For local code quality reports (requires manual installation via git clone + make)
36
+
-[prek](https://github.com/indaco/prek): For Git hooks management
30
37
31
38
## Setting Up Git Hooks
32
39
33
-
Git hooks are used to enforce code quality and streamline the workflow. Follow these steps to set them up:
40
+
Git hooks are used to enforce code quality and streamline the workflow.
34
41
35
42
### Using Devbox
36
43
37
-
If using `devbox`, Git hooks are automatically installed when you run `devbox shell`. No further action is required.
44
+
If using `devbox`, Git hooks are automatically installed when you run `devbox shell`. The hooks are managed by [prek](https://github.com/indaco/prek).
38
45
39
46
### Manual Setup
40
47
41
-
For users not using `devbox`, follow the steps below to manually install the Git hooks:
42
-
43
-
1. Clone the repository:
44
-
45
-
```bash
46
-
git clone https://github.com/indaco/tempo.git
47
-
cd tempo
48
-
```
49
-
50
-
2. Install the Git Hooks
48
+
For users not using `devbox`, install prek and run:
51
49
52
-
**Unix-based systems (Linux, macOS):**
50
+
```bash
51
+
pip install prek
52
+
prek install -- --workspace
53
+
```
53
54
54
-
```bash
55
-
sh .scripts/setup-hooks.sh
56
-
```
55
+
This installs the commit-msg hook that validates conventional commit messages.
57
56
58
-
**Windows systems:**
57
+
## Running Tasks
59
58
60
-
```cmd
61
-
.scripts\setup-hooks.bat
62
-
```
59
+
This project uses [just](https://github.com/casey/just) for running tasks.
63
60
64
-
##Running Tasks
61
+
### View all available recipes
65
62
66
-
This project provides both a `Makefile` and a `Taskfile` for running various tasks. You can use either `make` or `task` to execute the tasks, depending on your preference.
0 commit comments