
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
An AI-powered code review tool for your terminal.
A lightweight CLI tool that provides intelligent code review feedback using your preferred AI model. Get almost instant, contextual suggestions on code quality, security, performance, and best practices - all while maintaining full privacy and control.
Faster feedback loops - Get quick review feedback instead of waiting for human reviewers
Privacy-first - Runs with your own AI models, your code never leaves your control
Lightweight - Simple CLI tool that integrates seamlessly into existing workflows
Context-aware - Understands your specific language/framework patterns and idioms
Bring Your Own Model - Use any OpenAI-compatible API (OpenAI, Anthropic, local models, etc.)
# Install
npm install -g critic-cli
# First-time setup
cd your-project
critic init
# Review your changes
critic review
npm install -g critic-cli
npm install --save-dev critic-cli
# Add to package.json scripts
{
"scripts": {
"review": "critic review"
}
}
On first run, use critic init to create a .critic.json configuration file in your project:
critic init
This interactive setup will guide you through configuring:
{
"modelConfig": {
"baseUrl": "https://api.openai.com",
"inferenceApiType": "responses",
"reasoningEffort": "medium",
"authMethod": "env_var",
"apiKey": null,
"apiKeyEnvVar": "OPENAI_API_KEY",
"modelName": "gpt-5-mini"
},
"activeProfile": {
"defaultBranchName": "main",
"language": "TypeScript",
"framework": "Angular",
"customInstructions": "Focus on Angular best practices and RxJS patterns."
}
}
baseUrl: Your AI provider's API endpoint (e.g., https://api.openai.com, http://localhost:11434)inferenceApiType: Choose between "chat_completions" or "responses" (see API Types section)reasoningEffort: For reasoning-capable models - "minimal", "low", "medium", "high", or "disabled"authMethod: How to authenticate - "env_var" (recommended), "direct_key", or "none" (
see Authentication)apiKey: Direct API key (only if authMethod is "direct_key")apiKeyEnvVar: Environment variable name containing your API key (only if authMethod is "env_var")modelName: The model identifier (e.g., "gpt-5-mini", "claude-sonnet-4-5")defaultBranchName: Your repository's default branch name (e.g., "main", "master")language: Programming language used in your projectframework: Framework used, or "None" if not applicablecustomInstructions: Additional context or guidelines for the AI reviewercritic-cli supports two OpenAI-compatible API types. Your choice affects how the tool communicates with your AI provider.
chat_completions)The traditional OpenAI API format. Compatible with most AI providers including:
Use Chat Completions if:
responses)The newer OpenAI API format with enhanced capabilities. Provides:
Use Responses if:
Note: Responses API is recommended.
critic-cli supports three authentication methods to fit your security requirements and use case.
Store your API key in an environment variable and reference it in your config:
{
"modelConfig": {
"authMethod": "env_var",
"apiKeyEnvVar": "OPENAI_API_KEY"
}
}
# In your shell profile
export OPENAI_API_KEY="sk-..."
Why this is recommended:
Store the API key directly in your .critic.json file:
{
"modelConfig": {
"authMethod": "direct_key",
"apiKey": "sk-..."
}
}
⚠️ Security Warning:
.critic.json to your .gitignore if using this methodFor local models that don't require authentication:
{
"modelConfig": {
"authMethod": "none",
"baseUrl": "http://localhost:11434"
}
}
Use this for:
critic review
Reviews all staged changes (what would be included in your next commit).
# Review all uncommitted changes (staged)
critic review --mode staged
# Review changes in the current branch compared to main
critic review --mode branch
# Review a commit range to HEAD
critic review --mode commit --commit abc123
-m, --mode <mode>: Specify what to review
branch: Review current branch against default branchstaged (default): Review all staged, uncommitted changescommit: Review commits in range from specified to HEAD-c, --commit <hash>: Commit hash (required when mode is commit)-q, --quiet: Suppress hints during waiting periods--verbose: Show detailed debug information--json: Output logs in JSON formatYour Code, Your Control
Recommended Security Practices:
authMethod: "env_var").critic.json to .gitignore if storing sensitive configurationcritic-cli collects anonymous usage data to help improve the tool. We take your privacy seriously and follow industry-standard opt-out practices.
Note: A session means a single command execution from the beginning to the end.
Set the environment variable in your shell:
export CRITIC_TELEMETRY_DISABLED=1
Or add it to your shell profile (~/.bashrc, ~/.zshrc, etc.):
echo 'export CRITIC_TELEMETRY_DISABLED=1' >> ~/.zshrc
Verification: You can verify telemetry is disabled by running any critic command with --verbose - you'll see a log
message confirming telemetry is opted out.
This project is currently in active development. Feedback and suggestions are welcome through GitHub issues.
MIT - see LICENSE.MD for details
Built with care for developers who value code quality.
FAQs
An AI-powered code review tool
The npm package critic-cli receives a total of 0 weekly downloads. As such, critic-cli popularity was classified as not popular.
We found that critic-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.