{"id":20355769,"url":"https://github.com/zackproser/git-going","last_synced_at":"2025-03-04T17:31:15.164Z","repository":{"id":57532544,"uuid":"241009570","full_name":"zackproser/git-going","owner":"zackproser","description":"A Golang CLI for starting a new GitHub backed project very quickly","archived":false,"fork":false,"pushed_at":"2020-02-19T08:19:16.000Z","size":59,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T01:07:42.552Z","etag":null,"topics":["cli","git","github","golang","scaffold"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zackproser.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}},"created_at":"2020-02-17T03:14:14.000Z","updated_at":"2023-04-10T00:46:52.000Z","dependencies_parsed_at":"2022-09-26T18:20:42.263Z","dependency_job_id":null,"html_url":"https://github.com/zackproser/git-going","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fgit-going","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fgit-going/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fgit-going/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fgit-going/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zackproser","download_url":"https://codeload.github.com/zackproser/git-going/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241889525,"owners_count":20037523,"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","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":["cli","git","github","golang","scaffold"],"created_at":"2024-11-14T23:13:59.545Z","updated_at":"2025-03-04T17:31:15.140Z","avatar_url":"https://github.com/zackproser.png","language":"Go","readme":"![gitgoing logo](./doc/GITGOING.png) \n\n[![GoDoc](https://godoc.org/github.com/zackproser/git-going?status.svg)](https://godoc.org/github.com/zackproser/git-going)\n[![CodeFactor](https://www.codefactor.io/repository/github/zackproser/git-going/badge)](https://www.codefactor.io/repository/github/zackproser/git-going)\n[![Go Report Card](https://goreportcard.com/badge/github.com/zackproser/git-going)](https://goreportcard.com/report/github.com/zackproser/git-going)\n\nA Golang project scaffolding utility that I am writing for fun and practice. With a single command, this tool automates all the git setup and project boilerplate generation for a cmd-style Go program.\n\n## Overview\n\nGit-going is a simple command line tool that lets you start your next project very quickly. It automates the tedious manual steps of starting a new GitHub hosted project. \n\nYou need only provide a new project name and git-going will: \n\n* Create a local directory, ensuring no filename / project conflicts\n* Initialize it as a git repo \n* Create a remote github repo named accordingly\n* Set the remote origin for the local repository \n* Generate boilerplate for a README, LICENSE, .gitignore, etc\n* Create the initial commit\n* Push to the remote origin, setting upstream tracking\n\n## Roadmap\n\nAspirationally, this tool will create the ideal starting point for a Golang project with a single command. This includes: \n\n* GitHub repository continuous integration configuration\n* GitHub actions configuration\n* GitHub release automation configuration\n* Readme badges for go report card, builds, etc \n* Boilerplate CLI project setup, generated GO, project layout, etc \n\n## Getting started \n\n### Install via go get \n\nInstall the CLI: \n`go install github.com/zackproser/git-going`\n\nEnsure your PATH is configured correctly: \n\n`which git-going`\n\nshould output something like: \n\n`/home/zachary/go/bin/git-going`\n\nIf it doesn't, you need to check your `GOPATH` env variables and ensure your go installation can find packages installed via `go install`. Check out [this guide on configuring your GOPATH](https://github.com/golang/go/wiki/SettingGOPATH) for more information. \n\n### Install binary directly \n\nVisit [this project's Releases](https://github.com/zackproser/git-going/releases) and download the latest binary for your platform. \n\nThen extract the archive and move the binary somewhere within your `GOPATH`: \n\n```\ntar xvzf ~/Downloads/git-going_1.1.0_Linux_x86_64.tar.gz -C ~/Downloads/git-going_1.1.0\ncp ~/Downloads/git-going_1.1.0/git-going ~/go/bin/\n```\nVerify your installation: \n\n```\ngit-going help\n```\n\n### Authentication \n\nYou need to generate a new GitHub Personal access token. [Read more about access tokens here](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line), or go directly to the interface for managing them at [https://github.com/settings/tokens](https://github.com/settings/tokens).\n\nYour token needs sufficient permissions to create repositories on your behalf. \n\nOnce you have generated your token, you need to export it as the environment variable `GIT_GOING_GITHUB_TOKEN.` The git-going CLI will panic if you don't have this variable set. \n\n## Usage \n\nCreate a new project \n\n`git-going create -n 'My Awesome New Project'`\n\nshould output something like: \n\n```\ngit going create -n 'My Amazing New Project'\nDEBU[0000] Converted My Amazing New Project to slug: my-amazing-new-project \nDEBU[0000] Successfully created My Amazing New Project \n```\n\nIn this example, your remote repository would now be available at `https://github.com/\u003cyour-username\u003e/my-amazing-new-project.git`. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackproser%2Fgit-going","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzackproser%2Fgit-going","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackproser%2Fgit-going/lists"}