- Change 'settings and hooks' to 'configuration components'
- More flexible terminology that doesn't expose internal categorization
- Cleaner user experience with generic language
Before:
📍 Choose installation locations for settings and hooks:
? Where would you like to install settings and hooks?
📋 Will install settings and hooks in: user, local
After:
📍 Choose installation locations for configuration components:
? Where would you like to install the configuration components?
📋 Will install configuration components in: user, local
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Ask installation locations ONCE at the beginning for all settings and hooks
- Eliminate repeated prompts during batch installation
- Add sharedInstallLocations parameter to individual functions
- Use shared locations when provided, fall back to individual prompts otherwise
- Show clear message about selected locations before installation begins
Flow:
1. User runs: --setting=model/use-sonnet,telemetry/enable-telemetry
2. CLI asks ONCE: 'Where would you like to install settings and hooks?'
3. User selects locations (e.g., user, project, local)
4. CLI shows: 'Will install settings and hooks in: user, project, local'
5. All settings install to those same locations automatically
6. No additional prompts, CLI exits after completion
Prevents the frustrating loop where each component shows its own
installation menu, creating a better user experience for batch operations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add successfulInstallations counter to track actual successful installations
- Show accurate count in summary messages instead of total attempted
- Differentiate between complete success and partial success:
- 🎉 Green message when all locations successful
- ⚠️ Yellow message when some locations failed
- ❌ Red details showing number of failed installations
- Prevents misleading 'successfully installed in 4 location(s)!' when only 3 succeeded
Example outputs:
✅ All successful: '🎉 Setting installed in 3 location(s)!'
⚠️ Partial success: '⚠️ Setting installed in 3 of 4 location(s).'
'❌ 1 installation(s) failed due to permission or other errors.'
Fixes the case where enterprise settings fail due to permission denied
but user still sees success message for all locations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Settings and hooks now support checkbox selection for multiple installation locations
- Users can install the same component in multiple environments simultaneously:
- 🏠 User Settings (~/.claude/settings.json) - Global
- 📁 Project Settings (.claude/settings.json) - Team shared
- ⚙️ Local Settings (.claude/settings.local.json) - Personal
- 🏢 Enterprise Settings - System-wide (requires admin)
- Interactive prompts show checkbox interface with validation
- Each location is processed independently with conflict detection
- Progress messages show installation status for each location
- Tracking includes installation_location for analytics
- Graceful error handling - failed locations don't stop others
- Summary message shows total installations completed
Example: Install allow-npm-commands in both user and project settings
for global availability plus team sharing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Settings and hooks now show interactive prompts for installation location
- Fixed inconsistency between silent mode default and interactive mode default
- Both now default to 'local' settings (.claude/settings.local.json)
- Respects --yes flag to skip prompts when needed
- Users will now see the 4 installation options:
- 🏠 User Settings (~/.claude/settings.json) - Global
- 📁 Project Settings (.claude/settings.json) - Team shared
- ⚙️ Local Settings (.claude/settings.local.json) - Personal
- 🏢 Enterprise Settings - System-wide (requires admin)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✨ New Features:
- Interactive prompt to choose installation location for settings and hooks
- Support for all Claude Code configuration files hierarchy:
• User settings (~/.claude/settings.json) - Global for all projects
• Project settings (.claude/settings.json) - Shared with team
• Local settings (.claude/settings.local.json) - Personal, not committed
• Enterprise managed settings - System-wide policy (requires admin)
🖥️ Platform Support:
- macOS: /Library/Application Support/ClaudeCode/managed-settings.json
- Linux/WSL: /etc/claude-code/managed-settings.json
- Windows: C:\ProgramData\ClaudeCode\managed-settings.json
🔧 Technical Improvements:
- Unified installation logic for both hooks and settings
- Admin privilege detection and error handling for enterprise settings
- Proper directory creation for different installation locations
- Clear user feedback about target paths and requirements
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update all 14 hooks to use proper Claude Code array/matcher format
- Fix CLI merge logic to handle new hook structure correctly
- Add support for both old and new hook formats during migration
- Remove conflict detection for hooks (Claude Code arrays support multiple entries)
- Ensure hooks follow proper structure:
{
"hooks": {
"EventName": [
{
"matcher": "ToolPattern",
"hooks": [
{"type": "command", "command": "bash-command"}
]
}
]
}
}
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 9 Settings components (telemetry, permissions, model, cleanup)
- Add 6 Hooks components (formatting, git integration, backups, testing)
- Implement CLI installation with --setting and --hook flags
- Add conflict detection that prompts user before overwriting
- Merge settings into .claude/settings.json with intelligent deep merge
- Update data-loader.js to handle new component types
- Add filter buttons for Settings and Hooks in web interface
- Generate components.json with new Settings and Hooks sections
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added padding-bottom to chat-messages container
- Footer now has proper spacing and doesn't cover content
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Shopify-style cart sidebar with drag-from-right animation
- Implement Add to Stack buttons for all component cards
- Create dynamic command generation for agents, commands, and MCPs
- Add cart state management with localStorage persistence
- Implement notification system with auto-dismiss
- Add social sharing for X/Twitter and Threads
- Create overlay copy buttons for command text in cards and cart
- Optimize card layout grid system (4 columns desktop, 2 tablet, 1 mobile)
- Add cart floating button with item count badge
- Fix scroll prevention and notification persistence issues
- Remove quotes from agent parameters in generated commands
- Implement compact cart item design with Clear All repositioning
- Add comprehensive cart styling with responsive design
- Include share functionality with proper URL encoding
- Update CLI package version to 1.14.16 for npm compatibility
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add description field to MCP JSON files for frontend display
- Update generate_components_json.py to extract MCP descriptions
- Modify CLI to exclude description field from downloaded .mcp.json files
- Update frontend to display MCP descriptions in component cards
- Implement separate description handling for MCPs vs other components
Key changes:
• MCP JSON files now include description field above mcpServers
• Python script extracts descriptions into separate field in components.json
• CLI automatically removes description field during installation
• Frontend shows descriptive text for MCP cards using description field
• Maintains backward compatibility with existing MCP installations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement exponential backoff for GitHub API rate limits (5 retries max)
- Add sophisticated rate limit detection with exact wait times
- Handle missing files/directories gracefully instead of failing completely
- Add comprehensive download statistics and progress tracking
- Distinguish between different types of 403 errors (rate limit vs permissions)
- Continue installation even when some template files are unavailable
- Provide detailed summary of successful, skipped, and failed downloads
- Support workflow where some templates may have missing optional files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
## 🔧 Workflow Builder Web Interface
- **Drag-and-Drop Canvas**: Visual workflow building with sortable steps
- **Component Library**: Browse and search all agents, commands, and MCPs
- **Real-time Preview**: Live workflow statistics and step management
- **Hash Generation**: Secure workflow encoding with CryptoJS
- **YAML Export**: Generate executable workflow files
- **Modal Interface**: Professional workflow generation dialog
## ⚡ CLI Workflow Installation
- **--workflow option**: Install workflows from hash (format: #hash)
- **Batch Installation**: Download all workflow components automatically
- **Silent Mode**: Clean output when installing multiple components
- **YAML Generation**: Create step-by-step execution files
- **Error Handling**: Comprehensive validation and user guidance
## 🎨 UI/UX Features
- **Responsive Design**: Works on desktop and mobile devices
- **Professional Styling**: Clean, modern interface with proper theming
- **Interactive Components**: Hover effects, drag feedback, and animations
- **Search Functionality**: Filter components by name and category
- **Navigation Integration**: Added workflows link to main header
## 🔗 Architecture
- **Modular Frontend**: Separate CSS and JS files for maintainability
- **GitHub Integration**: Dynamic component loading from organized categories
- **Local Storage**: Workflow state management for hash generation
- **Component Tracking**: Analytics integration for usage monitoring
## 🚀 Workflow Execution Flow
1. **Build**: Create workflows in drag-and-drop interface
2. **Generate**: Export hash and YAML configuration
3. **Install**: Use CLI with generated hash to download all components
4. **Execute**: Use YAML file with Claude Code for step-by-step automation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add support for agent subcategories with dynamic GitHub discovery
- Support agent installation from subcategories (e.g., deep-research-team/academic-researcher)
- Add dynamic GitHub API integration to discover available agents in real-time
- Automatically organize agents by category folders
- Preserve folder structure when installing categorized agents
- Add comprehensive agent teams from merged PR #46:
- Deep Research Team (9 specialized research agents)
- FFmpeg Clip Team (6 media processing agents)
- MCP Development Team (5 MCP server agents)
- Obsidian Operations Team (5 knowledge management agents)
- OCR Extraction Team (5 text processing agents)
- Podcast Creator Team (9 content creation agents)
- Plus individual specialized agents
Technical improvements:
- Remove hardcoded agent lists in favor of GitHub repository scanning
- Support both 'agent-name' and 'category/agent-name' formats
- Fallback mechanism when GitHub API is unavailable
- Maintains backward compatibility with existing CLI usage
- Real-time agent discovery without requiring CLI updates
Usage examples:
- cct --agent api-security-audit (existing agents)
- cct --agent deep-research-team/academic-researcher (new categorized agents)
- cct --agent help (shows all available agents dynamically)
Co-authored-by: Cam10001110101 <cameron@cameronrohn.com>
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add support for new DeepGraph components and enhance filtering functionality
---------
Co-authored-by: Claude <noreply@anthropic.com>
- Support agent installation from subcategories (e.g., deep-research-team/academic-researcher)
- Add dynamic GitHub API integration to discover available agents in real-time
- Automatically organize agents by category folders
- Preserve folder structure when installing categorized agents
- Add comprehensive agent teams from merged PR #46:
- Deep Research Team (9 specialized research agents)
- FFmpeg Clip Team (6 media processing agents)
- MCP Development Team (5 MCP server agents)
- Obsidian Operations Team (5 knowledge management agents)
- OCR Extraction Team (5 text processing agents)
- Podcast Creator Team (9 content creation agents)
- Plus individual specialized agents
Technical improvements:
- Remove hardcoded agent lists in favor of GitHub repository scanning
- Support both 'agent-name' and 'category/agent-name' formats
- Fallback mechanism when GitHub API is unavailable
- Maintains backward compatibility with existing CLI usage
- Real-time agent discovery without requiring CLI updates
Usage examples:
- cct --agent api-security-audit (existing agents)
- cct --agent deep-research-team/academic-researcher (new categorized agents)
- cct --agent help (shows all available agents dynamically)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
- Fix MCP installation overwriting existing mcpServers configurations
- Add deep merge logic specifically for mcpServers key to preserve existing MCP entries
- Ensure individual MCP installations (--mcp=<name>) properly merge with existing .mcp.json
- Tested with multiple MCP installations (memory-integration, filesystem-access)
Fixes issue where installing a new MCP would overwrite all existing MCP server configurations
due to shallow merge behavior of spread operator.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
- Switch from Vercel to GitHub Pages tracking endpoint
- Use custom domain aitmpl.com for tracking requests
- Verified working with successful 200 responses
- Completely anonymous tracking through GitHub Pages infrastructure
- Add public telemetry endpoint that returns 1x1 GIF (like Google Analytics)
- Enable anonymous tracking via GET requests with no-cors mode
- Endpoint creates GitHub issues for existing analytics workflow
- Maintains full compatibility with current download-stats.json system
- No authentication required - completely anonymous tracking
- Replace GitHub repository dispatch with Vercel function
- Add vercel-tracking/ project with /api/track endpoint
- Enable completely anonymous tracking without user credentials
- Maintain same analytics data structure and GitHub issues creation
- Replace direct issue creation with repository dispatch events
- Add tracking-dispatch.yml workflow to handle tracking events
- Enable anonymous tracking without requiring user tokens
- Maintain same analytics data structure for compatibility
## Major Changes
### 🔄 GitHub Download System
- All templates now download directly from GitHub instead of local files
- Components (agents, commands, MCPs) download from `components/` directory
- Templates download from `templates/` directory
- Added download caching to avoid repeated requests
- Show clear GitHub URLs for transparency
### 🆕 New --template Parameter
- Added `--template` parameter as modern replacement for `--language`/`--framework`
- Maintains backward compatibility with deprecated `--language`/`--framework`
- Updated web interface to use new syntax: `npx claude-code-templates@latest --template=python --yes`
### 🎯 Component vs Template Separation
- `--agent=name`: Downloads individual component to `.claude/agents/`
- `--command=name`: Downloads individual component to `.claude/commands/`
- `--mcp=name`: Downloads individual component to `.mcp.json`
- `--template=name`: Downloads complete template with full configuration
### 📦 Web Interface Updates
- Updated installation commands to use `npx` with latest version
- Changed from `--language`/`--framework` to `--template` syntax
- Made global installation optional in step 1
- All template cards now show correct download commands
### ✅ Benefits
- Always up-to-date content from GitHub main branch
- No need to republish npm package for content updates
- Clear distinction between individual components and full templates
- Improved user experience with transparent download sources
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix tsconfig.json by removing invalid @docusaurus/tsconfig extends
- Add proper TypeScript configuration for Docusaurus
- Complete download count badges for template, agent, command, and MCP cards
- Add analytics data integration with card regeneration
- Include tracking service and GitHub Actions workflow for analytics processing
- Update web interface with download statistics display
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove non-existent 'claude auth status' command check
- Add proper detection for Claude Code OAuth authentication via ~/.claude.json
- Check for oauthAccount field to verify OAuth authentication
- Support API key authentication via config file or environment variable
- Display user email for OAuth authentication when available
- Provide more accurate status messages based on actual auth state
The health check was incorrectly reporting 'Claude CLI available but
authentication not verified' even when users were properly authenticated.
This fix ensures proper detection and reporting of authentication status
for Claude Code users using either OAuth or API key authentication methods.
- Introduced AgentAnalyzer class to analyze agent invocation data, usage frequency, and workflow patterns.
- Implemented endpoint for agent usage analytics in ClaudeAnalytics.
- Enhanced session management to account for scheduled reset times instead of fixed durations.
- Updated SessionAnalyzer to reflect new session reset logic and improved warning messages.
- Added functionality to calculate agent efficiency and popular usage hours.
- Created a .nojekyll file for GitHub Pages deployment in Docusaurus configuration.
* feat: add agents selection to interactive setup
- Add agents step to interactive setup flow in prompts.js
- Include React performance optimization and state management agents
- Include Django API security and database optimization agents
- Integrate agent selection with existing setup workflow
- Show agent count in confirmation step
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: bump version to 1.12.2 for agents feature
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat: Enhanced analytics dashboard with custom tool modals
- Implemented custom modals for all Claude Code tools (Read, Edit, Write, Bash, Glob, Grep, TodoWrite)
- Added intelligent diff viewer for Edit tool with dual modes (By Lines vs Smart Diff)
- Enhanced tool parameter visualization with project-specific insights
- Improved modal consistency with unified design patterns
- Added comprehensive CSS styling for all tool modals
- Fixed modal functionality and error handling across all tools
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: improve startup screen and fix framework structure
- Redesign compact ASCII art for better terminal usage
- Add version info and documentation links to startup screen
- Fix frameworks → examples directory structure consistency
- Update all code references to use examples/ instead of frameworks/
- Fix Jest configuration typo (moduleNameMapping → moduleNameMapper)
- Add new agents.js module for agent management
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: bump version to 1.12.1 for release
---------
Co-authored-by: Claude <noreply@anthropic.com>
- Exposed agentsPage globally for modal access in App.js, allowing for custom tool modals.
- Implemented cleanup of global references when navigating away from the agents page.
- Added detailed logging for token chart data in DashboardPage.js to aid in debugging.
- Improved tool display logic in ToolDisplay.js to store tool data for supported tools, enhancing modal interactions.
- Introduced extensive styling for various tool modals in index.html, ensuring a consistent and responsive design.
- Updated showResultsModal function to handle custom tool modals based on stored tool data, improving user experience.
- Added a new SVG file `undraw_docusaurus_tree.svg` to the static images directory for enhanced visual representation.
- Introduced a new TypeScript configuration file `tsconfig.json` to improve editor experience and project structure.
* feat: Enhance DataService with paginated conversations and improved error handling
- Added `getConversationsPaginated` method to fetch conversations with pagination support.
- Improved error handling in `cachedFetch` to provide clearer messages and fallback behavior.
- Updated WebSocket integration to handle connection failures with fallback polling.
- Reduced WebSocket auto-reconnect attempts and disabled auto-reconnect to minimize console noise.
- Added CORS middleware to the web server for better API accessibility.
- Implemented paginated conversations endpoint in the server.
- Added conversation messages endpoint to retrieve messages for a specific conversation.
- Enhanced conversation analysis to include detailed session data and compatibility with original dashboard.
* feat: Implement real-time conversation change handling and notifications
- Added handleConversationChange method to ClaudeAnalytics for processing updates to conversation files.
- Integrated WebSocket notifications for new messages in conversations.
- Enhanced setupFileWatchers to include conversation change callbacks.
- Updated conversation state API to calculate states for all conversations, improving performance and accuracy.
- Introduced pagination for conversation messages endpoint to support large message sets.
- Implemented cache management endpoint for clearing specific cache types.
- Enhanced DataCache and ConversationAnalyzer to support tool correlation in message parsing.
- Created ToolDisplay component for safe rendering of tool uses and results in the analytics dashboard.
- Added comprehensive documentation for Claude data structures and formats.
* feat: Enhance real-time messaging and dashboard features
- Improved logging for new messages in DataService to include message data.
- Increased WebSocket reconnection attempts for better reliability.
- Enabled auto-reconnect in WebSocketService for real-time updates.
- Updated conversation change handling in ClaudeAnalytics to include file path.
- Enhanced error handling and logging in ConversationAnalyzer and DataCache.
- Added new settings file for local permissions.
- Introduced a new Chats Dashboard option in the main menu.
- Created detailed architecture documentation for the analytics web application.
- Deprecated old main.js and Dashboard.js files in favor of a modular structure.
* feat: Implement real-time message handling and improve logging in DataService and AgentsPage
* feat: Implement comprehensive conversation state detection improvements
- Enhanced frontend message analysis for tool execution and content analysis.
- Introduced file activity detection to accurately identify user typing.
- Adopted a WebSocket-first approach for real-time state updates.
- Expanded state vocabulary with new contextual states and visual indicators.
- Improved state banner display with new CSS classes.
- Integrated system components for cohesive state management.
- Added health check feature to validate system requirements and configurations.
- Developed ConsoleBridge for web-based interaction with Claude Code processes.
- Created test script for ConsoleBridge to facilitate integration testing.
- Display template browser website in CLI completion message
- Add prominent link in README.md for template exploration
- Help users discover all available templates online
- Improve discoverability of the template showcase website
CLI now shows: 'View all available templates at: https://davila7.github.io/claude-code-templates/'
README includes: 'Browse Templates Online' section with website link
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed options parameter not being passed to copyTemplateFiles()
- Enhanced existing backup system with timestamped backups
- Added user choice prompts: Backup, Merge, or Cancel options
- Fixed --yes flag to properly trigger backup mode
- Improved merge mode to preserve existing configurations
- Added proper cancellation handling for user safety
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>