Commit Graph

24 Commits

Author SHA1 Message Date
daniel 0f4aaa7217 security: Fix XSS vulnerabilities in docs site and dashboard
Static site (docs/js/):
- Add escapeHTML() utility to utils.js for sanitizing dynamic content
- Apply escapeHTML to component names, descriptions, categories, and
  install commands in card generation (search-functionality.js,
  index-events.js)
- Replace innerHTML with DOM methods for search category tags

Dashboard:
- Create shared TypeIcon component using DOMParser for safe SVG
  rendering (rejects malformed SVG via parsererror check)
- Remove all dangerouslySetInnerHTML usage from SearchModal,
  ComponentGrid, TrendingView, and MyComponentsView
- Clean up unused ICONS imports

Resolves CLA-23

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:13:17 -05:00
daniel aecc44c4e1 chore: Remove 90 debug console.log statements from docs/js/
Remove debug console.log statements across 9 files while preserving
all console.error in catch blocks and console.warn for missing data.
Add agent-teams-guide blog cover image.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 21:22:22 -05:00
Dani 76e0971528 feat(website): Move featured section above search, make skills default filter
- Move featured projects section above search bar with compact horizontal design
- Make Skills the default filter (first position, active by default)
- Add redirect from / to /skills in vercel.json
- Fix search keywords bug when keywords is an array instead of string
- Update all JS files to default to 'skills' filter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 17:24:54 -05:00
Dani 8b788dfc9a fix skill modal and add analytics 2025-10-24 17:05:21 -04:00
Dani d6b27f48d6 feat: Add skills integration with categorization and web interface support
## Skills System
- Add 19 Anthropic skills to components/skills/ with proper categorization
- Create 4 skill categories: creative-design, development, document-processing, enterprise-communication
- Add ANTHROPIC_ATTRIBUTION.md with license information (Apache 2.0 and Source-Available)

## Data Generation
- Update generate_components_json.py to handle skills with category/skill-name structure
- Skills now use SKILL.md inside category directories
- Extract descriptions from skill frontmatter
- Support proper path generation: category/skill-name

## CLI Installation
- Update installIndividualSkill() to support category/skill-name format
- Handle both "skill-name" and "category/skill-name" installation paths
- Improve error messages with category suggestions
- Download additional files (scripts/, reference/, templates/) via GitHub API

## Web Interface
- Add skills filter chip with "NEW" label and 🎨 icon to docs/index.html
- Update JavaScript to support skills filtering and categorization
- Add skills support to shopping cart system
- Generate correct installation commands: --skill=category/skill-name
- Update data-loader.js, index-events.js, and cart-manager.js for skills

## Skills Included
### Creative & Design (4)
- algorithmic-art, canvas-design, slack-gif-creator, theme-factory

### Development (5)
- artifacts-builder, git-commit-helper, mcp-builder, skill-creator, webapp-testing

### Document Processing (6)
- docx, pdf-anthropic, pdf-processing, pdf-processing-pro, pptx, xlsx

