{"id":23393002,"url":"https://github.com/dvnc0/git-destroyer","last_synced_at":"2026-04-13T01:39:55.095Z","repository":{"id":191106794,"uuid":"683838567","full_name":"dvnc0/git-destroyer","owner":"dvnc0","description":"Git CLI Repository Manager","archived":false,"fork":false,"pushed_at":"2023-09-08T04:28:44.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-09T19:47:58.352Z","etag":null,"topics":["cli-app","command-line-app","command-line-tool","git","php8"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvnc0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-08-27T21:22:13.000Z","updated_at":"2023-08-31T05:50:05.000Z","dependencies_parsed_at":"2023-08-28T06:27:48.670Z","dependency_job_id":"d3186c0e-15b5-436d-93ce-4f0fb74962ea","html_url":"https://github.com/dvnc0/git-destroyer","commit_stats":null,"previous_names":["dvnc0/git-destroyer"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/dvnc0/git-destroyer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvnc0%2Fgit-destroyer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvnc0%2Fgit-destroyer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvnc0%2Fgit-destroyer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvnc0%2Fgit-destroyer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvnc0","download_url":"https://codeload.github.com/dvnc0/git-destroyer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvnc0%2Fgit-destroyer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31736723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli-app","command-line-app","command-line-tool","git","php8"],"created_at":"2024-12-22T05:17:03.744Z","updated_at":"2026-04-13T01:39:55.057Z","avatar_url":"https://github.com/dvnc0.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"A CLI Git Repository manager.\n\n***FYI:***\n***This is still a work in progress, unit testing, static analysis etc are not complete and this brief guide may change.***\n\n## Usage\nDownload the Git Destroyer codebase or use Composer `composer create-project danc0/git-destroyer` and create an alias to `src/git-destroyer`. This will allow you to use this file in the CLI with an alias instead of having to type `php [PATH TO INSTALL]/src/git-destroyer`. Examples going forward will assume an alias of `git-destroyer` is set up.\n\n\n## Basics\n\nGit Destroyer offers robust help menu options `git-destroyer help` will show the available commands as well as some package info. The commands are shown below.\n\n```txt\n|Command           |Description                                               |\n|------------------|----------------------------------------------------------|\n|init              |Initialize a project                                      |\n|clone             |Clone the remote repository                               |\n|new-branch        |Create a new branch                                       |\n|update            |Switch to a new branch                                    |\n|commit \u003cmessage\u003e  |Commit your changes                                       |\n|staging-push      |Merge your changes into the staging branch and push them  |\n|live-push         |Merge your changes into the live branch and push them     |\n|push              |Push your changes to the remote                           |\n|script \u003cname\u003e     |Run a script from the config                              |\n|version           |Prints the version information for git-destroyer          |\n```\n\nEach of these commands also have their own help menus you can access using `--help` for example `git-destroyer commit --help`\n\n```txt\nCommand: commit \u003cmessage\u003e\nAbout: Commit your changes\nUsage:\n\n|Arg              |Alias       |Description                               |Required  |Is Flag  |\n|-----------------|------------|------------------------------------------|----------|---------|\n|--add-all        |-a          |Add all files to the commit               |False     |True     |\n|--files=[VALUE]  |-f=[VALUE]  |CSV string of files to add to the commit  |False     |False    |\n|--local-only     |-l          |Only commit locally, do not push          |False     |True     |\n```\n\nThis shows you the usage, available flags, available options, and if they are required.\n\n## Getting Started\n\nRun `git-destroyer init` to create a new Git Destroyer config for your project. This will create both a config file and a hooks file.\n\n## Hooks File\n\nThe hooks file is a JSON file that allows you to customize the run time of Git Destroyer.\n\n```json\n{\n    \"new_branch\": {\n        \"pre\": [],\n        \"post\": []\n    },\n    \"commit\": {\n        \"pre\": [],\n        \"post\": []\n    },\n    \"staging\": {\n        \"pre\": [],\n        \"post\": []\n    },\n    \"live\": {\n        \"pre\": [],\n        \"post\": []\n    },\n    \"scripts\": {\n        \"example\": \"echo \\\"hello world\\\"\"\n    }\n}\n```\nThe `pre` and `post` arrays should be strings of bash commands you wish to run at those times. The `staging` and `live` keys are for merging code into your staging or production branch. The `scripts` section should be an object so you can call them using `git-destroyer script example`.\n\n## Dev Environment Notes:\nNeed to create `src/stan.php` for PHPStan to find constants, this file should look like this:\n```php\n\u003c?php\ndefine('ROOT', getcwd());\ndefine('APP_ROOT', __DIR__);\n```\n\nIf you try to work on this and don't add that PHPStan will yell at you.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvnc0%2Fgit-destroyer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvnc0%2Fgit-destroyer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvnc0%2Fgit-destroyer/lists"}