CodePal
A full-featured devtools toolkit for checking, validating, generating, formatting, linting, explaining, converting, diffing, previewing, and fixing code — with built-in logging, search, statistics, and data export.
Commands
| Command | Description |
|---------|-------------|
| check <input> | Check code and log the result; without args shows recent check entries |
| validate <input> | Validate code input; without args shows recent validate entries |
| generate <input> | Generate code from a description; without args shows recent entries |
| format <input> | Format code; without args shows recent format entries |
| lint <input> | Lint code for potential issues; without args shows recent lint entries |
| explain <input> | Explain a code snippet or concept; without args shows recent entries |
| convert <input> | Convert code between languages or formats; without args shows recent entries |
| template <input> | Create or apply code templates; without args shows recent entries |
| diff <input> | Log code differences; without args shows recent diff entries |
| preview <input> | Preview code output; without args shows recent preview entries |
| fix <input> | Record a code fix; without args shows recent fix entries |
| report <input> | Generate a code report; without args shows recent report entries |
| stats | Show summary statistics across all log categories |
| export <fmt> | Export all data (json, csv, or txt) |
| search <term> | Search across all logged entries for a keyword |
| recent | Show the 20 most recent entries from the activity log |
| status | Health check — version, data dir, total entries, disk usage, last activity |
| help | Show all available commands |
| version | Print version (v2.0.0) |
Usage
codepal <command> [args]
Each command with arguments logs the input with a timestamp to a category-specific log file. Running a command with no arguments shows the most recent entries for that category.
Data Storage
- Default location:
~/.local/share/codepal - Log files: Each command has its own log file (e.g.,
check.log,lint.log,generate.log) - History: All actions are also recorded in
history.logwith timestamps - Export formats: JSON (structured array of objects), CSV (type/time/value columns), plain text (grouped by category)
Requirements
- Bash 4+ (strict mode:
set -euo pipefail) - No external dependencies or API keys required
- Standard Unix tools (
date,wc,grep,du,head,tail)
When to Use
- Code review tracking — Use
check,lint, andvalidateto log issues discovered during code review sessions, thensearchto find them later - Learning unfamiliar codebases — Use
explainto document your understanding of code patterns, thenreportto create summaries - Code generation and templating — Use
generateto log code generation prompts andtemplateto track template usage - Diffing and debugging — Use
diffto record code changes andfixto document bug fixes, creating an audit trail - Team metrics and reporting — Use
statsfor activity summaries,export jsonto feed into dashboards, andrecentfor quick status checks
Examples
# Check a function
codepal check "validateEmail() is missing null check"
# Generate a code snippet description
codepal generate "React hook for debounced search"
# Lint a file
codepal lint "server.js:42 — unused variable 'config'"
# Explain a concept
codepal explain "JavaScript closure in event handler"
# Record a diff
codepal diff "Refactored auth middleware to use async/await"
# Fix a bug
codepal fix "Off-by-one error in pagination logic"
# View aggregate statistics
codepal stats
# Export all logged data as CSV
codepal export csv
# Search for entries about authentication
codepal search "auth"
# Show recent activity
codepal recent
# Health check
codepal status
Output
- Command results print to stdout
- Entries are timestamped (
YYYY-MM-DD HH:MM) and persisted to~/.local/share/codepal/<category>.log - Export files are written to
~/.local/share/codepal/export.<fmt>with a byte count confirmation
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
微信扫一扫