Custom Workflow System
A sophisticated issue workflow system for Claude Code that provides structured issue management, mode-based interaction control, and customizable bash command permissions.
Features
- Issue Management: Create and orchestrate issues with structured templates
- Mode Controller: Discussion/Implementation mode switching for safer interactions
- Configurable Commands: Allow specific bash commands in discussion mode
- Clean Updates: Preserves user customizations during updates
- Hook System: PreToolUse hooks for controlling tool access
Installation
Via NPM (Recommended)
npx custom-workflow-installer
Local Development
./scripts/install-local.sh [target_directory]
System Architecture
Directory Structure
.claude/ - Claude Code configuration (commands, hooks, settings)
.issues/ - Workflow data (templates, state, config, docs)
Mode Controller
The workflow enforces two operational modes:
Discussion Mode (default):
- Read-only operations allowed
- Markdown editing allowed
- Configurable safe bash commands
- Type "proceed" to switch to implementation mode
Implementation Mode:
- All operations allowed
- Returns to discussion mode on task completion
Configuring Allowed Bash Commands
Edit .issues/config/workflow-config.json to customize allowed commands:
{
"modeController": {
"allowedBashCommands": {
"exactMatches": ["pwd", "ls", "whoami"],
"prefixMatches": ["git status", "npm list"],
"regexPatterns": ["^echo [^;&|`$()<>]+$"]
}
}
}
Default Safe Commands
- Navigation:
pwd, ls, tree
- File viewing:
cat, head, tail
- Searching:
grep, find, rg
- Git queries:
git status, git diff, git log
- Package info:
npm list, npm view
- System info:
which, node --version
Available Commands
/create-issue - Create new issues with structured templates
/orchestrate-issue - Orchestrate workflow for existing issues
Development
Repository Structure
custom-workflow/
├── templates/ # Files for NPM package
│ ├── claude/ # Claude Code config
│ └── issues/ # Workflow data
├── bin/ # NPM installer
├── scripts/ # Development tools
└── package.json # NPM configuration
Testing Workflow
- Make changes to templates
- Run
./scripts/install-local.sh workflow_testing
- Test in
workflow_testing/ directory
- Bump version and push to publish
Publishing
The workflow is published automatically when pushing to main with an incremented version number.
License
MIT
Support
Report issues at: https://github.com/secondcircle/custom-workflow/issues