Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
@denyhs/cortex-cli
Advanced tools
This CLI is used to generate commit messages for you using AI! Visit https://commits.denyhs.com/ to learn more ❤️
A command-line tool to generate commit messages based on your repository changes.
npm install -g @denyhs/cortex-cli
Before using the CLI, you need to set your API token as an environment variable:
export CORTEX_GENERATE_COMMIT_MESSAGE_TOKEN=your_token_here
Or create a .env
file in your project root:
CORTEX_GENERATE_COMMIT_MESSAGE_TOKEN=your_token_here
You can also create a .cortexrc
file in your project root to set default options:
{
"stageAllChanges": true,
"include": ["src/**/*.js", "lib/**/*.js"],
"exclude": ["test/**", "**/*.test.js"],
"header": "feat: ",
"commitStaged": true
}
To make your IDE treat .cortexrc
as a JSON file:
VS Code
The repository includes .vscode/settings.json
with the correct configuration:
{
"files.associations": {
".cortexrc": "json"
}
}
JetBrains IDEs (WebStorm, IntelliJ, etc.)
The repository includes .idea/fileTypes/cortexrc.xml
with the correct configuration. If you're not using the provided configuration:
cortexrc
pattern under "File name patterns"Vim/Neovim Add to your configuration:
autocmd BufNewFile,BufRead .cortexrc setfiletype json
The CLI follows a strict priority order when applying configurations:
.cortexrc
file settings (lower priority)For example, if you have this .cortexrc
:
{
"include": ["src/**/*.js"],
"header": "feat: "
}
And run:
cortex commit-message --include "lib/**/*.js" --header "fix: "
The CLI will use:
include: ["lib/**/*.js"]
(from command line)header: "fix: "
(from command line)The values in .cortexrc
are overridden by the command-line flags.
Here are some common .cortexrc
configurations:
// Basic configuration for a JavaScript project
{
"stageAllChanges": true,
"include": ["src/**/*.js", "lib/**/*.js"],
"exclude": ["**/*.test.js", "**/*.spec.js"],
"header": "feat: "
}
// TypeScript project with automatic commit
{
"stageAllChanges": true,
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["**/*.test.ts", "**/__tests__/**"],
"commitStaged": true,
"header": "fix: "
}
// Full-stack project configuration
{
"stageAllChanges": true,
"include": [
"frontend/src/**/*.{js,jsx,ts,tsx}",
"backend/src/**/*.js",
"shared/**/*.js"
],
"exclude": [
"**/*.test.*",
"**/*.spec.*",
"**/dist/**",
"**/build/**"
],
"commitAndPushStaged": true
}
// Configuration for documentation changes
{
"stageAllChanges": true,
"include": [
"docs/**/*.md",
"**/*.mdx",
"**/README.md"
],
"header": "docs: ",
"commitStaged": true
}
cortex commit-message [options]
--stageAllChanges
: Stage all changes before generating the message--include <patterns...>
: Include only files matching these patterns when staging (supports glob patterns)--exclude <patterns...>
: Exclude files matching these patterns when staging (supports glob patterns)--header <text>
: Add a custom header to the commit message (will be added above the generated message)--preScript <command>
: Execute a command before generating the commit message (e.g., linting, tests)--commitStaged
: After generating the message, prompt to commit staged changes--commitAndPushStaged
: After generating the message, prompt to commit staged changes and push them to the remote repository--verbose
: Show detailed information about the current configuration and execution# Generate message for staged changes
cortex commit-message
# Run linter before generating message
cortex commit-message --preScript "npm run lint"
# Run tests and stage all changes if they pass
cortex commit-message --preScript "npm test" --stageAllChanges
# Stage specific files and generate message
cortex commit-message --stageAllChanges --include "src/**/*.js" --exclude "**/*.test.js"
# Stage changes in specific directories
cortex commit-message --stageAllChanges --include "src/**" "lib/**" --exclude "test/**"
# Stage changes with patterns and commit
cortex commit-message --stageAllChanges --include "src/**/*.js" --header="feat: new feature" --commitStaged
# Stage filtered changes, generate message, and commit and push
cortex commit-message --stageAllChanges --include "src/**" --exclude "test/**" --commitAndPushStaged
# Generate message with a custom header
cortex commit-message --header="feat: new feature implementation"
# Generate message, commit, and push with a custom header
cortex commit-message --commitAndPushStaged --header="fix: resolve critical bug"
.cortexrc
file or command-line options[2.2.0] - 2025-01-16
--preScript
flag to execute commands (like linting or tests) before generating the commit messageFAQs
CLI tool to generate commit messages based on repository changes
We found that @denyhs/cortex-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.