Skip to content

Commit 8eb4834

Browse files
authored
Fix website (#294)
2 parents 3b6181b + 23b59e4 commit 8eb4834

File tree

5 files changed

+31
-30
lines changed

5 files changed

+31
-30
lines changed

docs/README.md

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
## FAQ
1212

13-
**Q:** What about https://go.dev/blog/toolchain?
13+
**Q:** What about [https://go.dev/blog/toolchain](https://go.dev/blog/toolchain)?
1414

15-
**A:** It is about forward-compatibility, `vmatch` installs the Go version specified in your project.
15+
**A:** It is about forward-compatibility, `vmatch` installs the Go version specified in your project. I've found Go's promises of backward-compatibility to be squishy in practice, `brew install go` has not been sufficient for some project setups.
1616

1717
**Q:** What about `go run` (Go 1.24 and after `go run` calls are cached)?
1818

@@ -42,10 +42,6 @@ Mainly, you should have `~/.vmatch/bin` in your PATH.
4242
brew update && brew upgrade vmatch
4343
```
4444

45-
### Note on expectations
46-
47-
When the specified Go version is downloaded for the first time, it may take a while.
48-
4945
## Integrations
5046

5147
### VS Code
@@ -56,7 +52,7 @@ Open your project via `code .` or similar from your shell where `vmatch doctor`
5652

5753
#### golangci-lint
5854

59-
Follow guidance at https://golangci-lint.run/welcome/integrations/#visual-studio-code but specify the full path of your ~/.vmatch/bin/golangci-lint as an alternate lint tool, like this:
55+
Follow guidance at [https://golangci-lint.run/welcome/integrations/#visual-studio-code](https://golangci-lint.run/welcome/integrations/#visual-studio-code) but specify the full path of your ~/.vmatch/bin/golangci-lint as an alternate lint tool, like this:
6056

6157
```json
6258
"go.alternateTools": {
@@ -66,7 +62,7 @@ Follow guidance at https://golangci-lint.run/welcome/integrations/#visual-studio
6662

6763
### Renovate
6864

69-
I _think_ one can configure Renovate to maintain the `.golangci-version` file for you, see https://www.jvt.me/posts/2022/12/15/renovate-golangci-lint/ for an example.
65+
I _think_ one can configure Renovate to maintain the `.golangci-version` file for you, see [https://www.jvt.me/posts/2022/12/15/renovate-golangci-lint/](https://www.jvt.me/posts/2022/12/15/renovate-golangci-lint/) for an example.
7066

7167
## How
7268

@@ -95,27 +91,14 @@ Go versions are downloaded from Google servers and stored under `~/.vmatch`, lik
9591

9692
Contents of `~/.vmatch/bin` are symlinked from `$(go env GOPATH)/bin`, expect for `go` or `golangci-lint`, because those are shell scripts that wrap `vmatch`.
9793

98-
If your `go.mod` does not specify the full version, for example `1.24` instead of `1.24.3`, `vmatch` defaults to `1.24.0` for simplicity, surprisingly, sometimes there is a Go 1.minor and sometimes a Go 1.minor.0 version released. https://dl.google.com/go/go1.20.darwin-amd64.pkg and https://dl.google.com/go/go1.21.0.darwin-amd64.pkg are examples.
99-
100-
## Stargazers over time
101-
102-
[![Stargazers over time](https://starchart.cc/anttiharju/vmatch.svg?variant=adaptive)](https://starchart.cc/anttiharju/vmatch)
94+
If your `go.mod` does not specify the full version, for example `1.24` instead of `1.24.3`, `vmatch` defaults to `1.24.0` for simplicity, surprisingly, sometimes there is a Go 1.minor and sometimes a Go 1.minor.0 version released. [https://dl.google.com/go/go1.20.darwin-amd64.pkg](https://dl.google.com/go/go1.20.darwin-amd64.pkg) and [https://dl.google.com/go/go1.21.0.darwin-amd64.pkg](https://dl.google.com/go/go1.21.0.darwin-amd64.pkg) are examples.
10395

104-
## Retrospective on the project
96+
## Usage
10597

106-
While developing `vmatch`, I learned a lot about Go, `brew`, GitHub Actions, Git pre-commit hooks, and developer tooling. There's a surprising amount of detail that has to be accommodated in many places.
98+
After you have completed the installation, you can simply use `go` and `golangci-lint` as usual, as long as there's a `.golangci-version` or `go.mod` file available in current directory or above.
10799

108-
I think this project could be pushed a lot further, especially in terms of where it is distributed, and adding new features like always being on the latest patch of `Go`. Unfortunately life is too short, and the project is at a state where it is very usable for my personal use.
100+
Note that when a version is downloaded for the first time, your commands may appear to hang. The time it takes depends on your internet speed and computer.
109101

110-
Long-term, `Nix` (see https://nixos.org), would likely be the generic solution for managing your development environment. Rolling it out to an entire team might have a relatively high barrier, even with projects like `Flox` (see https://flox.dev), so `vmatch` attempts to be a low-barrier-of-entry solution.
111-
112-
If you find bugs, issue reports are very much appreciated and PRs are welcome. If you plan to push the project a lot further (for example managing `node` in a similar fashion), I'd recommend you to maintain a fork, say, `vmatch-node`.
113-
114-
During the project a lot of supporting infrastructure was set up:
115-
116-
- https://github.com/anttiharju/homebrew-tap/tree/fe24baf82fb570b6ec74694750080789742750e7 (whopping 174 commits, corresponding roughly to the same number of releases!)
117-
- https://github.com/anttiharju/actions/tree/v1 (whopping 20 composite actions!)
118-
- https://github.com/anttiharju/check-relative-markdown-links/tree/f79dc07684109baed16d10dd8ff2ade9bb94ce22 (a bash prototype for a tool that's more generally applicable and therefore useful than `vmatch`)
119-
- https://github.com/anttiharju/editorconfig/tree/9fa1679fcb6d55ed841a2ad36d142afd2d7cf30f (a centrally managed editorconfig distributed via GitHub Actions to my repositories!)
102+
## Stargazers over time
120103

121-
all of which make it easier for me to build new tools, on-demand, with minimal effort spent on trivial things like tooling automation. With [Go rewrite of `check-relative-markdown-links`](https://github.com/anttiharju/check-relative-markdown-links/issues/5) being the first!
104+
[![Stargazers over time](https://starchart.cc/anttiharju/vmatch.svg?variant=adaptive)](https://starchart.cc/anttiharju/vmatch)

docs/RETROSPECTIVE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Sideproject retrospective
2+
3+
While developing `vmatch`, I learned a lot about Go, `brew`, GitHub Actions, Git pre-commit hooks, and developer tooling. There's a surprising amount of detail that has to be accommodated in many places.
4+
5+
I think this project could be pushed a lot further, especially in terms of where it is distributed, and adding new features like always being on the latest patch of `Go`. Unfortunately life is too short, and the project is at a state where it is very usable for my personal use.
6+
7+
Long-term, `Nix` (see [nixos.org](https://nixos.org)), would likely be the generic solution for managing your development environment. Rolling it out to an entire team might have a relatively high barrier, even with projects like `Flox` (see [flox.dev](https://flox.dev)), so `vmatch` attempts to be a low-barrier-of-entry solution.
8+
9+
If you find bugs, issue reports are very much appreciated and PRs are welcome. If you plan to push the project a lot further (for example managing `node` in a similar fashion), I'd recommend you to maintain a fork, say, `vmatch-node`.
10+
11+
During the project a lot of supporting infrastructure was set up:
12+
13+
- [github.com/anttiharju/homebrew-tap](https://github.com/anttiharju/homebrew-tap/tree/299612d532b3a676f5bfea84c3115ff562c9e23a) (whopping 174 commits, corresponding roughly to the same number of releases!)
14+
- [github.com/anttiharju/actions@v1](https://github.com/anttiharju/actions/tree/v1) (whopping 20 composite actions!)
15+
- [github.com/anttiharju/check-relative-markdown-links](https://github.com/anttiharju/check-relative-markdown-links/tree/f79dc07684109baed16d10dd8ff2ade9bb94ce22) (a bash prototype for a tool that's more generally applicable and therefore useful than `vmatch`)
16+
- [github.com/anttiharju/editorconfig](https://github.com/anttiharju/editorconfig/tree/9fa1679fcb6d55ed841a2ad36d142afd2d7cf30f) (a centrally managed editorconfig distributed via GitHub Actions to my repositories!)
17+
18+
all of which make it easier for me to build new tools, on-demand, with minimal effort spent on trivial things like tooling automation. With [Go rewrite of `check-relative-markdown-links`](https://github.com/anttiharju/check-relative-markdown-links/issues/5) being the first!

docs/commands/go.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
vmatch go # followed by any args you would give to go
55
```
66

7-
This command is not meant to be used, but rather, you would have `~/.vmatch/bin/go` in your path as the `go` program.
7+
This command is not meant to be used directly, but rather through `~/.vmatch/bin/go` which should be the `go` in your PATH. Whether this is the case can be verified with [`vmatch doctor`](./doctor.md)

docs/commands/golangci-lint.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
vmatch golangci-lint # followed by any args you would give to golangci-lint
55
```
66

7-
This command is not meant to be used, but rather, you would have `~/.vmatch/bin/golangci-lint` in your path as the `golangci-lint` program.
7+
This command is not meant to be used directly, but rather through `~/.vmatch/bin/golangci-lint` which should be the `golangci-lint` in your PATH. Whether this is the case can be verified with [`vmatch doctor`](./doctor.md)

docs/commands/version.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# golangci-lint
1+
# version
22

33
```sh
44
vmatch version

0 commit comments

Comments
 (0)