
Security News
npm Tooling Bug Incorrectly Marks One-Character Packages as Security Holders
npm confirmed a tooling bug incorrectly marked several one-character packages as security holders and said it was working on a rollback.
@shaenchen/cc-devtools
Advanced tools
A modular developer toolkit for Claude Code that provides kanban project management, persistent memory, implementation planning, and source code mapping capabilities.
A modular developer toolkit for Claude Code that provides kanban project management, persistent memory, implementation planning, source code mapping, and automated workflow orchestration capabilities.
cc-devtools is a comprehensive toolkit that extends Claude Code with powerful project management and development capabilities through MCP (Model Context Protocol) servers. Each tool operates independently and stores data in your project's cc-devtools/ directory.
In addition to the MCP tools, cc-devtools includes a standalone web application that provides browser-based access to project management and development features:
Quick Start (Web App):
# Build and start the web server
npm run build:web
npx cc-devtools web
# Or run in development mode (separate terminals)
npm run dev:web # Frontend dev server
npx cc-devtools web # Backend server
# Clear stored authentication tokens (if needed)
npx cc-devtools web --invalidate-tokens
Access at http://localhost:9100 (or next available port)
Web App Features:
Screenshots (click to expand):
Visual kanban board with stories, subtasks, and workflow phases
Browser-based code editor with syntax highlighting and file tree
Web-based terminal with multiple sessions and tab management
Persistent memory storage with semantic search
Implementation planning with tasks and progress tracking
📖 Web Application Documentation | 📖 Remote Console Documentation | 📖 Deployment Guide
Important: This package must be installed locally in your project (not globally) because the MCP servers need to run from your project's node_modules/ directory.
npm install @shaenchen/cc-devtools
npm install @shaenchen/cc-devtools
Run the interactive setup command:
npx cc-devtools setup
This will:
cc-devtools/ directory structure.gitignore to exclude cache files.mcp.json with MCP server entries.claude/commands/You can also use flags for non-interactive setup:
npx cc-devtools setup --features=kanban,memory --gitignore --mcp
After setup, restart Claude Code to load the new MCP servers.
The tools are now available through Claude Code's MCP tools:
kanban_get_work_item - Get recommended work itemskanban_update_work_item - Update story/subtask statusmemory_store - Store project memoriesmemory_search - Search memories with hybrid searchplan_store - Create implementation plansplan_search - Search plans and tasksplan_update - Update plan status and taskssearch_code - Search code symbols semanticallyquery_imports - Query import relationshipsget_file_info - Get file symbol informationclipboard_write - Copy content to system clipboardView currently enabled features and data files:
npx cc-devtools status
This displays:
Enable additional features after initial setup:
# Interactive mode - select features from a menu
npx cc-devtools add-feature
# With flags - specify features directly
npx cc-devtools add-feature --features=planner,memory
npx cc-devtools add-feature --features=kanban --slash-commands
This will:
Note: Restart Claude Code after adding features to load the new MCP servers.
Disable features you no longer need:
# Interactive mode - select features and choose data handling
npx cc-devtools remove-feature
# With flags - specify features and data handling
npx cc-devtools remove-feature --features=memory --keep-data
npx cc-devtools remove-feature --features=planner --remove-data
This will:
⚠️ Warning: Removing features with --remove-data permanently deletes your data files. This cannot be undone.
View statistics about your indexed codebase:
# Show statistics about the indexed codebase
npx cc-devtools scm stats
This displays:
Note: The source code mapper works out-of-the-box using comprehensive regex parsing for all major languages. No additional installation or setup required.
Run commands on files matching glob patterns with intelligent state tracking. Perfect for batch processing files with AI tools like Claude CLI or running automated tasks on your codebase.
# View status of files (new, out-of-date, up-to-date)
npx cc-devtools per-file-runner status <config-id>
# Run command on all files that need processing
npx cc-devtools per-file-runner run <config-id>
# Run with dry-run to preview what would execute
npx cc-devtools per-file-runner run <config-id> --dry-run
# Run all configs in priority order
npx cc-devtools per-file-runner run-all
# Automatic mode: continuously run with retry logic
# Success: retry in 1 minute | Failure: retry in 1 hour
npx cc-devtools per-file-runner automatic
# Reset state to re-process all files
npx cc-devtools per-file-runner reset <config-id>
Key Features:
{filename} placeholder substitutionConfiguration: cc-devtools/per-file-runner.yaml
State Tracking: cc-devtools/per-file-runner-state.yaml
📖 Full Per-File Runner Documentation
Generate a custom Claude Code output-style tailored to your enabled cc-devtools features:
npx cc-devtools suggest-output-style
This command:
Why use this?
npx cc-devtools workflow check and how to interpret and act on the results.Workflow options:
Option 1: Create new output-style
npx cc-devtools suggest-output-style
# Review generated content
# Choose "Create new"
# Enter name: "cc-devtools-enhanced"
# Restart Claude Code
# Activate: /output-style cc-devtools-enhanced
Option 2: Append to existing output-style
npx cc-devtools suggest-output-style
# Review generated content
# Choose "Append to existing"
# Select your current output-style
# Restart Claude Code (your existing style is now enhanced)
Manage project work with stories, subtasks, and customizable workflow phases.
Key Features:
Storage: cc-devtools/kanban.yaml
Customization: Phases are fully configurable via the YAML config - use the defaults or define your own phases like ALPHA, RC, PRODUCTION, etc.
MCP Tools:
kanban_get_work_item - Get next recommended work item with reasoningkanban_update_work_item - Update story or subtask status with validationSlash Commands: /kanban-next, /kanban-board, /kanban-move, /kanban-list, and more
Store and retrieve project knowledge with semantic search capabilities.
Key Features:
Storage: cc-devtools/memory.yaml
MCP Tools:
memory_store - Store memories with optional categories and metadatamemory_search - Search with filters, limits, and similarity thresholdsCreate and manage implementation plans with tasks and dependencies.
Key Features:
Storage: cc-devtools/planner/
MCP Tools:
plan_store - Create new implementation plansplan_search - Search plans with filters and semantic searchplan_update - Update plan status and mark tasks completeSlash Commands: /plan-create, /plan-pause-work, /plan-resume-work
Session Management: The Planner tool includes powerful work session management via slash commands:
/plan-create - Convert conversation into comprehensive tracked implementation plan/plan-pause-work - Save your current work context when stepping away/plan-resume-work - Resume work later with full context restorationSee Work Session Workflow below for detailed usage guide.
Index and search your codebase with semantic understanding.
Key Features:
Storage: cc-devtools/.cache/source-code-index.msgpack
Language Support:
npx cc-devtools scm statsMCP Tools:
search_code - Search code symbols with configurable modesquery_imports - Query import relationships and dependenciesget_file_info - Get symbols and imports for specific files📖 Full Source Code Mapper Documentation
Copy generated content directly to your system clipboard for easy pasting.
Key Features:
Usage: When Claude generates content you want to use elsewhere, explicitly ask Claude to copy it to your clipboard:
You: "Can you create a summary of the API changes?"
Claude: "Here's a comprehensive summary of the API changes..."
You: "Copy that to my clipboard"
Claude: [Uses clipboard_write tool]
Claude: "✓ Summary copied to clipboard - ready to paste!"
Important: Claude will only use the clipboard tool when you explicitly request it. It won't automatically copy content.
MCP Tool:
clipboard_write - Copy text content to system clipboardUse Cases:
Note: The clipboard tool has no persistent storage - it simply provides a convenient way to transfer Claude's output to your clipboard.
Automated solo developer workflow orchestration with state machine and AI-powered code reviews.
Key Features:
Storage: cc-devtools/workflow/ (config files), workflow.log (execution log)
CLI Commands:
npx cc-devtools workflow check - Check current workflow state and get recommendationsnpx cc-devtools workflow review - Run automated code review with AI reviewersSlash Commands: /workflow-check, /workflow-start-review
Review System: The workflow includes a sophisticated automated review system that:
Workflow States: The state machine tracks git state (branch, clean status, commit messages) and kanban state (stories, subtasks, statuses) to determine current workflow state and recommend appropriate actions like:
Customization:
cc-devtools/workflow/review-prompt.md) to match your project's coding standards, security requirements, and review focusRequirements:
npx cc-devtools workflow check and how to interpret the JSON results.The workflow feature is an automated solo developer workflow orchestrator that analyzes your git and kanban state, makes intelligent decisions about what to do next, and guides Claude through a complete development workflow from story creation to code review to completion.
The workflow system is a state machine that:
npx cc-devtools workflow checkKey Principles:
todo and done storiesin_progress and in_review storiesIs git clean?
├─ No → Commit or stash changes first
└─ Yes → Are we on a feature branch?
├─ No → On main branch
│ └─ Any stories in progress?
│ ├─ Yes → Create feature branch
│ └─ No → Start next todo story
└─ Yes → On feature branch
└─ Current story status?
├─ in_progress → Continue implementing
├─ in_review → Run automated review
└─ done → Merge to main and cleanup
1. Enable Workflow Feature
# If setting up a new project
npx cc-devtools setup --features=kanban,workflow
# If adding to existing project
npx cc-devtools add-feature --features=workflow
2. Generate Output-Style (REQUIRED)
The workflow feature REQUIRES output-style guidance to function autonomously:
npx cc-devtools suggest-output-style
This creates essential workflow guidance that:
npx cc-devtools workflow checkWithout output-style guidance, Claude won't know when to run workflow checks or how to interpret results.
3. Check Workflow State
npx cc-devtools workflow check
# Output example:
{
"state": "ready_to_start_work",
"gitState": {
"current_branch": "main",
"clean": true
},
"kanbanState": {
"next_item": {
"id": "story-1",
"title": "Implement user authentication",
"status": "todo"
}
},
"actionNecessary": "Start work on next todo story",
"options": [
{
"option": "Start Story",
"description": "Begin work on 'Implement user authentication'",
"actionNecessary": "npx cc-devtools kanban update-work-item story-1 --status in_progress"
}
]
}
4. Run Automated Code Review
When your story reaches in_review status:
# Run all enabled reviewers
npx cc-devtools workflow review
# Run specific reviewers only
npx cc-devtools workflow review claude codex
The review system:
Once workflow is set up with output-style guidance, the workflow becomes fully autonomous. Here's what a typical session looks like:
You: "What should I work on?"
Claude:
npx cc-devtools workflow checkin_progressfeature/story-123Claude continues autonomously:
/clear and resume again with Continue working)in_review/workflow-start-review for code reviewYou: /workflow-start-review
Claude:
You: "Continue"
Claude:
What happens behind the scenes:
# Claude automatically runs these commands as needed:
npx cc-devtools workflow check
npx cc-devtools kanban update-work-item <id> --status <status>
git checkout -b feature/<story-id>
git add . && git commit -m "..."
npx cc-devtools kanban create-work-item (for subtasks)
git checkout main && git merge feature/<story-id>
When Claude stops to ask you:
/workflow-start-review)The workflow system uses several YAML configuration files in cc-devtools/workflow/:
You can customize the workflow decision logic by editing decision-tree.yaml or creating your own:
decisions:
- name: root
condition: "{{git_clean}} === true"
if_true: check_branch
if_false:
state: uncommitted_changes
action_type: suggest
action: "Commit or stash your changes before proceeding"
See Decision Tree Documentation for full customization guide.
For complete workflow documentation, see docs/workflow/
cc-devtools/plans/ as YAML filesstatus="on_hold"/plan-resume-work searches for on_hold plans onlySee Planner Slash Commands Documentation for complete technical details and examples.
After setup, your project will have:
my-project/
├── package.json
├── node_modules/
│ └── @shaenchen/cc-devtools/
├── .mcp.json # MCP server configuration
├── .gitignore # Updated with cache exclusions
├── workflow.log # Workflow execution log (gitignored)
├── .claude/
│ └── commands/ # Optional slash commands
└── cc-devtools/
├── kanban.yaml # Kanban data (created on first use)
├── memory.yaml # Memory storage (created on first use)
├── plans/ # Planner storage (created on first use)
├── per-file-runner.yaml # Per-file runner config
├── per-file-runner-state.yaml # Per-file runner state tracking
├── workflow/ # Workflow configuration (if enabled)
│ ├── config.yaml # Workflow settings
│ ├── decision-tree.yaml # Decision tree (optional custom)
│ └── reviewers.yaml # Reviewer configuration
└── .cache/ # Ephemeral cache files (gitignored)
├── source-code-index.msgpack # Source code index
├── kanban-embeddings.msgpack # Kanban search cache
├── memory-embeddings.msgpack # Memory search cache
├── planner-embeddings.msgpack # Planner search cache
└── web-tokens.msgpack # Web server auth tokens
The setup command accepts these flags:
--features=<list> - Comma-separated list of features to enable (kanban, memory, planner, source-code-mapper, workflow, clipboard)--gitignore - Update .gitignore with cache exclusions--mcp - Configure .mcp.json with MCP server entries--slash-commands - Copy slash command templates to .claude/commands/The setup command adds entries to .mcp.json like:
{
"mcpServers": {
"cc-devtools-kanban": {
"command": "node",
"args": ["./node_modules/@shaenchen/cc-devtools/dist/kanban/mcp-server/index.js"],
"disabled": false
},
"cc-devtools-memory": {
"command": "node",
"args": ["./node_modules/@shaenchen/cc-devtools/dist/memory/mcp-server/index.js"],
"disabled": false
}
}
}
You can manually edit .mcp.json to:
"disabled": true)Each tool stores data in predictable locations:
cc-devtools/kanban.yamlcc-devtools/memory.yamlcc-devtools/plans/*.yamlcc-devtools/.cache/source-code-index.msgpackThe setup command adds these patterns to .gitignore:
# cc-devtools cache
cc-devtools/.cache
You should commit cc-devtools/kanban.yaml, cc-devtools/memory.yaml, and cc-devtools/plans/ to version control to preserve project data.
To backup or migrate your data:
cc-devtools/ directory@shaenchen/cc-devtools in the new project: npm install @shaenchen/cc-devtoolsnpx cc-devtools setup with desired featurescc-devtools/ directory to the new projectnpm list @shaenchen/cc-devtools.mcp.json exists and is valid JSON"disabled": false for each server./node_modules/@shaenchen/cc-devtools/dist/...If MCP servers fail to start with module errors:
npm list @shaenchen/cc-devtoolsnpm install @shaenchen/cc-devtoolsnpm run build (if developing locally)node_modules/@shaenchen/cc-devtools/dist/ existsnpm list @shaenchen/cc-devtoolscc-devtools/cc-devtools/ directoryIf you encounter build issues during development:
# Clean and rebuild
npm run clean
npm run build
# Verify TypeScript compilation
npx tsc --noEmit
If data files become corrupted:
# Clone the repository
git clone https://github.com/shaenchen/cc-devtools.git
cd cc-devtools
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# View test UI
npm run test:ui
# Generate coverage report
npm run test:coverage
The project includes comprehensive test coverage:
Run tests with:
npm test # Run all tests once
npm run test:watch # Watch mode
npm run test:ui # Interactive UI
npm run test:coverage # Coverage report
cc-devtools/
├── src/
│ ├── cli/ # CLI entry point and utilities
│ ├── setup/ # Setup command implementation
│ ├── kanban/ # Kanban tool
│ │ ├── lib/ # Core business logic
│ │ └── mcp-server/ # MCP server
│ ├── memory/ # Memory tool
│ ├── planner/ # Planner tool
│ └── source-code-mapper/ # Source code mapper tool
├── tests/
│ ├── integration/ # Integration tests
│ └── unit/ # Unit tests
├── templates/ # Slash command templates
└── docs/ # Tool-specific documentation
Full list of available commands:
cc-devtools v0.1.0
A modular developer toolkit for Claude Code
Usage:
npx cc-devtools <command> [options]
Commands:
setup Setup cc-devtools in the current project
status Show current configuration status
add-feature Enable additional features
remove-feature Disable features
suggest-output-style Generate output-style suggestions for enabled features
scm Source code mapper - manage code indexing and statistics
kanban Kanban project management commands
workflow Automated workflow state machine and code review
web Start web interface for kanban and code editing
per-file-runner Run commands on files matching glob patterns with state tracking
help Show this help message
version Show version number
Examples:
npx cc-devtools setup
npx cc-devtools setup --features=kanban,memory
npx cc-devtools status
npx cc-devtools add-feature
npx cc-devtools add-feature --features=planner
npx cc-devtools remove-feature --features=memory --keep-data
npx cc-devtools suggest-output-style
npx cc-devtools scm install
npx cc-devtools scm install rust go python
npx cc-devtools scm list
npx cc-devtools scm stats
npx cc-devtools kanban list
npx cc-devtools kanban get MVP-001
npx cc-devtools workflow check
npx cc-devtools workflow review
npx cc-devtools workflow review claude codex
npx cc-devtools web
npx cc-devtools web --port 8080
npx cc-devtools per-file-runner run my-config
npx cc-devtools per-file-runner run-all
npx cc-devtools per-file-runner automatic
For detailed documentation on specific commands, see the relevant sections above or run npx cc-devtools <command> --help.
Contributions are welcome! Please:
npm test)any types - use proper TypeScript typesMIT License - see LICENSE file for details
See CHANGELOG.md for version history and migration notes.
Built for use with Claude Code by Anthropic.
Uses the Model Context Protocol (MCP) for Claude Code integration.
FAQs
A modular developer toolkit for Claude Code that provides kanban project management, persistent memory, implementation planning, and source code mapping capabilities.
The npm package @shaenchen/cc-devtools receives a total of 17 weekly downloads. As such, @shaenchen/cc-devtools popularity was classified as not popular.
We found that @shaenchen/cc-devtools 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
npm confirmed a tooling bug incorrectly marked several one-character packages as security holders and said it was working on a rollback.

Research
/Security News
Newer packages in this compromise use native extensions and .pth loaders to execute JavaScript stealers in developer environments.

Research
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.