{"id":20134246,"url":"https://github.com/trickfilm400/typescript-project-scaffolding","last_synced_at":"2026-03-04T04:01:11.398Z","repository":{"id":65555607,"uuid":"560185614","full_name":"Trickfilm400/typescript-project-scaffolding","owner":"Trickfilm400","description":"Create a new typescript project with everything you need to your needs customized in seconds!","archived":false,"fork":false,"pushed_at":"2025-12-22T16:18:27.000Z","size":640,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-24T02:11:54.910Z","etag":null,"topics":["es6","esm","esmodule","esmodule-node","inquirer","node","nodejs","npm","npm-cli","npm-init","npm-install","npm-module","npm-package","npm-scripts","scaffold-template","scaffolder","scaffolder-project","scaffolding","typescript"],"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/Trickfilm400.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-10-31T23:18:10.000Z","updated_at":"2025-12-22T16:18:30.000Z","dependencies_parsed_at":"2025-04-09T17:15:01.171Z","dependency_job_id":"1bd626b2-fd1e-49ca-9952-e9408a73f4ed","html_url":"https://github.com/Trickfilm400/typescript-project-scaffolding","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/Trickfilm400/typescript-project-scaffolding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trickfilm400%2Ftypescript-project-scaffolding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trickfilm400%2Ftypescript-project-scaffolding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trickfilm400%2Ftypescript-project-scaffolding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trickfilm400%2Ftypescript-project-scaffolding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Trickfilm400","download_url":"https://codeload.github.com/Trickfilm400/typescript-project-scaffolding/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trickfilm400%2Ftypescript-project-scaffolding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30071670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T03:25:38.285Z","status":"ssl_error","status_checked_at":"2026-03-04T03:25:05.086Z","response_time":59,"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":["es6","esm","esmodule","esmodule-node","inquirer","node","nodejs","npm","npm-cli","npm-init","npm-install","npm-module","npm-package","npm-scripts","scaffold-template","scaffolder","scaffolder-project","scaffolding","typescript"],"created_at":"2024-11-13T21:08:03.022Z","updated_at":"2026-03-04T04:01:11.388Z","avatar_url":"https://github.com/Trickfilm400.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003etypescript-project-scaffolding\u003c/h1\u003e\n\n\u003e **Summary**: This package can create a new project file and folder structure with dependencies, example files and config files which **you** have selected to your needs!\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/example.png\" width=\"600\" title=\"Example Run\"\u003e\n  \u003cimg src=\".github/folder.png\" title=\"Created Folder\"\u003e\n\u003c/p\u003e\n\n\u003e On the left is an example output if you run the script and on the right is the created folder structure.\n\n\n## Usage\n\nYou can create the following project templates:\n- http-api server with express\n- websocket server with plain websocket\n- socket.io server\n- a generic npm package for publish etc.\n- an empty project with no presets, just the developer dependencies\n\nEvery Project can have\n- `eslint + prettier`, `convict`, `winston`, `joi`, `amqp`, `mqtt` configured\n- as well as different test frameworks like `jest`, `mocha`,  `cypress`, `vitest` with code coverage via `nyc`\n- different database dependencies can be selected: `mongoose`, `typeorm`, `mysql` / `mysql2`, `mongodb`, `redis`\n- Dockerfile configuration can be created\n- CI/CD templates for `github actions` and `gitlab ci` can be created\n\n\n### Run:\n```shell\nnpm init typescript-project-scaffolding@latest\n```\n\nIf there is a question:\n```\nNeed to install the following packages:\n  create-typescript-project-scaffolding\nOk to proceed? (y) \n```\n=\u003e Enter \"y\" to install the init-project\n\n### The Following options can be customized:\n\n| Question                   | Available Options                                                                                   | Default Value                                      | Description                                                                                                                                                                                                                               |\n|----------------------------|-----------------------------------------------------------------------------------------------------|----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1. Project-Name            | \".\" or any path-string                                                                              |                                                    | The Folder Name where to create the new project, use \".\" for the current directory (if some files already exist in the folder, you need to press Enter a few times to force use the given folder - Instructions are shown in the console) |\n| 2. Project-Type            | `['http-api@express-utils', 'websocket-server', 'socket-io-server', 'npm-package', 'empty-project']` |                                                    | The Template for creating the new project, depending in this answer, custom project source files will be created                                                                                                                          |\n| 3. Dockerfile              | `true` or `false`                                                                                   | `true`                                             | Add a Dockerfile to run the project as a docker container (not available if project type is `npm-package`)                                                                                                                                |\n| 4. CI/CD Pipeline          | `['gitlab', 'github', 'none']`                                                                      | `github`                                           | A CI/CD Pipeline template (GitHub Actions or Gitlab Pipelines) which automatically is configured for the build and deployment of the project-type (push to NPM Registry or Docker Registry)                                               |\n| 5. Additional Packages     | `['eslint_prettier', 'convict', 'ts-node-dev', 'winston', 'joi', 'amqp', 'mqtt']`        | `['eslint', 'prettier', 'ts-node-dev', 'winston']` | Some dependencies which can be useful for the developer experience or for project functions (Multi-Select possible); Dependencies will be added as dependencies to `package.json` and if applicable, config files will be added           |\n| 6. Testing Packages        | `['mocha', 'chai-http', 'nyc', 'cypress', 'jest', 'vitest']`                                        |                                                    | Select (multiple) dependencies used for unit/integration/end-to-end testing; Custom test npm run scripts will be added as well as example test files                                                                                      |\n| 7. Database Driver         | `['mongoose', 'typeorm', 'mysql', 'mysql2', 'mongodb', 'redis']`                                    |                                                    | Select a Database dependency for a DB connection (multiple answers can be possible)                                                                                                                                                       |\n| 8. latest package versions | `true` or `false`                                                                                   | `false`                                            | If `true`, the latest npm package version will be installed, otherwise an hard-coded version will be used; If `true`, it is not guaranteed that the example files will be working, because it is only tested with the hard-coded versions |\n| 9. npm install             | `true` or `false`                                                                                   | `false`                                            | If `true`, the dependencies selected will be installed with `npm install`; If not, the installation step will be skipped.                                                                                                                 |\n| 10. git init               | `true` or `false`                                                                                   | `false`                                            | Create a git repository in the new project folder                                                                                                                                                                                         |\n| 11. `.idea/` folder files  | `['prettier', 'eslint']`                                                                            |                                                    | Copy .idea files to the destination to auto-configure IDE settings                                                                                                                                                                        |\n\n## Reference\n- npm package link: https://www.npmjs.com/package/create-typescript-project-scaffolding\n\n## Todo\n- [x] _(prio: high)_ readme (pictures, videos)\n- [x] _(prio: high)_ ci/cd templates\n- [ ] _(prio: none)_ testing jest/vitest etc. framework \n\u003c!--\n- [ ] _(prio: none)_ add more project templates??\n--\u003e\n\n## 🤝 Contributing\nContributions, issues and feature requests are welcome!\nFeel free to create issues here on GitHub.\n\n----\n#### Give a ⭐️ if this project helped you!\n\n2022-2025 Trickfilm400 \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrickfilm400%2Ftypescript-project-scaffolding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrickfilm400%2Ftypescript-project-scaffolding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrickfilm400%2Ftypescript-project-scaffolding/lists"}