344 Commits

Author SHA1 Message Date
Dani b69e56ae20 feat: Add plugin skills support to Skills Manager Dashboard
🎯 Skills Manager now detects skills from 3 sources:
- Personal: ~/.claude/skills/
- Project: .claude/skills/
- Plugin: ~/.claude/plugins/marketplaces/*/plugins/*/skills/*/

✨ Features:
- Added loadPluginSkills() to scan marketplace-installed skills
- Skills from /plugin install now appear in dashboard
- Detailed logging for debugging skill detection
- Fixed filter counts to show consistent totals

🔧 Improvements:
- Filter counts remain static regardless of active filter
- Shows total count for each category (All, Personal, Project, Plugin)
- Enhanced logging for better troubleshooting
- Supports skills installed via Claude Code plugin system

📦 Version: 1.28.3

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 15:40:19 -05:00
Dani e3d3c0ed81 chore: Bump version to 1.28.2 2025-11-15 11:21:48 -05:00
Dani 3f65d42373 feat: Add automatic port fallback for Skills Dashboard
When port 3337 is in use, the dashboard will automatically try the next available port
(3338, 3339, etc.) with a clear message to the user.

This prevents EADDRINUSE errors and improves user experience.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 11:21:15 -05:00
Dani 1539290b11 chore: Bump version to 1.28.1 2025-11-15 11:13:42 -05:00
Dani 51db491ceb fix: Change --skills to --skills-manager to avoid conflict with component installation
The --skills flag was conflicting with the existing --skills component installation command,
causing EADDRINUSE errors on port 3337. Changed Skills Dashboard to use --skills-manager instead.

Changes:
- bin/create-claude-config.js: --skills → --skills-manager
- src/index.js: options.skills → options.skillsManager
- SKILLS_DASHBOARD.md: Updated usage examples

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 11:12:53 -05:00
Dani 4ab8925ca0 chore: Bump version to 1.28.0 2025-11-15 10:30:23 -05:00
Dani e071afb317 feat: Add Skills Dashboard with progressive context loading visualization
Implements a comprehensive Skills Dashboard accessible via `--skills` flag that visualizes
Claude Code's 3-level progressive context loading system according to official documentation.

Features:
- **Level 1: Metadata** - Always loaded (~100 tokens): name, description, allowed-tools from YAML
- **Level 2: Instructions** - When triggered (<5k tokens): SKILL.md body with workflows
- **Level 3+: Resources & Code** - As needed (unlimited): Additional markdown, scripts, templates
  - Instructions: Additional .md files with specialized guidance
  - Code: Executable scripts (.py, .js, .sh) run via bash without loading into context
  - Resources: Reference materials (schemas, API docs, templates, examples)

Technical Implementation:
- Express.js server on port 3337 with RESTful API
- Real-time skill scanning from ~/.claude/skills and .claude/skills
- Progressive file categorization: alwaysLoaded, onDemand, progressive
- Modern UI with level cards, flow arrows, and resource categorization
- File type detection and proper context for markdown references vs executable code

Dashboard shows:
- Grid/list view of all installed skills
- Filter by source (Personal, Project, Plugin)
- Sort by name, file count, last modified
- Modal detail view with 3-level loading visualization
- Visual flow arrows between levels showing loading triggers
- Category descriptions matching official Skills documentation

Fixes context preservation issue in scanSupportingFiles() where `this` context
was lost in nested function, now using `const self = this` pattern.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 10:29:46 -05:00
SangheeSon edb5bbe64f Fix Windows Python command compatibility (#118)
- Replace python3 with python in JSON configs on Windows
- Add cross-platform Python detection (py/python/python3)
- Update E2B sandbox to try multiple Python commands
- Follows PEP 397 Python launcher best practices
2025-11-15 09:41:25 -05:00
Shreyas Shinde b98755f110 feat: Add Growth Kit - Content marketing automation plugin (#129)
Add comprehensive content marketing automation commands for blog-to-social distribution.

New Commands (6 total):
- Marketing: publisher-x, publisher-linkedin, publisher-medium, publisher-devto, publisher-all
- Setup: vercel-analytics

Features: Universal input, Multi-language (EN/JA), Zero dependencies, Production-tested

Author: Kanaeru Labs (https://www.kanaeru.ai)
Repository: https://github.com/kanaerulabs/growth-kit
License: MIT

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-15 09:11:03 -05:00
Dani 8ae3a109e1 feat: Increase data processing limit from 200k to 1M records
- Updated generate_trending_data.py to handle up to 1M records (was 200k)
- Updated generate_components_json.py pagination limit to 1000 pages (1M records)
- Successfully processed 202,517 download records across both scripts
- Regenerated trending-data.json and components.json with latest data

This change enables the system to scale beyond the previous 200k record limit,
ensuring accurate analytics as the component download volume continues to grow.

Stats from latest generation:
- 202,517 total downloads processed
- 624 unique components
- 142 countries
- Top categories: agents (163), commands (210), mcps (58)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 11:15:46 -05:00
Pano Pouroullis 9025e321fd Add ElevenLabs MCP (#125)
* feat: add ElevenLabs MCP for text-to-speech and audio processing

Add official ElevenLabs MCP integration to enable text-to-speech, voice cloning, audio processing, and transcription capabilities.

Changes:
- Add elevenlabs.json MCP configuration in new audio category
- Use uvx package manager (matches existing mysql-integration, logfire pattern)
- Configure environment variables for API key and optional output modes

The ElevenLabs MCP enables:
- Text-to-speech generation with natural AI voices
- Voice cloning and custom voice design
- Audio isolation and processing
- Sound effects generation
- Audio transcription with speaker identification

Follows existing uvx-based MCP pattern from:
- cli-tool/components/mcps/database/mysql-integration.json
- cli-tool/components/mcps/devtools/logfire.json

Attribution: Official ElevenLabs MCP (MIT License)
Repository: https://github.com/elevenlabs/elevenlabs-mcp

* docs: add audio category to CONTRIBUTING.md MCP list

Add audio/ category to MCP categories list in contributing guidelines
to reflect the new category introduced with elevenlabs-mcp integration.
2025-11-09 12:20:27 -05:00
Dani 92e2d1184d feat: Add Docker Sandbox Provider for local Claude Code execution
🐳 New Docker Sandbox Provider - Execute Claude Code in isolated local containers

## Features
- ✅ Fully local execution with complete isolation
- ✅ Claude Agent SDK integration with async generator pattern
- ✅ Multi-directory file detection (/app and /tmp)
- ✅ Support for specialized agents
- ✅ Automated execution with --yes flag
- ✅ Custom Docker environments

## Files Added
- cli-tool/components/sandbox/docker/Dockerfile - Node.js 22 Alpine image
- cli-tool/components/sandbox/docker/docker-launcher.js - Container orchestration
- cli-tool/components/sandbox/docker/execute.js - Claude SDK execution script
- cli-tool/components/sandbox/docker/package.json - Dependencies
- cli-tool/components/sandbox/docker/README.md - Complete documentation

## Changes
- cli-tool/package.json: Bump version to 1.27.0, add docker files to npm package
- cli-tool/src/index.js: Add Docker sandbox execution logic and --yes flag support
- docs/component.html: Add Docker provider documentation and comparison table
- docs/css/component-page.css: Docker provider styling
- docs/js/component-page.js: Docker provider tab functionality

## Usage
npx claude-code-templates@latest --sandbox docker --agent example --prompt "task" --yes

## Requirements
- Docker Desktop installed and running
- Anthropic API key configured

🎉 Version 1.27.0 published to npm

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 16:34:49 -05:00
Dani 7cb214e083 feat: Add command usage tracking system to Neon Database
This update adds comprehensive tracking of CLI command executions
to understand community usage patterns of the npm package.

**What's New:**
- Command usage logging in Neon Database with PostgreSQL
- Tracks: --chats, --analytics, --health-check, --plugins, --sandbox, and more
- API endpoint: /api/track-command-usage with validation
- Comprehensive test suite (18/18 tests passing)
- Fire-and-forget tracking (non-blocking, respects privacy)
- Auto-aggregated statistics with PostgreSQL triggers
- Useful views: daily usage, platform distribution, popular commands

**Technical Details:**
- Database: Neon PostgreSQL (separate from Supabase component downloads)
- Endpoint: https://www.aitmpl.com/api/track-command-usage
- Privacy: Respects CCT_NO_TRACKING environment variable
- Metadata: Includes tunnel usage, platform, Node version, etc.

**Files Changed:**
- api/track-command-usage.js - New endpoint for command tracking
- database/migrations/002_create_command_usage_logs.sql - Database schema
- cli-tool/src/tracking-service.js - Added trackCommandExecution()
- cli-tool/src/index.js - Integrated tracking for 10+ commands
- api/__tests__/endpoints.test.js - Added comprehensive tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 15:21:28 -04:00
Dani 4c8a8383ae chore: bump version to 1.26.3
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 16:03:01 -04:00
Dani f1fb361e4d fix: prevent duplicate shutdown handlers and memory leaks in chats server
Fixed multiple issues with server shutdown:
- Added flag to prevent multiple shutdown attempts
- Remove all SIGINT/SIGTERM listeners before adding new ones
- Added isStopped flag to prevent stop() from being called multiple times
- Improved logging during shutdown process
- Fixed MaxListenersExceededWarning by properly cleaning up event listeners

This resolves the issue where pressing Ctrl+C multiple times would create
duplicate shutdown handlers and cause memory leaks.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 16:02:35 -04:00
Dani 1b831afe95 chore: bump version to 1.26.2
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 15:46:09 -04:00
Dani 03efc6752a feat: add comprehensive Session Analytics modal (Beta)
Added detailed analytics modal for each chat session including:
- Overview metrics (messages, tokens, tools, models, cache efficiency)
- Token usage breakdown with cost estimation
- Session timeline with duration tracking
- Time breakdown (Claude execution vs user conversing)
- Model information with usage percentages and message counts
- Tool usage statistics
- Components used (agents, slash commands, skills)

Key features:
- Real-time analytics calculation from JSONL conversation files
- Multi-model usage detection (Sonnet/Haiku switching)
- Intelligent time filtering (excludes long breaks)
- Cost estimation based on Claude API pricing
- Component detection from tool_use blocks

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 15:44:14 -04:00
Luqman 562773ca08 Update deployment-engineer.md (#123)
Add AskUserQuestion to tools used by the aagent
2025-10-30 17:24:40 -04:00
Dani d26911a758 fix: replace cat pipe option with interactive mode example
The 'cat | claude' command doesn't work with interactive mode
because pipe consumes stdin. Replaced with proper interactive
mode usage:

Option 1: claude "read @context-file.md and continue"
Option 2: claude (then > @context-file.md continue)

This fixes the 'Raw mode is not supported' error users were
experiencing.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:48:37 -04:00
Dani f49b05d8fc chore: bump version to 1.26.0 2025-10-30 14:36:33 -04:00
Dani 482772b2bf feat: add command examples to download modal
Added two simple command options for loading context:

Option 1: Direct reference with @
claude "read @context-file.md and continue"

Option 2: Using cat (pipe)
cat context-file.md | claude

Changes:
- Replaced generic instructions with specific commands
- Added syntax-highlighted code blocks
- Clear visual separation between options
- Added tip about saving file in project directory

UI improvements:
- Dark code blocks for better readability
- Green headers for each option
- Concise, actionable instructions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:32:10 -04:00
Dani a7385cddf5 improve: update context file format to be Claude Code-friendly
Changes:
- Header now directly addresses Claude Code instead of the user
- Clear note: "This file contains the complete conversation history"
- Removed user-facing instructions
- Simplified metadata format
- Updated modal text to reflect that file is FOR Claude Code to read

New header format:
```markdown
# Previous Conversation Context

> **Note to Claude Code**: This file contains the complete
> conversation history from a previous session. Read and
> understand this context to continue helping the user with
> their task.

**Project:** project-name
**Date:** 2025-10-29
**Messages in this export:** 100
```

Modal improvements:
- "Markdown context file that Claude Code can read"
- "Claude will read and understand the previous conversation"
- Clearer example of @ usage

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:17:20 -04:00
Dani cb890faecf feat: replace session sharing with context download
Complete overhaul of session sharing feature:

REMOVED:
- x0.at upload functionality
- Share command and QR code generation
- External file hosting dependencies
- Clone session command (--clone-session)

ADDED:
- Download conversation as Markdown file
- Context file optimized for Claude Code @ references
- Simple download modal with usage instructions
- Instructions for using @filename in Claude Code

Changes:
Backend:
- New exportSessionAsMarkdown() method in SessionSharing
- Convert conversations to readable Markdown format
- Include usage instructions in exported files
- Changed endpoint from /api/conversations/:id/share to /download

Frontend:
- Replaced "Share" button with "Download" button
- New download modal with clear instructions
- Removed QR code and upload functionality
- Direct browser download of .md files

User Experience:
- Download context file to local machine
- Add file to project repository
- Reference in Claude Code with @filename
- Continue conversation with full context

Example workflow:
1. Click Download button
2. Save claude-context-project-2025-10-27.md
3. Add to git repo
4. In Claude Code: "Read @claude-context-project-2025-10-27.md and continue"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:00:28 -04:00
Dani 789bb2d81d fix: correct resume command and project name in session sharing
Fixes:
- Resume command now shows only conversation ID (claude --resume <id>)
  instead of including user path
- Changed default project name from 'Unknown' to 'shared-session'
  for consistency between export and import
- Updated default model fallback to 'claude-sonnet-4-5-20250929'

Issue: When cloning a session on another computer, the resume command
was showing the wrong format and the project was being saved as
'unknown' instead of using the correct project name.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:05:04 -04:00
Dani eef6c5dfb6 upgrade npm version 2025-10-28 05:17:25 -04:00
Daniel Avila 65156dda84 Session Sharing & Chats UI Improvements (#122)
* feat: add session sharing and cloning functionality

Implement complete session sharing system for Claude Code conversations:

Features:
- Share button in chats interface with QR code generation
- Upload sessions to x0.at (temporary file hosting)
- Clone sessions with --clone-session command
- Limit shared sessions to last 100 messages
- Security confirmation modal with service information
- Resume command display after cloning

Backend:
- New SessionSharing class for export/upload/download/install
- Integration with ConversationAnalyzer
- x0.at upload service (tested and working)
- JSONL format conversion for Claude Code compatibility

Frontend:
- Confirmation modal with x0.at security info
- Centered QR code display
- Improved button styling (Resume, Share, Search)
- Real-time upload progress indication

CLI:
- Added --clone-session <url> parameter
- Automatic session installation to ~/.claude/projects/
- Display resume command with conversation ID

Dependencies:
- Added qrcode package for QR generation

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: improve chats UI with project grouping and unified action buttons

Major improvements to chats interface:

Project Organization:
- Group conversations by project with collapsible sections
- Projects collapsed by default for cleaner interface
- Auto-expand projects during search with matching results
- Sticky project headers for better navigation
- Project avatars with gradients and conversation counts

Terminology Update:
- Changed "conversations" to "sessions" throughout UI
- Updated empty state messages
- Consistent terminology in headers and labels

Action Buttons Enhancement:
- Unified Resume, Share, and Search buttons in center header
- Replaced emojis with professional SVG icons
- Grouped design with orange accent border
- Individual hover states (green/blue/orange)
- Responsive button group with smooth transitions

Search Improvements:
- Fixed search to work with grouped project structure
- Search in both project names and session IDs
- Auto-collapse all projects when clearing search
- Proper filter clearing in advanced search
- Maintained state management across search operations

Visual Design:
- Orange accent border highlighting action buttons (2px)
- Subtle orange background for button group
- Consistent hover effects with color coding
- Enhanced visual hierarchy
- Better spacing and alignment

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-27 15:42:15 -04:00
Dani 576bcc1c00 update nia server 2025-10-24 11:42:44 -04:00
Dani 5af0b5b957 update download data 2025-10-23 17:57:14 -04:00
Dani 22a3f99e4d add testsprite mcp and update download data 2025-10-23 17:50:35 -04:00
Dani a467d114e1 chore: Bump version to 1.24.17 for npm release 2025-10-23 15:19:19 -04:00
Dani 449f68acc1 feat: Add advanced search functionality to chats interface
- Add advanced search panel with filters for directory, date range, and content
- Implement in-conversation search with navigation (↑↓ arrows)
- Add folder browser with conversation counts per directory
- Add search result highlighting with current match emphasis
- Implement 3-character minimum for search to prevent performance issues
- Add ID-based message navigation for reliable infinite scroll support
- Add visual feedback with flash animations and match counters

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 15:18:20 -04:00
Dani eef88f88a4 Revert: Restore /api directory - Vercel requires it for serverless functions
This reverts commit b082254. Vercel requires serverless functions in /api/
regardless of outputDirectory. Both directories are needed:
- /api/ for serverless functions (Vercel auto-detects here)
- /docs/api/ can be removed as it's redundant

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 18:55:12 -04:00
Dani b0822549a1 refactor: Remove redundant /api directory and consolidate to /docs/api
- Eliminated duplicate /api directory (not used by Vercel)
- Updated /docs/api/README.md to reflect single source of truth
- /docs/api/track-download-supabase.js already includes 'skill' type support
- Simplified maintenance workflow (no more file syncing needed)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 18:48:25 -04:00
Dani 054c0e56e9 fix(commands): Remove deprecated 'model: sonnet' field from 142 command files
Removed the deprecated 'model: sonnet' field from command frontmatter to fix
compatibility issues with Claude Code. Commands will now inherit the model from
the active conversation instead of using a hardcoded deprecated model identifier.

Changes:
- Removed 'model: sonnet' from 142 command files across all categories
- Commands now use default model inheritance behavior
- Preserved 'model: claude-sonnet-4-5-20250929' in gemini-review.md (valid model)
- 67 commands without model field remain unchanged

This resolves the "model: sonnet not found" error reported in GitHub issues
and aligns with Claude Code's recommended practice of letting commands inherit
the conversation model.

Affected categories:
- Database/Supabase commands (8 files)
- Documentation commands (8 files)
- Deployment commands (11 files)
- Setup commands (14 files)
- Performance commands (8 files)
- Team commands (14 files)
- Security commands (6 files)
- NextJS/Vercel commands (10 files)
- Sync commands (14 files)
- And more across other categories

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 10:08:58 -04:00
Dani 43c9d86a85 refactor(cloudflare): Clean up unnecessary logs and code output
- Removed full code output from console (code is saved to files anyway)
- Simplified file download logs to show only filenames
- Removed redundant separators and verbose output
- Keep only essential progress indicators:
  - Agent installation
  - Code generation progress
  - File extraction and save location

Users now see only the essential progress without code dumps.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 19:46:26 -04:00
Dani 0d73e0b498 feat(cloudflare): Upgrade to claude-agent-sdk v0.1.23 with settingSources support
- Updated @anthropic-ai/claude-agent-sdk from ^0.1.0 to ^0.1.23
- Replaced manual agent loading with automatic settingSources: ['project']
- Removed temporary workaround for agent loading (SDK now properly supports it)
- Added gitignore entries for local test directories
- Verified settingSources functionality works with SDK v0.1.23

The latest SDK version properly supports automatic agent loading from .claude/ directory,
eliminating the need for manual file reading and systemPrompt manipulation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 19:44:32 -04:00
Dani dbdea302a5 fix(cloudflare): Listen for 'result' type messages from Agent SDK
The Agent SDK returns the final response in a message with type='result'
and the content in message.result, not in type='text' messages.

This was discovered through direct testing of the SDK.
2025-10-20 19:36:24 -04:00
Dani 95779b9f24 docs(cloudflare): Add comments explaining temporary agent loading solution
- Current SDK version (^0.1.0) does not properly support settingSources
- Manually loading agent content as workaround
- TODO: Revisit when SDK properly supports automatic agent loading
2025-10-20 19:28:57 -04:00
Dani ffd866a6cf fix(cloudflare): Load agent manually instead of using settingSources 2025-10-20 19:26:13 -04:00
Dani 4c0056f0e8 debug: Add CWD logging to troubleshoot Agent SDK 2025-10-20 19:23:24 -04:00
Dani 9d6c10fce0 fix(cloudflare): Add missing component variables to function scope 2025-10-20 18:38:57 -04:00
Dani 9b2df6772b fix(cloudflare): Pass componentsToInstall correctly to launcher 2025-10-20 18:36:17 -04:00
Dani 228f7b2b7a feat(cloudflare): Add better error handling for Agent SDK query 2025-10-20 18:31:07 -04:00
Dani 3fa7ed13d4 fix(cloudflare): Remove problematic file filter in fs.copy 2025-10-20 17:55:22 -04:00
Dani d24a9902ff fix(cloudflare): Add debug logging for component file copy
Added detailed logging to help debug why Cloudflare component files
are not being copied to the sandbox directory.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 17:53:12 -04:00
Dani 82ba6e2d04 chore: Bump version to 1.24.4 with Cloudflare fixes 2025-10-20 17:45:08 -04:00
Dani 7880073473 chore: Bump version to 1.24.3 2025-10-20 17:44:57 -04:00
Dani 28d6229802 docs(cloudflare): Update IMPLEMENTATION_SUMMARY with file download structure details
Added comprehensive documentation about file download structure
matching E2B pattern (cloudflare-{timestamp}/).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 17:40:14 -04:00
Dani 669cd6ed44 update skills category in trending data and components json 2025-10-20 13:21:17 -04:00
Dani 40e5f66f85 fix(cloudflare): Align file download directory structure with E2B pattern
Fixed Cloudflare sandbox to save generated files in project root using
timestamp-based directories, matching E2B's sandbox-{id} pattern.

**Changes**:
- Modified launcher.ts to accept targetDir parameter (5th argument)
- Updated LauncherConfig interface with optional targetDir field
- Modified displayResults() to use targetDir instead of process.cwd()
- Fixed TypeScript errors (workerUrl undefined, unused language variable)
- Updated src/index.js to pass targetDir to launcher
- Added cloudflare-*/ and sandbox-*/ to .gitignore
- Updated IMPLEMENTATION_SUMMARY.md with file structure details

**Directory Structure**:
- Before: `.claude/sandbox/cloudflare/cloudflare-output/`
- After: `your-project/cloudflare-{timestamp}/`

**Pattern Comparison**:
- E2B: `your-project/sandbox-{id}/`
- Cloudflare: `your-project/cloudflare-{timestamp}/`

Files now download to clean, timestamped directories in the project root,
improving organization and matching user expectations from E2B behavior.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 09:44:05 -04:00