{"id":22057151,"url":"https://github.com/capnspacehook/go-project-template","last_synced_at":"2026-01-12T01:07:25.894Z","repository":{"id":61928802,"uuid":"552519407","full_name":"capnspacehook/go-project-template","owner":"capnspacehook","description":"Go project template for command line applications","archived":false,"fork":false,"pushed_at":"2025-11-08T17:10:04.000Z","size":111,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-08T19:07:57.999Z","etag":null,"topics":["ci","docker","github-actions","golang","template-repository"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/capnspacehook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-16T19:20:20.000Z","updated_at":"2025-11-08T17:10:07.000Z","dependencies_parsed_at":"2023-09-21T16:43:09.528Z","dependency_job_id":"3dc5431c-1b99-4ba9-a362-37acc638a811","html_url":"https://github.com/capnspacehook/go-project-template","commit_stats":{"total_commits":137,"total_committers":3,"mean_commits":"45.666666666666664","dds":"0.25547445255474455","last_synced_commit":"cd696e30e9121f02689292ce102aa08606d6bd53"},"previous_names":["capnspacehook/goreleaser-test"],"tags_count":35,"template":true,"template_full_name":null,"purl":"pkg:github/capnspacehook/go-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capnspacehook%2Fgo-project-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capnspacehook%2Fgo-project-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capnspacehook%2Fgo-project-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capnspacehook%2Fgo-project-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capnspacehook","download_url":"https://codeload.github.com/capnspacehook/go-project-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capnspacehook%2Fgo-project-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28072315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","docker","github-actions","golang","template-repository"],"created_at":"2024-11-30T16:16:29.932Z","updated_at":"2025-12-27T04:34:21.894Z","avatar_url":"https://github.com/capnspacehook.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-project-template\n\nTemplate repository for Go projects. Contains an example Go application and a minimal Dockerfile.\n\n## Details\n\nDependabot is configured to keep Go, Docker and Github Actions dependencies up to date by opening\npull requests when new versions are released.\n\nMultiple workflows are configured that will:\n\n- Lint Go code with [`golangci-lint`](https://golangci-lint.run/) and [`staticcheck`](https://staticcheck.io/)\n- Check that `go.mod` is tidied\n- Test Go code and run all fuzz tests\n- Check that generated files are up to date\n- Scan for vulnerabilities with [`govulncheck`](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck)\n- Build, sign, publish binaries and create releases with [`goreleaser`](https://github.com/goreleaser/goreleaser) and [`cosign`](https://github.com/sigstore/cosign)\n- Open pull requests to update the Go version in `go.mod` to the latest stable version\n- Lint Dockerfiles with [`hadolint`](https://github.com/hadolint/hadolint)\n- Build, publish and sign Docker images with [`cosign`](https://github.com/sigstore/cosign)\n- Lint workflow files with [`actionlint`](https://github.com/rhysd/actionlint)\n- Run Github CodeQL on Go code\n\nAlmost all workflows will trigger when appropriate files are modified from pushes or pull requests. \nBinaries will only be released when a semver compatible tag is pushed however.\n\nFor more details on the workflows see the https://github.com/capnspacehook/go-workflows.\n\n## Usage\n\nUse this repository as a template and build your project from it.\n\nAlmost all workflow files will work without modification, as will releasing Docker images and binaries with goreleaser.\nNote that only `linux/amd64` images and binaries are built by default, so you may need to add more target\noperating systems and/or architectures based off of your requirements.\n\nThe `Check generated files` job assumes code generation tools will be installed by running `go generate`.\n\nThe `Test` workflow will still pass if no tests or fuzz tests are present, so when you\ndo add tests and fuzz tests the workflow will run them without needing any changes from you.\n\nWhen you want to change the Go version that is used in workflows, simply change the version of Go in the `go` directive of `go.mod`.\n\n## Verifying releases\n\nVerifying binaries or Docker images both require [cosign](https://github.com/sigstore/cosign).\n\n### Verifying binaries\n\nDownload the checksums file, certificate and signature and the archive to the same directory.\n\nExtract the binary from the archive, verify the checksums file and verify the contents of the binary:\n\n```bash\ntar xfs go-project-template_\u003cversion\u003e_linux_amd64.tar.gz\ncosign verify-blob --certificate checksums.txt.crt --signature checksums.txt.sig checksums.txt\nsha256sum -c checksums.txt\n```\n\n### Verifying Docker images\n\nSimply check the signature of the image with `cosign`:\n\n```bash\nCOSIGN_EXPERIMENTAL=true cosign verify ghcr.io/capnspacehook/go-project-template | jq\n```\n\nYou can verify the image was built by Github Actions by inspecting the `Issuer` and `Subject` fields of the output.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapnspacehook%2Fgo-project-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapnspacehook%2Fgo-project-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapnspacehook%2Fgo-project-template/lists"}