{"id":20645141,"url":"https://github.com/kucingkode/cithak","last_synced_at":"2026-01-28T17:33:27.689Z","repository":{"id":57199032,"uuid":"400955306","full_name":"KucingKode/Cithak","owner":"KucingKode","description":"Simple, Secure yet Powerful template manager that do more than overwriting your files","archived":false,"fork":false,"pushed_at":"2021-12-06T06:14:47.000Z","size":634,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-17T03:55:56.210Z","etag":null,"topics":["cithak","cli","cross-platform","javascript","nodejs","productivity","secure-by-default","simple","template","template-manager","tool"],"latest_commit_sha":null,"homepage":"https://KucingKode.github.io/Cithak","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/KucingKode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://trakteer.id/kucingkode/tip"]}},"created_at":"2021-08-29T05:05:08.000Z","updated_at":"2021-12-10T01:13:25.000Z","dependencies_parsed_at":"2022-09-16T14:51:01.297Z","dependency_job_id":null,"html_url":"https://github.com/KucingKode/Cithak","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KucingKode%2FCithak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KucingKode%2FCithak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KucingKode%2FCithak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KucingKode%2FCithak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KucingKode","download_url":"https://codeload.github.com/KucingKode/Cithak/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234339827,"owners_count":18816732,"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":["cithak","cli","cross-platform","javascript","nodejs","productivity","secure-by-default","simple","template","template-manager","tool"],"created_at":"2024-11-16T16:18:50.350Z","updated_at":"2025-09-26T20:30:24.769Z","avatar_url":"https://github.com/KucingKode.png","language":"JavaScript","funding_links":["https://trakteer.id/kucingkode/tip"],"categories":[],"sub_categories":[],"readme":"# Cithak\n\n![icon](./images/icon.svg)\n\n---\n\n[![made-with-javascript](https://img.shields.io/badge/Made%20with-JavaScript-1f425f.svg)](https://www.javascript.com)\n[![badge](https://img.shields.io/github/license/KucingKode/Cithak)](./LICENSE.md)\n[![badge](https://img.shields.io/github/last-commit/KucingKode/Cithak)](https://github.com/KucingKode/Cithak)\n[![badge](https://img.shields.io/github/package-json/v/KucingKode/Cithak)](https://www.npmjs.com/package/cithak)\n[![badge](https://img.shields.io/npm/dw/cithak)](https://www.npmjs.com/package/cithak)\n\n[![GitHub stars](https://img.shields.io/github/stars/KucingKode/Cithak.svg?style=social\u0026label=Star\u0026maxAge=2592000)](https://GitHub.com/KucingKode/Cithak/stargazers/)\n\nHomepage: \u003chttps://KucingKode.github.io/Cithak\u003e  \nFile merging powered with [Dmerge.js](https://github.com/KucingKode/Dmerge)\n\n## 🤔 What Is This\n\nCithak is a **simple, secure yet powerful template manager** CLI. Cithak can merge two templates by merge configuration files from those templates and Cithak was designed to be safe and transparent, so everything will be done under your permission.\n\n## 📚 Motivation\n\nCithak was created because sometimes **a template will broke other templates and templates are difficult to manage or combine**. We solve this problem by give Cithak ability to merge readme and configuration files and ability to clone templates from github, gitlab, bitbucket, or your local storage with just simple CLI\n\n## 💻 Features\n\n- ### **Secure**\n\n  Cithak will log every activities and execute every tasks that you **give permission to execute**, or you can disable task execution with `--no-exec` flag\n\n- ### **Smart**\n\n  Cithak can **do more than overwrite your files**, it can give index or merge data from two [mergeable files](#mergeable-files) like `.json`, `.yaml`, `.env` and some other configuration files, you can disable this feature with `--no-merge` flag\n\n- ### **Flexible**\n\n  Cithak can **use template from anywhere**, clone templates from your local storage, github, gitlab, or bitbucket using git. You can use cithak with or without internet connection\n\n## 📂 Installation\n\n- Node.js\n\n```bash\nnpm install -g cithak\n```\n\n- Windows, Linux, Mac\n\nTo use Cithak on Windows, Linux, or Mac without node js, download the latest executable for your operating system from [releases](https://github.com/KucingKode/Cithak/releases)\n\n---\n\n## 📃 Documentation\n\n- [Quick Start](#-quick-start)\n- [Docs](#-docs)\n- [Contributing](./CONTRIBUTING.md)\n- [Code Of Conduct](./CODE_OF_CONDUCT.md)\n- [License](./LICENSE.md)\n\n## 💡 Quick Start\n\n- **Create a template**  \n  Create a new folder for your template, you can configure your template inside `template.json`, it can contain description for your template and many more, for more information about `template.json`, [read this section](#template-json).\n\n```json\n{\n  \"description\": \"describe-your-template-here\"\n}\n```\n\n- **Save new template**  \n  To save a template just go to your template and type `cth save [template-name]`\n\n- **Check your template**  \n  After you save your template just check your template by using `cth info [template-name]`, it should log your template name and it's description\n\n- **Clone to your project**  \n  The last thing you want to do is just clone your template to your project by typing `cth clone [template-name]`.\n\nCongratulation, now you know how to use Cithak CLI🎉\n\n## 📘 Docs\n\n- [CLI](#cli)\n- [mergeable Files](#mergeable-files)\n- [template.json](#template-json)\n\n### CLI\n\n![information](./images/help.png)\n\nfor more CLI information type `cth help` in your terminal or [search for command example](https://kucingkode.github.io/Cithak/#commands)\n\n### mergeable Files\n\n- **YAML** : `*.yml`, `*.yaml`\n- **TOML** : `*.toml` `*.tml`\n- **JSON** : `*.json`\n- **README** : `README.[md, txt, markdown]`\n- **ENV** : `*.env`\n- **REST** : `*.rest`\n- `.prettierrc`\n- `.gitignore`\n- `.npmignore`\n- `.prettierignore`\n\n### Template JSON\n\ntemplate.json is important for your template, it contains description and tasks of your template, template.json must have `description` that describe the template, and template.json can also have:\n\n- **tasks**\n\ntasks is array of string contains all commands will executed\n\n```js\n{\n   \"tasks\": [\n      \"npm i package\",\n      \"node index.js\",\n      \"echo 'hello'\"\n   ]\n}\n```\n\n- **include**\n\ninclude is array of [glob](https://github.com/isaacs/node-glob#readme) string will include a file to the template folder if that file or folder is outside from the template folder.\n\n```js\n\"include\": [\n   \"../outside.js\",\n   \"../outside-folder/outside2.js\"\n]\n```\n\n- **exclude**\n\nexclude is array of [glob](https://github.com/isaacs/node-glob#readme) string that will ignore files that match with it's pattern\n\n```js\n\"exclude\": [\n   \"**/*-ignore.*\"\n]\n```\n\n**More information, [Visit our website](https://KucingKode.github.io/Cithak)**\n\n---\n\n## 🎂 Contibuting\n\nIf you interested in contributing to this project, please read our [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n\u003e We are currently working on rewriting Cithak to TypeScript to make the cithak code more understandable and clear\n\n## 📃 License\n\nCithak was published under [MIT License](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkucingkode%2Fcithak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkucingkode%2Fcithak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkucingkode%2Fcithak/lists"}