{"id":18648103,"url":"https://github.com/vitonsky/charmix","last_synced_at":"2025-09-15T08:33:01.808Z","repository":{"id":48093013,"uuid":"498911732","full_name":"vitonsky/charmix","owner":"vitonsky","description":"Tool to generate project files structure from archetypes (file structure template created by users)","archived":false,"fork":false,"pushed_at":"2024-02-29T21:15:49.000Z","size":155,"stargazers_count":1,"open_issues_count":19,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T12:27:09.217Z","etag":null,"topics":["archetype","archetypes","boilerplate","boilerplate-application","cli","cli-app","generator","scaffold","template","template-project","tool"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/charmix","language":"TypeScript","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/vitonsky.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}},"created_at":"2022-06-01T22:05:38.000Z","updated_at":"2023-02-13T18:58:28.000Z","dependencies_parsed_at":"2024-02-29T22:27:26.540Z","dependency_job_id":"06170fed-c114-4d80-be80-b065c1152e28","html_url":"https://github.com/vitonsky/charmix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitonsky%2Fcharmix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitonsky%2Fcharmix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitonsky%2Fcharmix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitonsky%2Fcharmix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitonsky","download_url":"https://codeload.github.com/vitonsky/charmix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239450020,"owners_count":19640645,"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":["archetype","archetypes","boilerplate","boilerplate-application","cli","cli-app","generator","scaffold","template","template-project","tool"],"created_at":"2024-11-07T06:28:56.473Z","updated_at":"2025-02-18T10:23:21.114Z","avatar_url":"https://github.com/vitonsky.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Charmix it's a tool to generate projects from custom templates (archetypes).\n\nIt's try to solve a problem when you copy files from one project to another over and over. And then, you sync changes in every single file between projects.\n\nNow you can make project template once and apply it for every new project.\n\n# Why Charmix?\n\n**If you tried to use boilerplate generators** like `create-react-app` and similar, you may ask yourself \"why i should use charmix instead\"?\n\nAnswer is - for your productivity. Instead of use few CLI tools and remember how to use its and read the docs for each, you may use one tool that have one powerful interface for ALL archetypes.\n\n**If you created a boilerplate generators**, you may ask yourself \"why i should to create charmix archetype, instead of standalone boilerplate?\"\n\nAnswer is - easy maintenance and whole powerful of platform. All you need is create JSON file on 4 lines contains glob pattern to files for static archetype or javascript function that receive options and return configured files as buffers or strings for dynamic archetypes.\n\nRead more in [ArchetypeAPI docs](./docs/ArchetypeAPI.md)\n\n# How to use?\n\n## Installation\n\n```sh\n# install it globally\nnpm install -g charmix\n\n# or yarn\nyarn global add charmix\n```\n\n## Add your favorite archetypes\n\nCharmix is only platform to manage boilerplates, but it's not contains any archetypes by default. It's like [APT](\u003chttps://en.wikipedia.org/wiki/APT_(software)\u003e) for linux packages.\n\nThus, you have to find archetypes on the internet or create yours and add it to charmix registry to use.\n\nYou can look at [archetypes list][archetypeslist] or try to find on [github](https://github.com/topics/charmixarchetype) or [npm](https://www.npmjs.com/search?q=%23charmixarchetype) by keyword `charmixArchetype`.\n\n```sh\n# Add archetype from git service\ncharmix add -t git https://github.com/vitonsky/charmix.git archetypes/typescript\n\n# Or from local machine\ncharmix add -t local /home/username/archetypeDirectory\n```\n\n## Use archetype\n\n```sh\n# You may list available archetypes\ncharmix list\n\n# Let's use archetype typescript\ncharmix add -t local /home/username/archetypeDirectory\n\n# To write files to current directory\ncharmix use typescript\n# To write files to directory projectDir\ncharmix use -d ./projectDir typescript\n\n# Specify parameters manually\ncharmix use -d ./projectDir typescript name=projectName useReact=true\n# Or specify parameters in interactive mode\ncharmix use -d ./projectDir -i typescript\n```\n\nExplore commands by run any command with argument `--help` or `-h`.\n\nTry it `charmix -h`, `charmix use -h`.\n\n# How to create a new archetype?\n\nIf you want to create archetype, read the [ArchetypeAPI docs](./docs/ArchetypeAPI.md) and [suggests to create archetype](./docs/CreateArchetype.md).\n\nIf you create archetype and want to make it public, publish your archetype to any git hosting or npm registry with keyword `charmixArchetype` and [create issue](https://github.com/vitonsky/charmix/issues/new) with url to your archetype to add it to [archetypes list][archetypeslist].\n\n---\n\nInspired by [Maven](https://maven.apache.org/archetype/index.html)\n\n[archetypeslist]: ./docs/Archetypes.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitonsky%2Fcharmix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitonsky%2Fcharmix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitonsky%2Fcharmix/lists"}