{"id":14979124,"url":"https://github.com/gervinfung/gitignored","last_synced_at":"2025-06-12T19:34:41.562Z","repository":{"id":37518313,"uuid":"487800766","full_name":"GervinFung/gitignored","owner":"GervinFung","description":"Application of Gitignored. A more UI/UX Friendly Web Application to Preview/Copy/Download Single or Multiple .gitignore File(s)","archived":false,"fork":false,"pushed_at":"2024-12-25T13:39:36.000Z","size":10552,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T16:22:51.445Z","etag":null,"topics":["cli","event-driven","gitignore-generator","gitignore-templates","gitignored","nextjs","orm","rust","supabase","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://gitignored.vercel.app","language":"Rust","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/GervinFung.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":"2022-05-02T10:19:18.000Z","updated_at":"2024-12-25T13:39:38.000Z","dependencies_parsed_at":"2024-07-30T19:24:58.195Z","dependency_job_id":"6d5d22cb-4595-4dcb-a89a-c59e19f67892","html_url":"https://github.com/GervinFung/gitignored","commit_stats":{"total_commits":87,"total_committers":2,"mean_commits":43.5,"dds":0.06896551724137934,"last_synced_commit":"e703104246f2f3e8b2e41fb508932a14dc28952f"},"previous_names":["gervinfung/gitignored"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GervinFung%2Fgitignored","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GervinFung%2Fgitignored/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GervinFung%2Fgitignored/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GervinFung%2Fgitignored/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GervinFung","download_url":"https://codeload.github.com/GervinFung/gitignored/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238680718,"owners_count":19512629,"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":["cli","event-driven","gitignore-generator","gitignore-templates","gitignored","nextjs","orm","rust","supabase","typescript","vercel"],"created_at":"2024-09-24T13:59:18.856Z","updated_at":"2025-02-13T15:31:11.381Z","avatar_url":"https://github.com/GervinFung.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitignored\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"apps/web/public/images/icons/icon-144x144.png\" /\u003e\n\u003c/p\u003e\n\n## Web App\n\nA web application that let the developer generate various `.gitignore` templates, available [here](https://gitignored.vercel.app)\n\nThe templates are taken from the repo [gitignore](https://github.com/github/gitignore) of GitHub. Hence the templates generated are reliable\n\nHere's what the developers can do with it\n\n1. Copy various templates as one or download as all into one zip\n2. Copy each template without downloading any templates\n\nHome Page\n\n![Home](apps/web/test/snapshot/snapshot-images/home.png)\n\nTemplates\n\n![Templates](apps/web/test/snapshot/snapshot-images/templates.png)\n\nDocs Introduction\n\n![Docs](apps/web/test/snapshot/snapshot-images/docs.png)\n\nDocs Content\n\n![Docs](apps/web/test/snapshot/snapshot-images/docs/content/getting-started.png)\n\nDocs API\n\nIntroduction\n\n![Introduction](apps/web/test/snapshot/snapshot-images/docs/api/introduction.png)\n\nCommit Time\n\n![Commit-Time](apps/web/test/snapshot/snapshot-images/docs/api/commit-time.png)\n\nTemplates\n\n![Templtes](apps/web/test/snapshot/snapshot-images/docs/api/templates.png)\n\n404 Page\n\n![404](apps/web/test/snapshot/snapshot-images/error.png)\n\n# Tech Used\n\n| Aspect                 | Name           |\n| ---------------------- | -------------- |\n| Development Language   | TypeScipt      |\n| Scripting Language     | TypeScipt      |\n| Testing                | Vitest         |\n| Styling                | Chakra-UI      |\n| Framework              | NextJS         |\n| Build Automation Tool  | Make           |\n| Dependency Management  | Pnpm           |\n| Continuous Integration | GitHub Actions |\n\n# Make Commands\n\n_*Below are the non-exhaustive listed commands that you can use to build/develop/test this app. For more command, checkout [Makefile](apps/web/Makefile)*_\n\n| Command                                                      | Usage                                             |\n| ------------------------------------------------------------ | ------------------------------------------------- |\n| make start-(development OR production OR testing OR staging) | Start development                                 |\n| make build-(development OR production OR testing OR staging) | Bundle and build the app                          |\n| make install                                                 | Install all dependencies                          |\n| make test                                                    | Run all test code                                 |\n| make typecheck                                               | Run typechecking for source code                  |\n| make lint                                                    | Run linter for source and test code               |\n| make format-check                                            | Run prettier to check source and test code format |\n| make format                                                  | Run prettier to format source and test code       |\n| make start-(development OR testing)-database                 | Start database                                    |\n| make copy-env-(development OR testing)                       | Copy environment variables                        |\n\n# Test\n\nIt's necessary to UI snapshot test, it's also a must to write test for logical processing functions\n\n# Cli App\n\nAn Offline-first CLI application that let the developer generate various `.gitignore` templates\n\nThe templates are taken from the web application [Gitignored](https://gitignored.vercel.app), which is the GUI application of this application. The TUI application is available [here](https://crates.io/crates/gitignored-cli)\n\n**Side note**:\nThe GUI application takes the templates from [gitignore](https://github.com/github/gitignore) of Github\n\nHere's what the developers can do with this application\n\n1. View the name of all available templates\n2. Search to find out whether a name of a template exists\n3. Preview each template(s) searched, it will include the closest template if there's typo in the name searched, i.e JetBrains for jetbrain\n4. Generate template(s) to a `.gitignore` file, will not override current `.gitignore`, pass `--force` to forcefully override\n5. Generate template(s) to a specified directory, i.e `temp/temp1`, it will auto generate at as `temp/temp1/.gitignore`\n6. Append template(s) to an existing `.gitignore` file, it will create one if it does not exist\n7. Append template(s) to an existing `.gitignore` file of a specified directory, again it will create one if it does not exist\n8. Update the cache to receive latest templates\n9. Uninstall and remove every cache\n10. Open home page/website of this application\n\nYou don't need to have an internet connection to use it, unless you want to update the cache\n\n**_Note: gitignored-cli is a work-in-progress library, so expect breaking changes in its API_**\n\n# Default or Help\n\n```sh\ngitignored-cli\n```\n\nOR\n\n```sh\ngitignored-cli --help\n```\n\n![Default or Help](apps/cli/docs/default-or-help.png)\n\n# Update Available\n\n![Update Available](apps/cli/docs/update-available.png)\n\n# Default Listing\n\n```sh\ngitignored-cli template --list\n```\n\n![Default Listing](apps/cli/docs/list-default.png)\n\n# Listing with column number specified\n\n```sh\ngitignored-cli template --list --column 8\n```\n\n![Column Listing](apps/cli/docs/list-column.png)\n\n# Search\n\n```sh\ngitignored-cli template --search rust node java vscode jetbrain whatever\n```\n\n![Search](apps/cli/docs/search.png)\n\n# Preview\n\n```sh\ngitignored-cli template --preview rust node java vscode jetbrain\n```\n\n![Preview](apps/cli/docs/preview.png)\n\n# Default Generate\n\n```sh\ngitignored-cli template --generate rust node java vscode jetbrain whatever\n```\n\n![Default Generate](apps/cli/docs/generate.png)\n![Error Default Generate](apps/cli/docs/error-generate.png)\n\n# Abort Generate\n\n```sh\ngitignored-cli template --generate rust node java vscode jetbrain whatever\n```\n\n![Abort Generate](apps/cli/docs/abort-generate.png)\n\n# Force Generate\n\n```sh\ngitignored-cli template --generate rust node java vscode jetbrain whatever --force\n```\n\n![Force Generate](apps/cli/docs/force-generate.png)\n\n# Generate with outdir specified\n\n```sh\ngitignored-cli template --generate rust node java vscode jetbrain whatever --outdir temp-dev/temp-two\n```\n\n![Outdir generate](apps/cli/docs/generate-outdir.png)\n\n# Default Append\n\n```sh\ngitignored-cli template --append rust node java vscode jetbrain whatever\n```\n\n![Default Append](apps/cli/docs/append.png)\n\n# Abort Append\n\n```sh\ngitignored-cli template --append rust node java vscode jetbrain whatever\n```\n\n![Abort Append](apps/cli/docs/abort-append.png)\n\n# Append with outdir specified\n\n```sh\ngitignored-cli template --append rust node java vscode jetbrain whatever --outdir temp-dev/temp-two\n```\n\n![Outdir Append](apps/cli/docs/append-outdir.png)\n\n# Updated Cache\n\n```sh\ngitignored-cli template --update\n```\n\n![Updated](apps/cli/docs/updated.png)\n\n# Updating Cache\n\n```sh\ngitignored-cli template --update\n```\n\n![Updating](apps/cli/docs/updating.png)\n\n# Open home page in browser\n\n```sh\ngitignored-cli open-link\n```\n\n![Open Link](apps/cli/docs/open-link.png)\n\n# Uninstall\n\n```sh\ngitignored-cli uninstall\n```\n\n![Uninstall](apps/cli/docs/uninstall.png)\n\n# Of course, input validation\n\n![Input Validation](apps/cli/docs/input-validation.png)\n\n# How To Use\n\nInstall it\n\n```sh\ncargo install gitignored-cli\n```\n\nRun it\n\n```sh\ngitignored-cli (commands)\n```\n\n### Tech Used\n\n| Aspect                 | Name           |\n| ---------------------- | -------------- |\n| Language               | Rust           |\n| Linting                | Clippy         |\n| Format                 | Rustfmt        |\n| Build Automation Tool  | Make           |\n| Package Manager        | Cargo          |\n| Continuous Integration | GitHub Actions |\n\n### Make Commands\n\n_*Below are the listed commands that you can use to build/develop/test this app*_\n\n| Command        | Usage                                           |\n| -------------- | ----------------------------------------------- |\n| make test-dev  | Run all test code in development environment    |\n| make test-prod | Run all test code in ci-cd                      |\n| make build     | Bundle, build and release the app as executable |\n| make check     | Run compiler checking on code                   |\n| make lint      | Run linter for code                             |\n| make format    | Run formatter to format the code                |\n\n### Contribution\n\n**Make sure you can run `make`, otherwise you need to run commands listed in `Makefile` separately**\n\n1. Open an issue\n2. Fork this repo\n3. Write test\n\n### Changes\n\nRefer to [here](apps/cli/CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgervinfung%2Fgitignored","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgervinfung%2Fgitignored","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgervinfung%2Fgitignored/lists"}