{"id":29955134,"url":"https://github.com/phucbm/gen-from","last_synced_at":"2025-08-03T17:11:00.902Z","repository":{"id":302205578,"uuid":"1011595617","full_name":"phucbm/gen-from","owner":"phucbm","description":"CLI tool to generate projects from GitHub template repositories","archived":false,"fork":false,"pushed_at":"2025-07-31T01:53:38.000Z","size":96,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-31T04:26:20.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/phucbm.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"phucbm","patreon":"phucbm","open_collective":"phucbm","ko_fi":"phucbm","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2025-07-01T04:18:04.000Z","updated_at":"2025-07-31T01:52:31.000Z","dependencies_parsed_at":"2025-07-01T05:42:38.730Z","dependency_job_id":"408b6237-2d8d-4f32-956a-4c9f36d9a283","html_url":"https://github.com/phucbm/gen-from","commit_stats":null,"previous_names":["phucbm/gen-from"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/phucbm/gen-from","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phucbm%2Fgen-from","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phucbm%2Fgen-from/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phucbm%2Fgen-from/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phucbm%2Fgen-from/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phucbm","download_url":"https://codeload.github.com/phucbm/gen-from/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phucbm%2Fgen-from/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268578914,"owners_count":24273089,"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-03T02:00:12.545Z","response_time":2577,"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":[],"created_at":"2025-08-03T17:10:54.125Z","updated_at":"2025-08-03T17:11:00.886Z","avatar_url":"https://github.com/phucbm.png","language":"JavaScript","funding_links":["https://github.com/sponsors/phucbm","https://patreon.com/phucbm","https://opencollective.com/phucbm","https://ko-fi.com/phucbm"],"categories":[],"sub_categories":[],"readme":"# gen-from\n\n[![Publish on Release](https://github.com/phucbm/gen-from/actions/workflows/publish.yml/badge.svg)](https://github.com/phucbm/gen-from/actions/workflows/publish.yml)\n[![npm version](https://badgen.net/npm/v/gen-from?icon=npm)](https://www.npmjs.com/package/gen-from)\n[![npm downloads](https://badgen.net/npm/dm/gen-from?icon=npm)](https://www.npmjs.com/package/gen-from)\n[![npm dependents](https://badgen.net/npm/dependents/gen-from?icon=npm)](https://www.npmjs.com/package/gen-from)\n[![github stars](https://badgen.net/github/stars/phucbm/gen-from?icon=github)](https://github.com/phucbm/gen-from/)\n[![github license](https://badgen.net/github/license/phucbm/gen-from?icon=github)](https://github.com/phucbm/gen-from/blob/main/LICENSE)\n[![Made in Vietnam](https://raw.githubusercontent.com/webuild-community/badge/master/svg/made.svg)](https://webuild.community)\n\nCLI tool to generate projects from GitHub template repositories using tiged.\n\n## Installation\n\n```bash\nnpm install -g gen-from\n```\n\nOr use directly with npx:\n\n```bash\nnpx gen-from\n```\n\n## Usage\n\n### Interactive mode (recommended)\n```bash\nnpx gen-from\n```\nShows a list of available templates to choose from.\n\n### Direct template selection\n```bash\nnpx gen-from npm-utils-template\n```\n\n### Generate in current directory\n```bash\nnpx gen-from npm-utils-template --here\n```\n\n## How it works\n\n1. **Template Selection**: Choose from configured templates or specify directly\n2. **Validation**: Checks if the template repository exists on GitHub\n3. **Information Collection**: Prompts for project details (name, author, description, etc.)\n4. **Download**: Uses tiged to download the latest template files (fast, no git history)\n5. **Processing**: Replaces placeholders with your provided information\n6. **Ready**: Your project is ready to use!\n\n## Template Placeholders\n\nThe following placeholders are automatically replaced in template files:\n\n- `{{PROJECT_NAME}}` - Project directory name\n- `{{PACKAGE_NAME}}` - NPM package name\n- `{{USERNAME}}` - GitHub username\n- `{{AUTHOR_NAME}}` - Author full name\n- `{{DESCRIPTION}}` - Package description\n- `{{KEYWORDS}}` - Keywords (comma-separated)\n- `{{LICENSE}}` - License type\n\n## Configuration\n\nTemplates are configured in `templates.json`. You can add your own templates by:\n\n1. Adding entries to the `templates` array\n2. Specifying the GitHub repository path\n3. Templates should use the placeholder format above\n\nExample template entry:\n```json\n{\n  \"name\": \"my-template\",\n  \"description\": \"My awesome template\",\n  \"repo\": \"username/my-template-repo\"\n}\n```\n\n## Creating Templates\n\n1. Create a GitHub repository with your template files\n2. Use placeholders like `{{PACKAGE_NAME}}` in your template files\n3. Add your template to the configuration\n4. The template will be available in the CLI\n\n## Examples\n\n```bash\n# Interactive template selection\nnpx gen-from\n\n# Generate from specific template\nnpx gen-from npm-utils-template\n\n# Generate in current directory\nnpx gen-from react-component-template --here\n```\n\n## Requirements\n\n- Node.js \u003e= 16\n- Git (for tiged to work)\n\n## License\n\nMIT © [phucbm](https://github.com/phucbm)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphucbm%2Fgen-from","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphucbm%2Fgen-from","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphucbm%2Fgen-from/lists"}