Skip to main content

development-workflow

development-workflow

Source facts

Repository
Goldziher/go-utils
Last source activity
July 10, 2026 at 19:29
Detected SKILL.md language
English
Stars
62
Forks
16

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
description
development-workflow
name
development-workflow
user_invocable
false
# Development Workflow ## Development Workflow ### Prerequisites - Go 1.18+ (required for generics support) - poly (for linting and formatting) - golangci-lint (for linting) ### Initial Setup ```bash # Clone and navigate to the repository cd /Users/naamanhirschfeld/workspace/go-utils # Install dependencies go mod download # poly runs in CI via the shared reusable validate workflow. # Verify locally before committing: poly fmt --check . && poly lint . ``` ### Running Tests ```bash # Run all tests with coverage go test ./... -v -cover # Run tests for specific package go test ./sliceutils -v go test ./maputils -v go test ./dateutils -v go test ./stringutils -v go test ./structutils -v go test ./urlutils -v ``` **Important**: 100% test coverage is mandatory for all contributions. Each utility package has a corresponding `_test.go` file that must be updated when adding new functions. ### Linting ```bash # Run golangci-lint (configuration in .golangci.yml) golangci-lint run # Auto-fix issues where possible golangci-lint run --fix ``` ### Commit Convention This project enforces [Conventional Commits](https://www.conventionalcommits.org/) via poly: ```bash # Valid commit message examples git commit -m "feat: add new Map function to sliceutils" git commit -m "fix: correct edge case in dateutils.Overlap" git commit -m "docs: update contributing guide" git commit -m "test: add coverage for stringutils.Capitalize" ``` ### CI Pipeline The project uses GitHub Actions (`.github/workflows/ci.yaml` and `.github/workflows/docs.yaml`) to: - Run tests across multiple Go versions - Check code coverage - Run linters - Build and deploy documentation to GitHub Pages - Analyze code quality with SonarCloud
View on GitHub