{"id":21261512,"url":"https://github.com/chenasraf/gi_gen","last_synced_at":"2026-01-31T12:02:04.578Z","repository":{"id":57697066,"uuid":"491050457","full_name":"chenasraf/gi_gen","owner":"chenasraf","description":"Gitignore generator for any type of project","archived":false,"fork":false,"pushed_at":"2024-09-10T00:26:41.000Z","size":113,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T17:07:45.146Z","etag":null,"topics":["generator","git","gitignore","gitignore-generator","go","golang"],"latest_commit_sha":null,"homepage":"https://casraf.dev","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/chenasraf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":"chenasraf","patreon":null,"open_collective":null,"ko_fi":"casraf","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-05-11T09:51:26.000Z","updated_at":"2024-09-04T00:44:34.000Z","dependencies_parsed_at":"2024-06-20T17:33:01.830Z","dependency_job_id":"7befc334-f41a-4298-8404-f9b9fed1beb5","html_url":"https://github.com/chenasraf/gi_gen","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/chenasraf/gi_gen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fgi_gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fgi_gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fgi_gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fgi_gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenasraf","download_url":"https://codeload.github.com/chenasraf/gi_gen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fgi_gen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28941921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T11:39:38.044Z","status":"ssl_error","status_checked_at":"2026-01-31T11:39:27.765Z","response_time":128,"last_error":"SSL_read: 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":["generator","git","gitignore","gitignore-generator","go","golang"],"created_at":"2024-11-21T04:43:37.865Z","updated_at":"2026-01-31T12:02:04.563Z","avatar_url":"https://github.com/chenasraf.png","language":"Go","readme":"\u003ch1\u003eGI Gen - Gitignore File Generator\u003c/h1\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eTable of Contents\u003c/summary\u003e\n\n- [Features](#features)\n- [Command Line Usage](#command-line-usage)\n  - [Command Line Flags](#command-line-flags)\n  - [Examples](#examples)\n- [Contribute](#contribute)\n\n\u003c/details\u003e\n\n\u003chr /\u003e\n\nGI Gen is an open source CLI to generate `.gitignore` files for most project types.\n\nSimply run the command and follow the prompts, and your project will have a `.gitignore` file to\nmatch it.\n\nIt is completely cross-platform, and standalone (no dependencies - other than `git` itself), so you\nmay literally use it for **any project** on **any platform**.\n\nYou can run this CLI program to create or append a `.gitignore` file from a chosen list of template\neasily.\n\nYou may choose more than one template to generate.\n\n**Check out the [VS Code Extension](https://github.com/chenasraf/gi-gen-vscode-extension)!**\n\n## Features\n\nGI Gen supports the following features:\n\n- `.gitignore` discovery:\n  - Auto-discover any gitignore templates that might be related to your project\n    - Can confidently discover over\n      [50 project languages](https://github.com/chenasraf/gi_gen/issues/2) using your project\n      structure\n    - Can fall back on process of elimination using patterns in the template\n  - Optionally list all available templates instead (see [github/gitignore][gh-gi] for the complete\n    list of templates)\n- `.gitignore` clean: Clean up results from any patterns that aren't in your project before\n  outputting (optional)\n- Writes to `.gitignore` file in current directory (you may overwrite/skip/append if already exists)\n\n## Command Line Usage\n\nDownload the file for your platform in the [Releases page][releases].\n\nPut it anywhere that you can run an executable from. It is completely portable to any directory, but\nit is preferable you put it somewhere that is in your `PATH`.\n\nJust run `gi_gen` in the directory you wish to add to and follow the prompts.\n\n```shell\n$ gi_gen\n```\n\n### Command Line Flags\n\nYou may pass additional flags to `gi_gen`. These are the currently available flags:\n\n| Usage                    | Description                                                                                                                                                      |\n| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `-languages` \\| `-l`     | List the languages you want to use as templates.\u003cbr /\u003eTo add multiple templates, use commas as separators, e.g.: `-languages Node,Python`                        |\n| `-auto-discover` \\| `-d` | Use auto-discovery for project, detecting the project type and using the result as the pre-selected template list.                                               |\n| `-clean-output` \\| `-c`  | Perform cleanup on the output .gitignore file, removing any unused patterns                                                                                      |\n| `-keep-output` \\| `-k`   | Do not perform cleanup on the output .gitignore file, keep all the original contents                                                                             |\n| `-append` \\| `-a`        | Append to .gitignore file if it already exists                                                                                                                   |\n| `-overwrite` \\| `-w`     | Overwrite .gitignore file if it already exists                                                                                                                   |\n| `-detect-languages`      | Outputs the automatically-detected languages, separated by newlines, and exits. Useful for outside tools detection.                                              |\n| `-all-languages`         | Outputs all the available languages, separated by newlines, and exits. Useful for outside tools detection.                                                       |\n| `-clear-cache`           | Clear the .gitignore cache directory, for troubleshooting or for removing trace files of this program.\u003cbr /\u003eExits after running, so other flags will be ignored. |\n| `-help` \\| `-h`          | Display help message                                                                                                                                             |\n\n### Examples\n\n- Run normally, prompting for every step:\n\n  ```shell\n  gi_gen\n  ```\n\n- Pre-select languages (skip prompt):\n\n  ```shell\n  gi_gen -languages Node          # One language\n  gi_gen -languages Node,Python   # Multiple languages\n  ```\n\n- Perform clean up (skip prompt):\n\n  ```shell\n  gi_gen -clean-output    # clean up\n  gi_gen -keep-output     # skip clean up\n  ```\n\n- Use auto-discovery (skip prompt):\n\n  ```shell\n  gi_gen -auto-discover\n  ```\n\n- Existing file handlers (skip prompt):\n\n  ```shell\n  gi_gen -append      # if file exists, add to end of it\n  gi_gen -overwrite   # if file exists, replace the existing content\n  ```\n\n- Combined (skip all prompts):\n\n  ```shell\n  gi_gen -d -c -a       # Use auto discovery, append and clean unused patterns\n  gi_gen -l Node -k -w  # Use passed languages, overwrite and keep unused patterns\n  ```\n\n- Clean cache directory and exit:\n\n  ```shell\n  gi_gen -clear-cache\n  ```\n\n- Detect languages and output the results, then exit:\n\n  ```shell\n  gi_gen -detect-languages\n  ```\n\n## Contribute\n\nCredits to [open-source-ideas][osi] for the idea for the tool.\n\nPlease feel free to open PRs or issues with bug fixes/reports, or feature requests.\n\nThis project was built using Go, and should run easily with the normal Go tools with no further\nconfiguration.\n\nTested on all major platforms, but feel free to report any issues on your platform if you have any,\nor are missing your platform and cannot/don't want to build from source (I tried building for the\nmost common platforms).\n\nIf you are feeling incredibly generous and appreciate the time \u0026amp; effort I put into developing\nthis tool, kindly consider donating any amount to help me make up for the work hours. It is really\nvery much appreciated! 🙏🏼\n\n\u003ca href='https://ko-fi.com/casraf' target='_blank'\u003e\n\u003cimg height='36' style='border:0px;height:36px;'\n  src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3'\n  alt='Buy Me a Coffee at ko-fi.com' /\u003e\n\u003c/a\u003e\n\n[releases]: https://github.com/chenasraf/gi_gen/releases/latest\n[osi]: https://github.com/open-source-ideas/ideas/issues/296\n[gh-gi]: https://github.com/github/gitignore\n","funding_links":["https://github.com/sponsors/chenasraf","https://ko-fi.com/casraf","https://ko-fi.com/casraf'"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenasraf%2Fgi_gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenasraf%2Fgi_gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenasraf%2Fgi_gen/lists"}