{"id":14155534,"url":"https://github.com/tunnckoCoreLabs/charlike","last_synced_at":"2025-08-06T01:31:42.741Z","repository":{"id":57197072,"uuid":"72506861","full_name":"tunnckoCoreLabs/charlike","owner":"tunnckoCoreLabs","description":"Small, fast and streaming project scaffolder with support for hundreds of template engines (via @JSTransformers) and sane defaults","archived":false,"fork":false,"pushed_at":"2019-10-01T17:37:46.000Z","size":807,"stargazers_count":5,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-26T22:11:42.272Z","etag":null,"topics":["engine","fast","javascript","scaffold","scaffolder","small","starter-kit","streaming","template-engine","templates","tool"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tunnckoCoreLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-01T05:32:12.000Z","updated_at":"2024-01-15T17:23:08.000Z","dependencies_parsed_at":"2022-09-16T13:11:36.767Z","dependency_job_id":null,"html_url":"https://github.com/tunnckoCoreLabs/charlike","commit_stats":null,"previous_names":[],"tags_count":134,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunnckoCoreLabs%2Fcharlike","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunnckoCoreLabs%2Fcharlike/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunnckoCoreLabs%2Fcharlike/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tunnckoCoreLabs%2Fcharlike/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tunnckoCoreLabs","download_url":"https://codeload.github.com/tunnckoCoreLabs/charlike/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228821405,"owners_count":17977166,"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":["engine","fast","javascript","scaffold","scaffolder","small","starter-kit","streaming","template-engine","templates","tool"],"created_at":"2024-08-17T08:03:48.234Z","updated_at":"2024-12-09T02:31:26.181Z","avatar_url":"https://github.com/tunnckoCoreLabs.png","language":"JavaScript","funding_links":["https://paypal.me/tunnckoCore/10","https://www.patreon.com/bePatron?u=5579781"],"categories":["streaming"],"sub_categories":[],"readme":"# charlike [![npm version][npmv-img]][npmv-url] [![github release][ghrelease-img]][ghrelease-url] [![License][license-img]][license-url]\n\n\u003e Small, fast and streaming project scaffolder with support for hundreds of template engines and sane defaults\n\nPlease consider following this project's author, [Charlike Mike Reagent](https://github.com/tunnckoCore), and :star: the project to show your :heart: and support.\n\n\u003cdiv id=\"thetop\"\u003e\u003c/div\u003e\n\n[![Code style][codestyle-img]][codestyle-url]\n[![CircleCI linux build][linuxbuild-img]][linuxbuild-url]\n[![CodeCov coverage status][codecoverage-img]][codecoverage-url]\n[![DavidDM dependency status][dependencies-img]][dependencies-url]\n[![Renovate App Status][renovateapp-img]][renovateapp-url]\n[![Make A Pull Request][prs-welcome-img]][prs-welcome-url]\n[![Semantically Released][standard-release-img]][standard-release-url]\n\nIf you have any _how-to_ kind of questions, please read the [Contributing Guide](./CONTRIBUTING.md) and [Code of Conduct](./CODE_OF_CONDUCT.md) documents.  \nFor bugs reports and feature requests, [please create an issue][open-issue-url] or ping\n[@tunnckoCore](https://twitter.com/tunnckoCore) at Twitter.\n\n[![Become a Patron][patreon-img]][patreon-url]\n[![Conventional Commits][ccommits-img]][ccommits-url]\n[![Spectrum community][spectrum-community-img]][spectrum-community-url]\n[![NPM Downloads Monthly][downloads-monthly-img]][npmv-url]\n[![NPM Downloads Total][downloads-total-img]][npmv-url]\n[![Share Love Tweet][shareb]][shareu]\n\nProject is [semantically](https://semver.org) versioned \u0026 automatically released through [CircleCI](https://circleci.com) with [Standard Release][standard-release-url].\n\n\u003c!-- Logo when needed:\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tunnckoCoreLabs/charlike\"\u003e\n    \u003cimg src=\"./media/logo.png\" width=\"85%\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n--\u003e\n\n## Table of Contents\n\n- [Install](#install)\n- [CLI](#cli)\n- [API](#api)\n  * [src/index.js](#srcindexjs)\n    + [charlike](#charlike)\n- [See Also](#see-also)\n- [Contributing](#contributing)\n  * [Guides and Community](#guides-and-community)\n  * [Support the project](#support-the-project)\n  * [OPEN Open Source](#open-open-source)\n  * [Wonderful Contributors](#wonderful-contributors)\n- [License](#license)\n\n_(TOC generated by [verb](https://github.com/verbose/verb) using [markdown-toc](https://github.com/jonschlinkert/markdown-toc))_\n\n## Install\n\nThis project requires [**Node.js**](https://nodejs.org) **^8.10.0 || \u003e=10.13.0** _(see [Support \u0026 Release Policy](https://github.com/tunnckoCoreLabs/support-release-policy))_. Install it using\n[**yarn**](https://yarnpkg.com) or [**npm**](https://npmjs.com).  \n_We highly recommend to use Yarn when you think to contribute to this project._\n\n```bash\n$ yarn add charlike\n# or globally\n$ yarn global add charlike\n```\n\n## CLI\n\nInstall it globally or locally and run `charlike --help`.\n\n```\n  Usage: charlike [name] [description] [flags]\n\n  Common Flags:\n    -h, --help                Display this help.\n    -v, --version             Display current version.\n\n  Flags:\n    -n, --name                Project's name.\n    -d, --desc                Project description, short for \"--project.description\".\n    -o, --owner               Usually your GitHub username or organization.\n    -t, --templates           Source templates directory.\n    --engine                  Engine to be used in the template files.\n    --locals                  Locals for the template files. Support dot notation.\n    --locals.author.name      Project's author name.\n    --locals.author.email     Project's author email. And so on.\n    --project                 Project metadata like name, description\n    --project.name            Project name.\n    --project.description     Project description.\n    --cwd                     Folder to be used as current working dir.\n    --ly                      Shortcut for --locals.license.year (license start year).\n    --ln                      Set --locals.license.name.\n\n  Examples:\n    charlike my-new-project --ly 2018 --ln MIT -o myOrg\n    charlike --project.name foobar --locals.author 'John Snow'\n    charlike foobar --locals.author.name 'John Snow'\n    charlike foobar --locals.license 'Apache-2.0' --locals.foo bar\n    charlike foobar 'This is description'\n    charlike foobar --project.description 'Some description here'\n    charlike foobar --desc 'Some description here'\n    charlike foobar 'Awesome description' --owner tunnckoCoreLabs\n    charlike --project.name qux --desc 'Yeah descr' --owner tunnckoCore\n\n```\n\n## API\n\n\u003c!-- docks-start --\u003e\n_Generated using [docks](http://npm.im/docks)._\n\n### [src/index.js](/src/index.js)\n\n#### [charlike](/src/index.js#L62)\nGenerates a complete project using a set of templates.\n\nYou can define what _\"templates\"_ files to be used\nby passing `settings.templates`, by default it uses [./templates](./templates)\nfolder from this repository root.\n\nYou can define project metadata in `settings.project` object, which should contain\n`name`, `description` properties and also can contain `repo` and `dest`.\nBy default the destination folder is dynamically built from `settings.cwd` and `settings.project.name`,\nbut this behavior can be changed. If `settings.project.repo` is passed, then it will be used\ninstead of the `settings.project.name`.\n\nTo control the context of the templates, pass `settings.locals`. The default set of locals\nincludes `version` string and `project`, `author` and `license` objects.\n\n**Params**\n- `settings` **{object}** the only required is `project` which should be an object\n- `settings.cwd` **{object}** working directory to create project to, defaults to `process.cwd()`\n- `settings.project` **{object}** should contain `name`, `description`, `repo` and `dest`\n- `settings.locals` **{object}** to pass more context to template files\n- `settings.engine` **{string}** for different template engine to be used in template files, default is `lodash`\n\n**Returns**\n- `Promise\u003cobject\u003e` if successful, will resolve to object like `{ locals, project, dest, options }`\n\n**Examples**\n```javascript\nimport charlike from 'charlike';\n\nconst settings = {\n  project: { name: 'foobar', description: 'Awesome project' },\n  cwd: '/home/charlike/code',\n  templates: '/home/charlike/config/.jsproject',\n  locals: {\n    foo: 'bar',\n    // some helper\n    toUpperCase: (val) =\u003e val.toUpperCase(),\n  },\n};\n\n// the `dest` will be `/home/charlike/code/foobar`\ncharlike(settings)\n  .then(({ dest }) =\u003e console.log(`Project generated to ${dest}`))\n  .catch((err) =\u003e console.error(`Error occures: ${err.message}; Sorry!`));\n```\n\n\u003c!-- docks-end --\u003e\n\n**[back to top](#thetop)**\n\n## See Also\n\nSome of these projects are used here or were inspiration for this one, others are just related. So, thanks for your existance!\n\n- [@tunnckocore/config](https://www.npmjs.com/package/@tunnckocore/config): All the configs for all the tools, in one place | [homepage](https://github.com/tunnckoCoreLabs/config \"All the configs for all the tools, in one place\")\n- [@tunnckocore/create-project](https://www.npmjs.com/package/@tunnckocore/create-project): Create and scaffold a new project, its GitHub repository and… [more](https://github.com/tunnckoCoreLabs/create-project) | [homepage](https://github.com/tunnckoCoreLabs/create-project \"Create and scaffold a new project, its GitHub repository and contents\")\n- [asia](https://www.npmjs.com/package/asia): Blazingly fast, magical and minimalist testing framework, for Today and… [more](https://github.com/olstenlarck/asia#readme) | [homepage](https://github.com/olstenlarck/asia#readme \"Blazingly fast, magical and minimalist testing framework, for Today and Tomorrow\")\n- [docks](https://www.npmjs.com/package/docks): Extensible system for parsing and generating documentation. It just freaking… [more](https://github.com/tunnckoCore/docks) | [homepage](https://github.com/tunnckoCore/docks \"Extensible system for parsing and generating documentation. It just freaking works!\")\n- [git-commits-since](https://www.npmjs.com/package/git-commits-since): Get all commits since given period of time or by… [more](https://github.com/tunnckoCoreLabs/git-commits-since) | [homepage](https://github.com/tunnckoCoreLabs/git-commits-since \"Get all commits since given period of time or by default from latest git semver tag. Understands and follows both SemVer and the Conventional Commits specification.\")\n- [gitcommit](https://www.npmjs.com/package/gitcommit): Lightweight and joyful `git commit` replacement. Conventional Commits compliant. | [homepage](https://github.com/tunnckoCore/gitcommit \"Lightweight and joyful `git commit` replacement. Conventional Commits compliant.\")\n- [recommended-bump](https://www.npmjs.com/package/recommended-bump): Calculates recommended bump (next semver version) based on given array… [more](https://github.com/tunnckoCoreLabs/recommended-bump) | [homepage](https://github.com/tunnckoCoreLabs/recommended-bump \"Calculates recommended bump (next semver version) based on given array of commit messages following Conventional Commits specification\")\n\n**[back to top](#thetop)**\n\n## Contributing\n\n### Guides and Community\n\nPlease read the [Contributing Guide](./CONTRIBUTING.md) and [Code of Conduct](./CODE_OF_CONDUCT.md) documents for advices.\n\nFor bug reports and feature requests, please join our [Spectrum community][spectrum-community-url] forum and open a thread there with prefixing the title of the thread with the name of the project if there's no separate channel for it.\n\nConsider reading the [Support and Release Policy](https://github.com/tunnckoCoreLabs/support-release-policy) guide if you are interested in what are the supported Node.js versions and how we proceed. In short, we support _latest two even-numbered_ Node.js release lines.\n\n### Support the project\n\n[Become a Partner or Sponsor?][patreon-url] :dollar: Check the **Partner**, **Sponsor** or **Omega-level** tiers! :tada: You can get your company logo, link \u0026 name on this file. It's also rendered on package page in [npmjs.com][npmv-url] and [yarnpkg.com](https://yarnpkg.com/en/package/charlike) sites too! :rocket:\n\nNot financial support? Okey! [Pull requests](https://github.com/tunnckoCoreLabs/contributing#opening-a-pull-request), stars and all kind of [contributions](https://opensource.guide/how-to-contribute/#what-it-means-to-contribute) are always\nwelcome. :sparkles:\n\n### OPEN Open Source\n\nThis project is following [OPEN Open Source](http://openopensource.org) model\n\n\u003e Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is built on collective efforts and it's not strongly guarded by its founders.\n\nThere are a few basic ground-rules for its contributors\n\n1. Any **significant modifications** must be subject to a pull request to get feedback from other contributors.\n2. [Pull requests](https://github.com/tunnckoCoreLabs/contributing#opening-a-pull-request) to get feedback are _encouraged_ for any other trivial contributions, but are not required.\n3. Contributors should attempt to adhere to the prevailing code-style and development workflow.\n\n### Wonderful Contributors\n\nThanks to the hard work of these wonderful people this project is alive! It follows the\n[all-contributors](https://github.com/kentcdodds/all-contributors) specification.  \nDon't hesitate to add yourself to that list if you have made any contribution! ;) [See how,\nhere](https://github.com/jfmengels/all-contributors-cli#usage).\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n| [\u003cimg src=\"https://avatars3.githubusercontent.com/u/5038030?v=4\" width=\"120px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCharlike Mike Reagent\u003c/b\u003e\u003c/sub\u003e](https://tunnckocore.com)\u003cbr /\u003e[💻](https://github.com/tunnckoCoreLabs/charlike/commits?author=tunnckoCore \"Code\") [📖](https://github.com/tunnckoCoreLabs/charlike/commits?author=tunnckoCore \"Documentation\") [💬](#question-tunnckoCore \"Answering Questions\") [👀](#review-tunnckoCore \"Reviewed Pull Requests\") [🔍](#fundingFinding-tunnckoCore \"Funding Finding\") |\n| :---: |\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nConsider showing your [support](#support-the-project) to them. :sparkling_heart:\n\n## License\n\nCopyright (c) 2016-present, [Charlike Mike Reagent](https://tunnckocore.com) `\u003cmameto2011@gmail.com\u003e` \u0026 [contributors](#wonderful-contributors).  \nReleased under the [Apache-2.0 License][license-url].\n\n\u003c!-- Heading badges --\u003e\n\n[npmv-url]: https://www.npmjs.com/package/charlike\n[npmv-img]: https://badgen.net/npm/v/charlike?icon=npm\n\n[ghrelease-url]: https://github.com/tunnckoCoreLabs/charlike/releases/latest\n[ghrelease-img]: https://badgen.net/github/release/tunnckoCoreLabs/charlike?icon=github\n\n[license-url]: https://github.com/tunnckoCoreLabs/charlike/blob/master/LICENSE\n[license-img]: https://badgen.net/npm/license/charlike\n\n\u003c!-- Front line badges --\u003e\n\n[codestyle-url]: https://github.com/airbnb/javascript\n[codestyle-img]: https://badgen.net/badge/code%20style/airbnb/ff5a5f?icon=airbnb\n\n[linuxbuild-url]: https://circleci.com/gh/tunnckoCoreLabs/charlike/tree/master\n[linuxbuild-img]: https://badgen.net/circleci/github/tunnckoCoreLabs/charlike/master?label=build\u0026icon=circleci\n\n[codecoverage-url]: https://codecov.io/gh/tunnckoCoreLabs/charlike\n[codecoverage-img]: https://badgen.net/codecov/c/github/tunnckoCoreLabs/charlike?icon=codecov\n\n[dependencies-url]: https://david-dm.org/tunnckoCoreLabs/charlike\n[dependencies-img]: https://badgen.net/david/dep/tunnckoCoreLabs/charlike?label=deps\n\n[ccommits-url]: https://conventionalcommits.org/\n[ccommits-img]: https://badgen.net/badge/conventional%20commits/v1.0.0/dfb317\n\n[standard-release-url]: https://github.com/standard-release/standard-release\n[standard-release-img]: https://badgen.net/badge/semantically/released/05c5ff\n\n[spectrum-community-img]: https://badgen.net/badge/spectrum/community/7b16ff\n[spectrum-community-url]: https://spectrum.chat/tunnckoCore\n\n[downloads-weekly-img]: https://badgen.net/npm/dw/charlike\n[downloads-monthly-img]: https://badgen.net/npm/dm/charlike\n[downloads-total-img]: https://badgen.net/npm/dt/charlike\n\n[renovateapp-url]: https://renovatebot.com\n[renovateapp-img]: https://badgen.net/badge/renovate/enabled/green\n\n[prs-welcome-img]: https://badgen.net/badge/PRs/welcome/green\n[prs-welcome-url]: http://makeapullrequest.com\n\n[paypal-donate-url]: https://paypal.me/tunnckoCore/10\n[paypal-donate-img]: https://badgen.net/badge/$/support/purple\n\n[patreon-url]: https://www.patreon.com/bePatron?u=5579781\n[patreon-img]: https://badgen.net/badge/patreon/tunnckoCore/F96854?icon=patreon\n[patreon-sponsor-img]: https://badgen.net/badge/become/a%20sponsor/F96854?icon=patreon\n\n[shareu]: https://twitter.com/intent/tweet?text=https://github.com/tunnckoCoreLabs/charlike\u0026via=tunnckoCore\n[shareb]: https://badgen.net/badge/twitter/share/1da1f2?icon=twitter\n\n[open-issue-url]: https://github.com/tunnckoCoreLabs/charlike/issues/new\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FtunnckoCoreLabs%2Fcharlike","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FtunnckoCoreLabs%2Fcharlike","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FtunnckoCoreLabs%2Fcharlike/lists"}