Skip to content

Go Applications

Custom Go applications for workflow automation and tool discovery. Apps are installed from GitHub via go install and binaries live in ~/go/bin/.

Applications

toolbox - Tool Discovery

Tool discovery and documentation system for exploring CLI tools. Provides searchable registry with descriptions, examples, and installation information.

Installation: go install github.com/datapointchris/toolbox@latest

Key features:

  • List all tools by category
  • Search by name, description, or tags
  • Show detailed tool information with examples
  • Interactive category browser

See Toolbox Reference for usage details.

Development Workflow

Development happens in ~/tools/ with source code pushed to GitHub.

Testing Changes Locally

cd ~/tools/toolbox
go run .              # Test changes
go build -o toolbox . # Build local binary
task test             # Run tests

Publishing Changes

cd ~/tools/toolbox
git add -A && git commit -m "feat: add feature"
git push

# Update installed version
go install github.com/datapointchris/toolbox@latest

Project Structure

Standard Go layout with main.go at root (or cmd/ entry point for multi-binary repos), go.mod/go.sum, and a Taskfile.yml for build automation.

Development Standards

Follow the coding standards and patterns documented in:

Adding New Go Applications

  1. Create repository in ~/tools/:
mkdir -p ~/tools/{app}
cd ~/tools/{app}
go mod init github.com/datapointchris/{app}
git init
  1. Add to packages.yml for automatic installation:
go_tools:
  - name: {app}
    package: github.com/datapointchris/{app}
  1. Push to GitHub and install:
git remote add origin git@github.com:datapointchris/{app}.git
git push -u origin main
go install github.com/datapointchris/{app}@latest

Troubleshooting

Command not found after installation:

Verify ~/go/bin is in your PATH:

echo $PATH | grep "$HOME/go/bin"

If not, restart your shell or run exec zsh.

Update to latest version:

go install github.com/datapointchris/{app}@latest

Import errors during development:

cd ~/tools/{app}
go mod tidy