183 Commits

Author SHA1 Message Date
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 43dd5f9320 update download stats and component data in JSON files 2025-10-15 15:05:14 -04:00
Dani ad8753272d favicon: Add favicon to all pages for consistent branding and improved UX 2025-10-15 14:58:22 -04:00
Dani 9168edbff6 add discord links to header and footer in index.html 2025-10-14 15:15:53 -04:00
Dani 2d090008b4 update components.json with download count increments 2025-10-14 13:34:59 -04:00
Dani 199a17529c blog and trending data updates 2025-10-14 13:32:15 -04:00
Dani a806094e8d Update download counts for all agents in components.json 2025-10-13 15:10:15 -04:00
Dani 74fb40f758 trending.html: Add top countries section with dynamic rendering and styling 2025-10-13 15:08:25 -04:00
Dani 2f78c335e8 Fix: Add serverless function to docs/api for Vercel deployment
The download tracking was failing because Vercel serves from /docs/ as
the outputDirectory. Serverless functions must be inside this directory
to be detected and deployed correctly.

Changes:
- Copy track-download-supabase.js to docs/api/
- Copy package.json with dependencies to docs/api/
- Add comprehensive README.md explaining API structure
- Create sync-api.sh script for easy maintenance
- Keep /api/ as source of truth, /docs/api/ for deployment

This fixes the 404 error on:
https://www.aitmpl.com/api/track-download-supabase

Technical details:
- vercel.json has "outputDirectory": "docs"
- Vercel only detects functions inside the output directory
- Both static files (agents.json) and serverless functions now coexist
- Environment variables (SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY) required

Testing:
After Vercel deployment, test with:
curl -X POST https://www.aitmpl.com/api/track-download-supabase \
  -H "Content-Type: application/json" \
  -d '{"type":"agent","name":"test","path":"test","category":"test"}'

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 09:50:49 -04:00
Dani 59d3d51b6e fix svelte names 2025-10-10 13:01:39 -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 1498e0f0a0 add components 2025-10-09 12:20:52 -04:00
Dani 9c7904e99c add chrome-dev-tools, grafana, terraform mcp. Update ultra-think command. 2025-10-08 21:18:40 -04:00
Dani 4775ac5c6c fix trending 2025-10-08 08:46:37 -04:00
Dani dafa27adeb chore: hide plugins filter button from main navigation 2025-10-07 17:25:08 -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 e5f7d8dceb chore: regenerate components.json with Python hook scripts 2025-10-01 20:02:48 -04:00
Dani 7b320aa371 chore: regenerate components.json with latest changes
Updated components catalog with new Git Flow hook and Python script support.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 19:47:56 -04:00
Dani fe79e89024 fix(statusline): remove trailing quotes in git-flow-status display
Fixed statusline command to properly display Git Flow status without
trailing empty quotes. Changed from subshell construction to simple
if-else conditional for cleaner output.

Before: 🌿 feature/test ●2 ✚2 ""
After:  🌿 feature/test ●2 ✚2 | 🎯 → develop

Changes:
- Updated git-flow-status.json statusline command
- Updated git-flow-settings.json statusline command
- Regenerated components.json catalog

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 15:15:43 -04:00
Dani b7c9eb1990 update agents 2025-10-01 14:49:11 -04:00
Dani 0618618287 fix vertex conf 2025-09-27 12:56:15 -04:00
Dani 8951c0e5e6 fix trending 2025-09-26 13:19:35 -04:00
Dani 3a6d35709a update trending, components and documentation 2025-09-26 11:58:20 -04:00
Dani b7c2de7776 neon database agents and settings added 2025-09-20 12:39:56 -04:00
Dani 8a292aacb6 add AGENTS.md fallback logic for Claude Code 2025-09-19 19:36:35 -04:00
Dani e429063c8b update components and agents download counts in docs/components.json 2025-09-19 11:14:46 -04:00
Dani 9ea6f6dfbc add agents 2025-09-18 14:41:22 -04:00
Dani 787f9875b7 fix sitemap and robots.txt for SEO and add dev server 2025-09-18 10:39:11 -04:00
Dani 017050c729 add mcps 2025-09-18 09:10:34 -04:00
Dani 6925700bb3 add hotjar + jobs 2025-09-13 10:13:51 -04:00
Dani d0e56c97e7 logo 2025-09-12 17:11:44 -04:00
Dani fc2396d3fc update hook 2025-09-12 15:37:54 -04:00
Dani 5f8bc80237 fix blog e2b 2025-09-11 15:00:39 -04:00
Dani bdb92f1af2 add png 2025-09-11 14:03:37 -04:00
Dani 0ef12f7fc8 fix blog 2025-09-10 23:34:49 -04:00
Dani aa329c6682 fix car and vercel routes 2025-09-10 19:41:25 -04:00
Dani a78e77f8dd Simplify component.html for production-only deployment
Remove all local environment detection logic and focus 100% on production.

Changes:
- Use static absolute paths for all resources (/css/, /js/, /favicon.ico)
- Remove complex environment detection and dynamic script loading
- Simplify DataLoader to always use absolute paths (/components.json)
- Clean up debugging logs and navigation links
- Static script tags for reliable loading order

