{"id":13442379,"url":"https://github.com/hugit-project/hugit","last_synced_at":"2025-03-20T13:33:31.108Z","repository":{"id":44976418,"uuid":"198479074","full_name":"hugit-project/hugit","owner":"hugit-project","description":"The humane Terminal UI for git!","archived":false,"fork":false,"pushed_at":"2023-01-04T06:30:26.000Z","size":645,"stargazers_count":73,"open_issues_count":19,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-28T05:13:16.585Z","etag":null,"topics":["clojurescript","git","live","re-frame","react","tui"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hugit-project.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":"2019-07-23T17:34:49.000Z","updated_at":"2024-02-21T16:09:38.000Z","dependencies_parsed_at":"2023-02-02T01:16:11.432Z","dependency_job_id":null,"html_url":"https://github.com/hugit-project/hugit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugit-project%2Fhugit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugit-project%2Fhugit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugit-project%2Fhugit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugit-project%2Fhugit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hugit-project","download_url":"https://codeload.github.com/hugit-project/hugit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619309,"owners_count":20482396,"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":["clojurescript","git","live","re-frame","react","tui"],"created_at":"2024-07-31T03:01:45.033Z","updated_at":"2025-03-20T13:33:30.778Z","avatar_url":"https://github.com/hugit-project.png","language":"Clojure","funding_links":[],"categories":["Clojure"],"sub_categories":[],"readme":"\u003cspan\u003e \n    \u003cb\u003eNOTE:\u003c/b\u003e Pre-alpha software! Under active development.\n\u003c/span\u003e\n\n# hugit\n\nThe `hu`mane Terminal UI for `git`!\n\nThe general philosophy is:\n* **Live** tracks changes in the repo, and updates the UI automatically\n* **Help** all available actions and their keybindings are displayed at all times\n* **Logs** are always accessible\n\n## Demo\n\n![hugit screencast](hugit-screencast.gif)\n\n\n## Installation\n\n## Features\n\n### Files\n\n- [x] stage files\n- [x] unstage files\n- [x] checkout files\n- [x] untrack files\n\n### Hunks\n\n- [x] stage hunks\n- [x] unstage hunks\n- [ ] discard hunks\n\n### Commits\n\n- [x] show commit log\n- [x] show commit\n- [x] show current head\n- [x] commit with message\n- [ ] show unmerged (unpushed) commits\n- [ ] ammend\n- [ ] rebase\n\n### Branches\n\n- [x] show current branch\n- [x] show local branches\n- [x] checkout local branch\n- [x] create and checkout new local branch\n- [x] fetch remote branches\n\n### Remote\n\n- [x] Push to `-u origin \u003ccurrent-branch-name\u003e`\n- [ ] Change remote\n- [ ] Push to custom branch\n\n## Install\n\n* Install [nvm](https://github.com/nvm-sh/nvm)\n* `git clone https://github.com/hugit-project/hugit.git`\n* `cd hugit`\n* `nvm use 9.11.1`\n* `npm install`\n* `npx shadow-cljs release app`\n\n**Issues**\n\n* Install `nodegit` via `yarn` if `npm` complains: `yarn add nodegit@0.24.3`\n\n## Run\n\n`cd` to a git repo, and run:\n* `nvm use 9.11.1`\n* `node path/to/hugit/target/main.js`\n\n## Develop\n\n**Compile**\n\n* `cd path/to/hugit`\n* `nvm use 9.11.1`\n* `npm start`\n\nThis will:\n  * start the compiler and watch for changes and recompile automatically\n  * start a Clojure nREPL, connecting to which and running `(user/repl)` will start a ClojureScript REPL\n\n**Run**\n\n* `cd path/to/hugit`\n* `nvm use 9.11.1`\n* `node --inspect target/js/compiled/hugit.js` to run the app\n\nChanges to the `hugit` source should automatically reflect in the UI.\n`hugit` is used to develop `hugit` whenever possible!\nWe will keep at it till we never have to use anything else.\n\n## Contributors\n\n* [Manisha Pillai](https://github.com/Manisha38)\n* [Divyansh Prakash](https://github.com/divs1210)\n\n## Thanks\n\n* [Cljs TUI Template](https://github.com/eccentric-j/cljs-tui-template)\n* [nodegit](https://github.com/nodegit/nodegit)\n\n## License\nCopyright 2019 Manisha Pillai, Divyansh Prakash\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this project except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugit-project%2Fhugit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhugit-project%2Fhugit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugit-project%2Fhugit/lists"}