{"id":15981389,"url":"https://github.com/hideoo/create-app","last_synced_at":"2025-08-17T10:40:31.111Z","repository":{"id":57748735,"uuid":"521266709","full_name":"HiDeoo/create-app","owner":"HiDeoo","description":"CLI utility to bootstrap a new project by creating a new app from scratch or update an existing app.","archived":false,"fork":false,"pushed_at":"2024-12-16T07:41:23.000Z","size":666,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-08T17:25:53.685Z","etag":null,"topics":["app","automatic","bootstrap","configuration","create","scaffold"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/HiDeoo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2022-08-04T12:56:09.000Z","updated_at":"2024-12-16T13:20:43.000Z","dependencies_parsed_at":"2024-02-02T16:56:35.010Z","dependency_job_id":"d081c4f6-c139-481a-bd8e-cc82d297c806","html_url":"https://github.com/HiDeoo/create-app","commit_stats":{"total_commits":102,"total_committers":1,"mean_commits":102.0,"dds":0.0,"last_synced_commit":"4c059147533f02569e761e6e7c1023bbbe7d8953"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/HiDeoo/create-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiDeoo%2Fcreate-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiDeoo%2Fcreate-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiDeoo%2Fcreate-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiDeoo%2Fcreate-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HiDeoo","download_url":"https://codeload.github.com/HiDeoo/create-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiDeoo%2Fcreate-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270837424,"owners_count":24654379,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"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":["app","automatic","bootstrap","configuration","create","scaffold"],"created_at":"2024-10-08T00:43:51.785Z","updated_at":"2025-08-17T10:40:31.067Z","avatar_url":"https://github.com/HiDeoo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e@hideoo/create-app 🏗️\u003c/h1\u003e\n  \u003cp\u003eDon't Repeat Yourself\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/HiDeoo/create-app/actions/workflows/integration.yml\"\u003e\n    \u003cimg alt=\"Integration Status\" src=\"https://github.com/HiDeoo/create-app/actions/workflows/integration.yml/badge.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/HiDeoo/create-app/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"License\" src=\"https://badgen.net/github/license/HiDeoo/create-app\" /\u003e\n  \u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\u003c/div\u003e\n\nBootstrapping a new project always consists of the exact same steps like setting up TypeScript, installing dependencies, configuring a linter, adding various miscellaneous files and so on.\n\n`@hideoo/create-app` is a very opinionated CLI utility to help me quickly bootstrap a new project by either:\n\n- creating a new project from scratch\n- updating a new project generated with `pnpm create vite` or `pnpm create next-app`\n\n\u003cbr /\u003e\n\n\u003e **Note**: [pnpm](https://pnpm.io) and the [GitHub CLI](https://cli.github.com) are required to use this utility.\n\n## Usage\n\n```shell\n$ pnpm create @hideoo/app\n```\n\nAnd that's it, no options, no configuration and no extra tweaks needed, you are ready to go!\n\n## Features\n\nEither **create** a new app from scratch (in the current directory or a new directory) or **update** an existing app.\n\n### Tools\n\n- TypeScript with a configuration extending [@hideoo/tsconfig](https://github.com/HiDeoo/tsconfig)\n- ESLint with a flat configuration extending [@hideoo/eslint-config](https://github.com/HiDeoo/eslint-config)\n- Prettier with a configuration extending [@hideoo/prettier-config](https://github.com/HiDeoo/prettier-config) and a pre-filled `.prettierignore` file\n\n### Package.json\n\n- Pre-fill most common fields\n- Add a `lint` script to lint and typecheck the code\n- Add a `format` script to ensure formatting\n- Enforce the package manager to the latest version of pnpm (reused in GitHub Actions)\n- Enforce a minimum Node.js version (reused in GitHub Actions)\n- Optionally add the configuration for publishing to npm\n- Sort all well-known fields based on [custom rules](src/config.ts#L16-L88)\n\n### Dependencies\n\n- Automatically install all dependencies using `pnpm`\n- Use the latest version for all new and existing dependencies (versions are fetched from [jsDelivr](https://www.jsdelivr.com))\n\n### Miscellaneous\n\n- Automatically run Prettier and ESLint with the `--fix` option on all files _(this is particularly useful when updating an existing project to ensure all files match the proper code style)_\n- Add various various pre-filled files like `.gitignore`, `README.md` and `LICENSE`\n\n### Git\n\n- Initialize a new Git repository if needed\n- If a repository matching the name of the app exists on GitHub, update various GitHub repository settings\n  - Enable setting to [automatically delete head branches after pull requests are merged](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches)\n  - Enable setting to [always suggest updating pull request branches](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)\n  - For public npm packages:\n    - Disable setting to [allow merge commits](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests)\n    - Disable setting to [allow rebase merging](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests)\n    - Enable setting to [allow GitHub Actions to create and approve pull requests](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests)\n- If a repository matching the name of the app exists on GitHub, enable the GitHub repository setting to [automatically delete head branches after pull requests are merged](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches)\n- Stage _added_ or _updated_ files during the creation of the app at the end of the process\n\n### GitHub Actions\n\n- Create an autofix workflow to ensure formatting and using [autofix.ci](https://autofix.ci/) to automatically update pull requests if needed\n- Create an integration workflow to lint, typecheck and test the project for every push on the main branch or pull request\n- Add a customizable release workflow\n  - For public npm packages:\n    - Use [Changesets](https://github.com/changesets/changesets) to manage versioning and changelogs\n    - A webpage to create a new npm automation access token will be opened during the installation in order to automatically add the new token as a secret to the repository matching the name of the app on GitHub if it exists\n    - The released package(s) will be published with [provenance](https://github.blog/2023-04-19-introducing-npm-package-provenance) to the npm registry\n  - For other projects:\n    - The release workflow can be triggered by bumping the version number in a commit with a tag matching the new version number (or just running `pnpx bumpp`)\n    - A new release containing the changelog will be published on GitHub based on [conventional commits](https://www.conventionalcommits.org)\n\n## License\n\nLicensed under the MIT License, Copyright © HiDeoo.\n\nSee [LICENSE](https://github.com/HiDeoo/create-app/blob/main/LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhideoo%2Fcreate-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhideoo%2Fcreate-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhideoo%2Fcreate-app/lists"}