This eliminates complexity and ensures robust production functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:51:31 -04:00
Dani fe69262898 Fix DataLoader resource paths for production component URLs
The DataLoader was using relative paths like 'components.json' which
resolved incorrectly from SEO-friendly URLs (/component/agent/name).

Changes:
- Add environment detection to DataLoader constructor
- Add getDataPath() method for environment-aware resource paths
- Use relative paths for local development (components.json)
- Use absolute paths for production (/components.json)
- Add debug logging to trace loading issues

This should fix the "Loading component..." issue in production
by ensuring components.json loads from the correct path.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:45:44 -04:00
Dani 0bdfeb1113 Fix JavaScript path resolution for production component URLs
JavaScript files were loading with relative paths (js/data-loader.js)
which resolved incorrectly from SEO-friendly URLs like
/component/agent/name to /component/agent/js/data-loader.js.

Changes:
- Replace static script tags with dynamic environment-aware loading
- Use relative paths (js/) for local development
- Use absolute paths (/js/) for production
- Maintain script execution order with async=false
- Add debugging logs for troubleshooting

This resolves MIME type errors and ensures JavaScript functionality
works correctly on production component pages.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:41:32 -04:00
Dani a6b9226cc0 fix routes vercel 2025-09-10 17:23:42 -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 4a8f09faff agent.json api 2025-09-07 17:39:35 -04:00
Dani 6dcb1ec4c4 Update E2B sandbox blog documentation to match current CLI implementation
- Add interactive agent selection feature when --agent not provided
- Add interactive prompt input when --prompt not provided
- Document Y/n confirmation step before execution
- Clarify files download to current directory in sandbox-xxxxx folder
- Add ESC to cancel execution feature
- Update execution process table with complete 12-step workflow
- Fix timeout documentation (15 minutes, not 5)
- Remove --studio references (keeping it private for now)
- Add interactive mode example in quick start

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 16:01:31 -04:00
Dani 6f56132b0e Separate --studio and --sandbox commands: make --sandbox CLI-only with interactive agent selection
- Keep --studio as separate web interface command for Claude Code Studio
- Make --sandbox e2b pure CLI experience without opening web interface
- Add interactive agent selection when --agent not provided
- Agent list fetched from GitHub with option to continue without agent
- Maintain existing prompt collection and Y/n confirmation flow
- Real-time log display and folder download already working

This ensures --sandbox e2b follows the CLI workflow:
1. Check/download agents if missing
2. Prompt for input if --prompt not provided
3. Confirm E2B execution with Y/n
4. Execute and show logs
5. Download folder when complete

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 15:39:15 -04:00
Dani 846f42241d Transform to Claude Code Studio: complete local + cloud execution interface
✨ FEATURES:
- Rename from AITMPL Cloud Agent to Claude Code Studio
- Add --studio command to launch unified interface
- Support both Local Machine and E2B Cloud execution modes
- Interactive mode toggle with visual indicators
- Smart notices (API keys for cloud, CLI check for local)

🚀 EXECUTION MODES:
- Local: Execute Claude Code directly on user's machine
- Cloud: Execute in E2B isolated sandbox environment

🎨 UI IMPROVEMENTS:
- Clean mode selector with icons and hover effects
- Context-aware notices (show only relevant info)
- Better error handling for missing Claude Code CLI
- Terminal-styled interface consistent with brand

🔧 CLI INTEGRATION:
- npx claude-code-templates@latest --studio (launch interface)
- npx claude-code-templates@latest --sandbox e2b (direct cloud)
- Backward compatibility maintained

💡 USER EXPERIENCE:
- Default to Local mode (no API keys needed)
- Switch to Cloud for isolated testing
- Real-time task management and progress tracking
- Automatic environment detection and setup guidance
2025-09-07 11:20:32 -04:00
Dani 149de06cd4 Improve AITMPL Cloud Agent UX: add API keys notice and better error handling
- Add prominent API keys notice with setup instructions
- Include direct links to get E2B and Anthropic API keys
- Improve error handling to detect missing API key errors
- Show helpful error messages for API key configuration
- Better user guidance for .env file setup
2025-09-06 20:15:14 -04:00
Dani 777b3db79e Add AITMPL Cloud Agent interface for E2B sandbox management
- Create web interface for managing E2B sandbox tasks
- Add terminal-styled UI matching docs/index.html design
- Implement real-time task polling and progress tracking
- Add sandbox server with Express.js backend
- Support launching interface with --sandbox e2b command
- Include running and completed task sections
- Real-time output streaming from E2B executions
- Auto-resize textarea and keyboard shortcuts
2025-09-06 20:07:23 -04:00
Dani f8a815a866 Change E2B sandbox prompt from editor to simple text input 2025-09-06 19:38:46 -04:00
Dani 49513876fd Fix E2B sandbox to download files directly to project root
Changes:
- E2B launcher now downloads files to ./ (project root) instead of ./e2b-outputs/
- Updated confirmation dialog to show "Files will be downloaded to project root directory"
- Updated modal feature text to "Files downloaded to project root"
- Removed timestamp folder organization for simpler file management

This ensures generated files are immediately available in the project root
where users expect them, without needing to navigate to subfolders.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 15:56:38 -04:00