Commit Graph

13 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 cf7e008c59 feat: Add monitoring points P1-P5 (installation outcomes, website events, API health)
- Create 3 Neon tables: installation_outcomes, website_events, api_health_logs
- Add API endpoints: track-installation-outcome, track-website-events, health-check
- Track CLI installation success/failure with timing and error classification
- Add website event tracker (search, cart, component views) with batched sendBeacon
- Add health-check cron every 15min with Discord alerts on failure
- Integrate tracking in all 6 installIndividual* functions with batchId support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:08:34 -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 62c0fdc75f fix: Add skills to search functionality and URL routing
- Added 'skills' to validFilters in getFilterFromURL()
- Added 'skills' to component categories for search indexing
- Added skills icon 🎨 to category icons and typeConfig
- Enables proper /skills URL routing and search functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 18:04:34 -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 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 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
daniel e85f8463ff 🔧 Fix search toggle to only hide category sections, keep filter buttons visible
- Keep all filter buttons (Agents, Commands, Settings, Hooks, MCPs, Templates) visible
- Only hide category-filter-label elements (category sections)
- Filter buttons remain functional and accessible in search mode
- Cleaner UX: users can still access category filters while searching

Behavior:
✅ Search button toggle: shows/hides search bar
✅ Filter buttons: always visible (🤖 Agents, ⚡ Commands, etc.)
❌ Category sections: hidden during search mode
✅ Other UI elements: remain unchanged

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 15:07:26 -04:00
daniel e29e018d07 🔍 Move search button to first position and hide category filters when active
- Move search button to first position in filter-buttons row
- Remove display:none from search button to make it visible
- Add category-filter-btn class to all category filter buttons
- Update toggleSearch() function to hide/show category filters:
  - When search is active: hide all category-filter-btn and category-filter-label elements
  - When search is inactive: restore normal display of category filters
- Improved UX: clean interface switching between search mode and filter mode

User experience:
1. Click 🔍 Search button (first in row)
2. Category filters disappear, search bar appears
3. Click 🔍 Search button again to return to normal filter view

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 15:04:34 -04:00
daniel 11c9db4500 🎉 Complete Search Functionality & Cart Manager Overhaul
## Search System ✨
- ✅ Real-time search across all components (agents, commands, settings, hooks, MCPs)
- ✅ Intelligent scoring algorithm with multi-field matching
- ✅ Search result cards with full flip functionality and compact design
- ✅ Proper integration with global event handlers
- ✅ Hover effects and copy button functionality matching normal cards
- ✅ Keyboard shortcuts (Escape, Enter) and responsive design

## Cart Manager Fixes 🛒
- ✅ Added support for settings and hooks categories (5 total categories)
- ✅ Updated cart initialization, UI, and command generation
- ✅ Fixed JavaScript errors when adding settings/hooks to cart
- ✅ Added proper cart sections and icons for all component types

## Technical Improvements 🔧
- ✅ Fixed showComponentDetails function calls with correct parameters
- ✅ Matching HTML structure with normal cards (command-display, command-code-container)
- ✅ Proper CSS styling with debug helpers for troubleshooting
- ✅ Compact card design optimized for available space
- ✅ Search button temporarily hidden per user request

## Additional Features 📋
- ✅ Added comprehensive ASCII roadmap for future development phases
- ✅ Enhanced component path handling and category conversions
- ✅ Improved error handling and component loading

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 14:11:23 -04:00
daniel c26bcd5417 🔍 Add Intelligent Search Functionality to Components Filter
- Added search button to filter buttons section with toggle functionality
- Implemented real-time search across all component categories (except templates)
- Search triggers after 3+ characters with 300ms debouncing for performance
- Searches through component names, descriptions, categories, tags, and keywords
- Added comprehensive search UI with input field, clear button, and results info
- Display search results grouped by category with match scoring
- Shows "No results" with helpful search suggestions when no matches found
- Integrated with existing cart functionality and component installation commands
- Added keyboard shortcuts (Escape to close, Enter to focus first result)
- Responsive design with mobile-optimized search interface
- Search data loaded from main components.json with fallback mechanisms

Features:
✅ Search across agents, commands, settings, hooks, and MCPs
✅ Real-time results with intelligent scoring algorithm
✅ Category-based result grouping and filtering
✅ Keyboard navigation support
✅ Mobile-responsive search interface
✅ Integration with existing cart and installation workflows
✅ Performance optimized with debouncing and caching

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 12:05:08 -04:00