{"id":15882219,"url":"https://github.com/ph1p/coraline","last_synced_at":"2026-04-30T01:35:34.079Z","repository":{"id":57141468,"uuid":"115261249","full_name":"ph1p/coraline","owner":"ph1p","description":"A small git cli","archived":false,"fork":false,"pushed_at":"2019-02-02T15:42:02.000Z","size":177,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T06:34:16.749Z","etag":null,"topics":["cli","commit","commit-conventions","coraline","git"],"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/ph1p.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}},"created_at":"2017-12-24T12:24:19.000Z","updated_at":"2019-02-02T15:42:04.000Z","dependencies_parsed_at":"2022-09-05T08:50:10.567Z","dependency_job_id":null,"html_url":"https://github.com/ph1p/coraline","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fcoraline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fcoraline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fcoraline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph1p%2Fcoraline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ph1p","download_url":"https://codeload.github.com/ph1p/coraline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763860,"owners_count":20829798,"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":["cli","commit","commit-conventions","coraline","git"],"created_at":"2024-10-06T04:02:05.935Z","updated_at":"2026-04-30T01:35:34.052Z","avatar_url":"https://github.com/ph1p.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## coraline\n\n[![npm](https://img.shields.io/npm/v/coraline.svg)](https://www.npmjs.com/package/coraline)\n\nThis small cli makes it easier to handle conventional git commit messages.\n\nCurrently there are two preinstalled commit conventions:\n\n- karma\n- atom\n- angular\n\n## Install\n\n`npm i coraline -g`\n\n## How to use?\n\nJust type `cl` or `coraline` in your terminal and follow the first configuration.\n\nFor help, just type `cli --help`\n\n```bash\nUsage\n    $ cl --reset\n    $ cl --default\n    $ cl --readme\n    $ cl --list\n    $ cl --use\n\nOptions\n    --help\n    --reset, -r  Reset configuration\n    --default, -d  Use your default style (Only relevant if you use a .coraline file)\n    --readme {name}, -m {name}  Shows the readme of current or inputed commit style\n    --list, -l List  all available styles\n    --version, -v  Version info\n    --use, -u  Use a specific style temporarily (e. g. cl -u karma\n```\n\n## .coraline.js\n\nDefine a custom commit style for every repository with a simple\ndotfile called `.coraline.js` or  `.coraline`\n\n**questions** and **template** properties are not optional.\nThe **questions** array includes one or many easy configurable inquirer objects. (https://www.npmjs.com/package/inquirer)\n\nWith **template** you define the commit message format.\nFor example: `\u003ctitle\u003e` will be replaced with the value of `name: 'title'`.\n\nThe **readme** object contains a small explanation of how your defined convention works.\n\n```javascript\nmodule.exports = {\n    custom: {\n        questions: [{\n            type: 'input',\n            name: 'title',\n            message: 'Title',\n            validate(title) {\n                return title.length \u003e 0;\n            }\n        }, {\n            type: 'editor', // opens your favorite cli editor\n            name: 'message',\n            message: 'Message'\n        }],\n        template: `\u003ctitle\u003e: \u003cmessage\u003e`,\n        readme: ``\n    },\n    custom2: {\n        questions: [{\n            type: 'input',\n            name: 'title',\n            message: 'Title'\n        }],\n        template: `\u003ctitle\u003e`,\n        readme: ``\n    }\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph1p%2Fcoraline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fph1p%2Fcoraline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph1p%2Fcoraline/lists"}