{"id":51479613,"url":"https://github.com/spideydotjs/hackgit","last_synced_at":"2026-07-07T00:42:06.265Z","repository":{"id":363860400,"uuid":"1265253433","full_name":"spideydotjs/hackgit","owner":"spideydotjs","description":"It's a fun project to make your github profile look cool and shiny with cool commits","archived":false,"fork":false,"pushed_at":"2026-06-10T16:29:32.000Z","size":92,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T09:31:20.750Z","etag":null,"topics":["contribution","contribution-generator","git","github","github-config","heatmap","heatmap-visualization","profile","readme"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/spideydotjs.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-10T15:51:43.000Z","updated_at":"2026-06-17T15:41:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/spideydotjs/hackgit","commit_stats":null,"previous_names":["spideydotjs/hackgit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/spideydotjs/hackgit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spideydotjs%2Fhackgit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spideydotjs%2Fhackgit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spideydotjs%2Fhackgit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spideydotjs%2Fhackgit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spideydotjs","download_url":"https://codeload.github.com/spideydotjs/hackgit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spideydotjs%2Fhackgit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35210429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"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":["contribution","contribution-generator","git","github","github-config","heatmap","heatmap-visualization","profile","readme"],"created_at":"2026-07-07T00:42:05.523Z","updated_at":"2026-07-07T00:42:06.258Z","avatar_url":"https://github.com/spideydotjs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hackgit\n\nAn interactive, clean, and minimal monochrome design tool to draw custom patterns and text directly onto your GitHub contribution heatmap calendar.\n\n---\n\n## Setup and Running\n\n### Prerequisites\n\nMake sure you have Node.js and Git installed on your system.\n\n### Setup\n\n1. **Install Dependencies:**\n   ```bash\n   npm install\n   ```\n\n2. **Run the Development Server:**\n   ```bash\n   npm run dev\n   ```\n\n3. **Open in Browser:**\n   Open your browser and navigate to http://localhost:3000 to start using the tool.\n\n---\n\n## Feature Guide and Usage Instructions\n\n### 1. Interactive Heatmap Grid\nThe core canvas is a replica of the GitHub contribution calendar showing 53 weeks (7 rows per week, starting on Sunday).\n* **Drawing:** Hover, click, or click-and-drag over cells to draw contributions.\n* **Cell Tooltips:** Hovering over any cell displays the date and the number of commits scheduled for that day.\n* **Clear Grid:** Click the Clear button at the top-right of the calendar header to reset all cells to zero commits.\n* **Invert Grid:** Click the Invert button at the top-right of the calendar header to reverse all cells (e.g., empty cells become maximum intensity, painted cells become empty).\n* **Year Selector:** Select a specific calendar year or default to \"Last 12 Months\" from the dropdown in the calendar header.\n\n### 2. Brush Tools (Column 1)\nCustomize your drawing interaction:\n* **Draw Mode:** Paints cells with the currently selected intensity.\n* **Erase Mode:** Resets painted cells back to zero commits.\n* **Cycle Mode:** Rotates through intensity levels on click (0, 1, 2, 3, 4, then back to 0).\n* **Brush Shade (Intensity):** Select the commit weight for your brush:\n  * Intensity 1: 1 commit per day\n  * Intensity 2: 3 commits per day\n  * Intensity 3: 6 commits per day\n  * Intensity 4: 10 commits per day\n\n### 3. Text Drawer (Column 2)\nAutomatically render words or phrases as contribution pixels on the calendar.\n* **Enter Text:** Type a phrase in the input box (up to 15 characters). Supported characters include A-Z, 0-9, spaces, and special symbols `!`, `-`, `+`, `?`.\n* **Start Column Offset:** Use the slider to choose the horizontal column index where your text should begin drawing.\n* **Auto-Center:** Check the auto-center option to automatically position the rendered text in the middle of the calendar grid.\n* **Render:** Click \"Render onto Grid\" to convert the text to contribution cells.\n\n### 4. Preset Shapes (Column 3)\n* **Built-in Presets:** Click \"Invader\" or \"Smiley\" to draw predefined pixel patterns onto the calendar.\n* **Fill All:** Click \"Fill All\" to paint the entire calendar grid with the current brush intensity.\n* **Random:** Click \"Random\" to generate random noise contributions across the calendar.\n* **Conway's Game of Life Simulator:**\n  1. Draw a custom pattern or select a preset on the grid.\n  2. Click the \"Simulate Step\" button to compute and show the next generation of cells according to Conway's Game of Life rules.\n\n### 5. Action Panel Options (Column 4)\nThis column offers multiple methods to apply the contribution pattern to your actual GitHub profile.\n\n#### Tab A: GitHub Push (Recommended)\nPushes commits directly to a new remote repository on your GitHub account.\n1. **Token Generation:** Generate a GitHub Personal Access Token (PAT) with `repo` scope by visiting https://github.com/settings/tokens.\n2. **Connect Account:** Paste the PAT and click \"Connect GitHub\".\n3. **Repository Sizing:** Enter your desired repository name (defaults to `hackgit-contributions`).\n4. **Push:** Click \"Push Commits\". A public or private repository will be automatically created under your GitHub username, and empty backdated commits representing the pattern will be pushed.\n5. **Note:** It can take between 3 to 10 minutes for GitHub's cache to index your new repository and render the contributions on your public profile calendar.\n\n#### Tab B: Local Apply\nApplies commits directly into the local repository folder of this project.\n1. **Refresh Status:** Check the current branch status of the project directory.\n2. **Apply:** Click \"Apply Commits\" to trigger Server Actions. The system will create backdated git commits modifying `data.json` locally.\n3. **Recommendation:** Run this on a separate branch to keep your main development history clean.\n\n#### Tab C: Export Scripts\nGenerate scripts to apply commits manually inside any other local Git repository.\n* **Bash Script:** Copy or save the `.sh` file for macOS or Linux environments.\n* **PowerShell Script:** Copy or save the `.ps1` file for Windows environments.\n* **Execution:** Open a terminal inside the target repository and run the downloaded script to execute the backdated git commits.\n\n#### Tab D: Import/Export JSON\nSave or load contribution pattern templates:\n* **Export JSON:** Download the current grid state as a JSON file.\n* **Import JSON:** Upload a saved pattern JSON file to restore the grid layout.\n\n---\n\n## Technical Details\n\nThe application calculates calendar coordinates relative to the Sunday of the week 52 weeks ago. When commits are applied, `hackgit` writes empty modifications to a file and commits them while overriding `GIT_AUTHOR_DATE` and `GIT_COMMITTER_DATE` to backdate the contributions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspideydotjs%2Fhackgit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspideydotjs%2Fhackgit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspideydotjs%2Fhackgit/lists"}