### Enterprise Communication (4)
- brand-guidelines, email-composer, excel-analysis, internal-comms

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:27:34 -04:00
Daniel Avila 5cba740dde Improve validation modal text display and UX enhancements (#112)
## Changes Made:

### 1. Modal Text Display Improvements
- Increased error/warning message font size from 14px to 16px for better readability
- Improved line height from 1.5 to 1.6 for better spacing
- Increased margin-bottom from 4px to 8px for better visual separation

### 2. Code Preview Text Wrapping
- Removed horizontal scroll (`overflow-x: auto`) from code previews
- Added `white-space: normal` to prevent excessive whitespace at line start
- Added `word-wrap: break-word` and `overflow-wrap: break-word` for proper text wrapping
- Applied to all code preview sections:
  - Error line text previews
  - Warning line text previews
  - Example line text in errors
  - Example line text in warnings

### 3. Line Number Scroll Synchronization
- Added `position: relative` to `.code-body` for better layout control
- Added `overflow: hidden` and `max-height: 600px` to `.code-line-numbers`
- Added `max-height: 600px` to `.code-content`
- Implemented JavaScript scroll sync between line numbers and code content
- Line numbers now scroll perfectly in sync with code content

### 4. Clickable Error Line Numbers
- Added `cursor: pointer` to error/warning line numbers
- Added "Click to see details" tooltip on error/warning lines
- Implemented click event listeners on all error/warning lines
- Click handler searches through validators to find matching error
- Opens validation modal with correct validator details when clicked
- Added hover effects with `transform: translateX(-2px)` and `cursor: help`

## User Experience Improvements:
- ✅ Error messages are now larger and easier to read (16px)
- ✅ Code snippets wrap naturally without horizontal scroll
- ✅ No excessive whitespace at the beginning of code lines
- ✅ Line numbers stay synchronized during scroll
- ✅ Error line numbers are interactive and open detailed validation modals
- ✅ Better visual hierarchy with improved spacing and sizing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-16 15:34:11 -04:00
Dani a91cdb7379 feat: Add plugin dashboard with real-time monitoring
- Add plugin dashboard server with WebSocket support
- Create modern web interface for plugin management
- Implement real-time plugin state detection
- Add install/enable/disable/uninstall commands
- Support status-based sorting (enabled first)
- Add auto-refresh every 30 seconds
- Update docs to showcase plugin dashboard feature
- Add smooth scroll to plugins section on banner click

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 13:00:06 -04:00
Dani c4ad408b77 publish plugins 2025-10-09 13:07:09 -04:00
Dani 8ee17bda8e feat: implement plugin system with marketplace and category filters
- Add plugin marketplace system with 10 curated plugins
- Create plugin detail pages with installation instructions
- Add component installation modal with copy functionality
- Update Python script to extract plugin data with category/folder paths
- Add category filters that load correctly based on URL
- Update footer across all pages for consistency
- Fix install commands to use folder/name format

Features:
- Plugin cards with View Details button
- Individual component installation with proper paths
- Related plugins based on shared keywords
- Dynamic category loading for all filter types
- URL-based filter detection and category display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 17:15:06 -04:00
Dani 787f9875b7 fix sitemap and robots.txt for SEO and add dev server 2025-09-18 10:39:11 -04:00
Dani aa329c6682 fix car and vercel routes 2025-09-10 19:41:25 -04:00
Dani a3c0187e55 feat: component page improvements and SEO-friendly URLs
• Complete component page implementation with cart functionality
• Clean component names (remove .md/.json extensions in display)
• SEO-friendly URLs: /component/type/name format
• Local/production URL detection for development compatibility
• Improved header actions positioning and responsive design
• API keys setup (Anthropic + E2B) for sandbox execution
• Enhanced cart functionality with clean path/name display
• Share dropdown positioning fix (opens upward)
• Compact back navigation styling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:07:04 -04:00
Dani 4828eccc22 new search layout 2025-08-26 20:21:31 -04:00
Dani 6201418bc0 feat: Update .gitignore to include .vscode and adjust CSS styles for terminal interface
- Added .vscode to .gitignore to prevent IDE settings from being tracked.
- Changed CodeGPT API key from "Ollama" to "OpenAI" in settings.json.
- Modified CSS styles for various components to enhance the terminal interface, including adjustments to padding, margins, and grid layouts.
- Introduced new terminal-style search functionality in index.html with improved search input handling and results display.
- Enhanced JavaScript event handling for category filters and search functionality, including debouncing and dynamic category display.
- Updated search results formatting to reflect terminal-style aesthetics.
2025-08-19 07:31:35 -04:00
余小章 7f52658a26 feat: enhance component path handling by removing .md and .json extension (#62)
* feat: enhance component path handling by removing .md and .json extensions

* feat: remove .json extension from MCP names in command generation
2025-08-16 18:02:22 -04:00
daniel b71937d0b8 fix: Enable Settings and Hooks filters in frontend
- Update index-events.js to handle settings and hooks component types
- Add settings and hooks to availableCategories and data processing
- Update filter counts to include settings and hooks totals
- Add proper icons and colors for settings (⚙️ purple) and hooks (🪝 orange)
- Update contribution modal to support settings and hooks with JSON format
- Fix data-loader.js getTotalCounts method to include all component types

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 22:31:36 -04:00
Dani 22149b058b 🛠️ Fix Components Disappearing Issue - Simplify Data Loading
## Problem Fixed:
- Components were loading initially but then disappearing
- Agents and MCPs showing empty grids despite correct counts
- Commands showing items but missing categories
- Issue caused by complex pagination conflicting with background loading

## Solution:
- Simplified to load all components at once (loadAllComponents())
- Eliminated problematic background pagination that was overwriting data
- Since GitHub templates loading was removed, JSON size is manageable
- Removed race conditions between initial load and background merging

## Technical Changes:
- Created `loadAllComponents()` method for single-pass loading
- Removed `loadMoreComponentsInBackground()` complexity
- Fixed data synchronization issues
- Maintained performance with proper caching and timeouts

Now all component types should display correctly without disappearing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 14:12:17 -04:00
Dani bf01176647 🔧 Fix Filter Count Display - Show Correct Total Numbers
## Issue Fixed:
- Filter buttons were showing paginated counts (50 items) instead of actual totals
- Users saw "Agents (50)" instead of "Agents (100)"
- Problem caused by race condition between initial load and background loading

## Technical Solution:
- Added `fullComponentsData` property to store complete dataset
- Created `getTotalCounts()` method for accurate count retrieval
- Updated `updateFilterCounts()` to use total counts instead of paginated data
- Fixed data synchronization between DataLoader and IndexPageManager
- Eliminated GitHub templates loading errors by using components.json exclusively

## Now Shows Correct Numbers:
✅ 🤖 Agents (100)
✅ ⚡ Commands (158)
✅ 🔌 MCPs (23)
✅ 📦 Templates (14)

Performance optimizations maintained - initial load still fast with background completion.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 14:06:37 -04:00
Dani e66651c0c3 🚀 Major Performance Optimizations - Mobile Loading Issues Fixed
## Critical Issues Resolved:
- **Lazy loading**: Components.json now loads in 50-item batches instead of 1.6MB at once
- **Timeouts**: Added 8-second timeouts to prevent hanging fetches
- **Loading states**: Visual progress indicators for better UX
- **MutationObserver**: Optimized with debouncing and selective monitoring
- **Background loading**: Non-blocking progressive loading
- **Error handling**: Comprehensive fallbacks and user-friendly error messages

## Technical Improvements:
- RequestAnimationFrame instead of setTimeout for smoother animations
- Debounced DOM updates to prevent excessive reflows
- Intelligent caching with cache-friendly timestamps
- Progressive enhancement with fallback data
- Memory-efficient pagination system
- Performance-optimized CSS animations

## Mobile-Specific Fixes:
- Reduced initial payload from 1.6MB to ~200KB
- Prevented UI thread blocking during data parsing
- Added mobile-optimized loading states
- Improved error handling for slow connections

This should resolve the mobile freezing issues completely.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 13:57:26 -04:00
Dani 66be089cb7 Implement comprehensive shopping cart system for Claude Code Templates
- 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>
2025-08-06 08:53:34 -04:00
Dani 4b0953fdcd add mcp descriptions 2025-08-04 13:55:52 -04:00
Dani 317e9d602b remove .json extension from path 2025-08-04 10:19:46 -04:00
Dani 8c0a027e7b feat: add description field support for MCP components
- 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>
2025-08-04 09:37:46 -04:00
Dani 36714d2d8b feat: comprehensive templates system enhancement and code organization
## Major Features Added

### 🏗️ Templates System Overhaul
- **New data source**: Templates now load from `components.json` generated from `cli-tool/templates/`
- **Enhanced structure**: Support for both language and framework templates
- **Recursive file scanning**: Includes `.claude/` folder contents (agents, commands, settings)
- **Smart categorization**: Language-based category filters for templates
- **Proper install commands**: `--template=python --yes` for languages, `--template=django --yes` for frameworks

### 📦 Template Management
- **Updated generate_components_json.py**: Scans `cli-tool/templates/` recursively
- **File inventory**: Tracks all template files including Claude Code configuration
- **Template modal**: Shows complete file list for each template
- **GitHub integration**: Direct links to template folders

### 🎨 UI/UX Improvements
- **Card flip animations**: Restored original template card functionality from script.js
- **MCP optimization**: Removed unnecessary descriptions from MCP cards and modals
- **Category filters**: Templates now show language-based filters (python, ruby, etc.)
- **Filter reset**: Switching main filters automatically resets category selection
- **Enhanced modals**: Comprehensive template contribution guide with language vs framework instructions

### 🔧 Code Organization
- **Structured directories**: Moved all CSS files to `css/` and JS files to `js/`
- **Updated references**: All HTML files now reference organized file paths
- **Better maintainability**: Cleaner project structure for future development

### 🚀 Enhanced Contribution Flow
- **Detailed template modal**: Step-by-step guide for contributing languages vs frameworks
- **Required file structure**: Clear documentation of Claude Code configuration files
- **GitHub workflow**: Proper git commands and testing instructions

## Technical Improvements
- Fixed card flip functionality conflicts
- Enhanced pagination system
- Improved modal management
- Better error handling and fallbacks
- Consistent styling across components

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 19:59:20 -04:00