{"id":21894146,"url":"https://github.com/hackgt/hackgproject","last_synced_at":"2026-05-18T02:36:35.723Z","repository":{"id":79765812,"uuid":"95502213","full_name":"HackGT/hackgproject","owner":"HackGT","description":"A CLI to create and manage projects that work with our infra.","archived":false,"fork":false,"pushed_at":"2018-08-27T22:41:03.000Z","size":67,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-25T12:19:38.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HackGT.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}},"created_at":"2017-06-27T00:47:52.000Z","updated_at":"2018-08-27T22:41:04.000Z","dependencies_parsed_at":"2023-06-02T08:30:13.838Z","dependency_job_id":null,"html_url":"https://github.com/HackGT/hackgproject","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/HackGT/hackgproject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackGT%2Fhackgproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackGT%2Fhackgproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackGT%2Fhackgproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackGT%2Fhackgproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HackGT","download_url":"https://codeload.github.com/HackGT/hackgproject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackGT%2Fhackgproject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33162698,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"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":[],"created_at":"2024-11-28T13:19:14.171Z","updated_at":"2026-05-18T02:36:35.708Z","avatar_url":"https://github.com/HackGT.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hackgproject [![Build Status](https://travis-ci.org/HackGT/hackgproject.svg?branch=master)](https://travis-ci.org/HackGT/hackgproject)\nA CLI to create and manage projects that work with our infra.\n\n```bash\nhackgproject 0.2.7\nMichael Eden \u003cthemichaeleden@gmail.com\u003e\n\nUSAGE:\n    hackgproject [SUBCOMMAND]\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nSUBCOMMANDS:\n    help    Prints this message or the help of the given subcommand(s)\n    init    Update/Create HackGT boilerplate\n    test    Test the travis-ci build and build your docker image.\n```\n\n## Install!\n\nThis package comes as a single binary with no dependencies for osx/linux\n[here](https://github.com/HackGT/hackgproject/releases/latest).\n\nThrow this binary in `/usr/bin/` or similar so you can run it from anywhere.\n\n## Create a new project!\n\n### Web Services\n\nLet's say we want to make a badging system for HackGT, we'll call our\napp `badger` so we can have a cute mascot in the future. Just run:\n\n```bash\n$ hackgproject init badger\n\n\"badger\" does not exist, creating it.\nInitialized empty Git repository in ~/hackgt/hackgproject/badger/.git/\nWriting '.travis.d/build.sh'.\nWriting '.travis.yml'.\nWriting '.gitignore'.\nWriting 'LICENSE'.\nWriting 'README.md'.\n\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n┃ You're almost up and running! Just a few more steps: ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n\n1. Create this repo on GitHub: https://github.com/HackGT/\n2. Hit 'Restart Build' to get your project set up with all of\nHackGT's infra: https://travis-ci.org/HackGT/travis-secrets-setter\n```\n\nThis sets up all the stuff you'll need for a local HackGT repo.\n\nThe last step is hitting `Restart Build`\n[here](https://travis-ci.org/HackGT/travis-secrets-setter).\nThis is a travis job that integrates your new repo into our infra,\nyou'll get automated testing and deployment under `badger.dev.hack.gt`!\n\nHave fun and happy hacking!\n\n### Static Websites\n\nYou can build static websites too!\n\n```bash\n$ hackgproject init --static badger\n\n\"badger\" does not exist, creating it.\nInitialized empty Git repository in /home/michaeleden/cde/hackgt/hackgproject/badger/.git/\nCreating a static HTML project!\nWriting '.travis.d/build.sh'.\nWriting '.travis.yml'.\nWriting '.gitignore'.\nWriting 'LICENSE'.\nWriting 'README.md'.\nWriting 'CNAME'.\nWriting 'index.html'.\nSwitched to a new branch 'gh-pages'\n\nJust push and go to https://badger.static.hack.gt !\n```\n\n## What will hackgproject do for you? (Usage)\n\n`hackgproject` only focuses on testing and building your project in a standard\nway to be used by other people, it will:\n\n1. Build and run `Dockerfile.build` if it exists\n   1. The repository will be mounted under `/src`.\n   2. Changes to `/src` will be visible in future steps.\n   2. Use this step if you need a lot of extra tools to build, but fewer to run.\n   \n2. Build and run `Dockerfile.test` if it exists.\n   1. Use this to run any kind of testing or checks for your app.\n   2. This step comes after `Dockerfile.build`.\n   \n3. For a `deployment` project, the main image (`Dockerfile`) will get built.\n   1. If the build succeeds and this is not a PR, it will publish the built\n      twice, once with tag being the SHA1 hash of the commit, and the other\n      with the tag `latest` or `latest-${branch name}` if not on `master`.\n      \n   2. After the image has been published a build of [biodomes](https://travis-ci.org/HackGT/biodomes) will be triggered.\n      Biodomes will take care of deployment, see the docs [other there](https://github.com/hackgt/biodomes) for more info.\n      \n4. For a `static` project, the source tree will be committed to `gh-pages` and\n   the DNS record will be set on cloudflare according to the `CNAME` file.\n   \nDO NOT EDIT the .travis.yml or the build script by hand!\nFile a bug instead.\n\n## Run your project!\n\nIf you want to test how your project will be tested and built when uploaded,\nrun:\n\n```bash\nhackgproject test\n```\n\nIf this passes, so should your cloud build. Easy! Run your project after with:\n\n```bash\ndocker run -it badger # or the name of your repo\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackgt%2Fhackgproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackgt%2Fhackgproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackgt%2Fhackgproject/lists"}