📦 SETUP • ⚙️ CONFIGURATION • ⚡ FEATURES
| The ultimate Git workflow toolkit for Node and Bun. Orchestrate your entire release cycle: from linting staged files and enforcing commit standards to automated semantic versioning and GitHub releases. |
bun i -D gitlysnpm i -D gitlyspnpm i -D gitlysyarn i -D gitlysCommitlint- Enforce commit message standardsLint-staged- Lint staged files before commitChangelog- Generate and maintain a changelogSemantic Release- Automated semantic versioning and changelog generationGitHub Release- Automatically create releases on GitHub with the generated changelogCustomizable- Highly customizable to fit your workflow
To initialize gitlys in your project, just run the following command in your terminal, you can use the package manager you want:
bunx gitlys initIn order to release a version of your project, just run the following command in your terminal:
bunx gitlys releaseI recommend you to add this command in your package.json for more comfortable use:
{
"scripts": {
"postinstall": "bunx gitlys init",
"release": "bunx gitlys release",
"prepublishOnly": "bun run build",
}
}The configuration of gitlys is really simple, create a file named .gitlys.json in the root of your project and export an object with the configuration you want, for example:
{
"commitlint": {
"allowedTypes": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "chore"],
"maxLength": 120
},
"lintStaged": {
"*.{ts,tsx,js,jsx}": "eslint --fix",
"*.{css,scss}": "stylelint --fix"
},
"release": {
"releaseToGithub": false
},
"changelog": {
"changelogPath": "CHANGELOG.md",
"generateChangelog": false
},
"packageManager": "npm"
}commitlint.allowedTypes- Allowed types for commit messages, by default it uses the conventional commits typescommitlint.maxLength- Maximum length for commit messageslintStaged- Configuration for lint-staged, files and commands to run when those files are stagedrelease.releaseToGithub- Configuration for release, whether to release to GitHub or notchangelog.changelogPath- Path to the changelog filechangelog.generateChangelog- Whether to generate a changelog or notpackageManager- Package manager to use for install gitlys and run scripts
Additionally, if you are using Gitlens and also Copilot you can add the following configuration to your settings.json to have a better experience with gitlys:
{
"gitlens.codeLens.recentChange.enabled": false,
"gitlens.ai.generateCommitMessage.customInstructions": "Use conventional commits, format: <type>: <short description in lowercase>, The description should be concise and describe the change in a few words and always in lowercase, max length of 120 characters, allowed types: feat, fix, doc, style, refactor, perf, test, build, ci, config, update, release, breaking, typo, asset, package, language, security, revert, the message must be in English",
}BACK TO TOP
Copyright © All rights reserved, developed by LuisdaByte and