diff --git a/.gitignore b/.gitignore index 5118da7..3179372 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,18 @@ # Output of the go coverage tool, specifically when used with LiteIDE *.out -# Dependency directories (remove the comment below to include it) -# vendor/ +# Dependency directories +vendor/ # Go workspace file go.work -.idea/ \ No newline at end of file +# Jetbrains IDEs +.idea/ + +# Generated binary +duck-gen + +# AI tools +.claude/ +CLAUDE.md \ No newline at end of file diff --git a/README.md b/README.md index 458b5bb..ad67cae 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,26 @@ embargo-frisk-rack@duck.com ## Installation Download pre-built binaries from the [Releases](https://github.com/chowder/duck-gen/releases) page + +### Building from Source + +1. **Install Go** (requires Go 1.23.2 or later): + - Download from https://go.dev/dl/ + +2. **Clone and build**: + ```bash + git clone https://github.com/chowder/duck-gen.git + cd duck-gen + go mod vendor + go build -mod=vendor + ``` + + This will create a `duck-gen` binary in the current directory. + +3. **Install to your PATH** (optional): + ```bash + go install + ``` + This installs the binary to `$GOPATH/bin` or `$HOME/go/bin` (add to your PATH if needed). + + > Alternatively, you can move the binary to anywhere you like and put an alias to it in your `.bash_aliases`, `.bashrc`, `.zsh_aliases` or `.zshrc`. \ No newline at end of file