316 Commits

Author SHA1 Message Date
Kazuki Yamada
5f1ffe9326 style: Reorder summary display to show tokens before chars
- CLI: Change order from 'Total Chars, Total Tokens' to 'Total Tokens, Total Chars'
- Website: Change order from 'Total Size, Total Tokens' to 'Total Tokens, Total Size'
- Maintains consistency across interfaces by prioritizing token metrics
2025-06-08 17:44:16 +09:00
Kazuki Yamada
0d54360a24 style(website): Change display order to tokens first in client results
- Update TryItResultContent.vue to show tokens before chars
- Matches CLI display format: (tokens, chars, %) instead of (chars, tokens, %)
- Maintains consistency between CLI and website interfaces
2025-06-08 17:42:52 +09:00
Kazuki Yamada
f58f973e36 refactor(website): Replace global YouTubeVideo registration with direct imports
- Remove YouTubeVideo global component registration from VitePress theme

- Add direct YouTubeVideo imports in all language versions of index.md and guide/index.md

- Update video ID usage to centralized VIDEO_IDS.REPOMIX_DEMO constant

- Improve component modularity and maintainability across 24 documentation files
2025-06-08 17:01:03 +09:00
Kazuki Yamada
9232b00b90 refactor(website): Remove unnecessary useVideos composable 2025-06-08 16:36:05 +09:00
Kazuki Yamada
12198ac26d refactor(website): Centralize video ID management for better maintainability 2025-06-08 16:35:09 +09:00
Kazuki Yamada
03b9b687ff style(website): Fix linting issues in YouTubeVideo component 2025-06-08 16:30:27 +09:00
Kazuki Yamada
4fc616122e fix(website): Make videoId prop required in YouTubeVideo component 2025-06-08 16:29:44 +09:00
Kazuki Yamada
90c69bea91 feat(website): Add YouTube video component to all language versions
- Create YouTubeVideo.vue component with responsive design
- Register component globally in VitePress theme
- Add explanatory sections and video to all language versions of index.md
- Add video to all language versions of guide/index.md
- Support for 12 languages: en, ja, zh-cn, zh-tw, ko, de, fr, es, pt-br, vi, hi, id
- Improve user onboarding with visual demonstration of Repomix features
2025-06-08 16:27:38 +09:00
Kazuki Yamada
43ab6d7414 fix(docker): Use root user to resolve /tmp directory access issue 2025-06-08 14:48:37 +09:00
Kazuki Yamada
135e5352c2 fix(website): Add safety limits for recursive directory traversal to prevent performance issues 2025-06-08 14:02:01 +09:00
Kazuki Yamada
03b6b1ea73 fix(website): Add error handling for multiple files without preprocessor 2025-06-08 13:58:21 +09:00
Kazuki Yamada
d300aaf5f3 refactor(website): Extract default pack options to eliminate duplication 2025-06-08 13:56:48 +09:00
Kazuki Yamada
25a208b81d fix(website): Clear file input after selection to prevent re-selection issues 2025-06-08 13:53:25 +09:00
Kazuki Yamada
8694df19aa fix(website): Remove throw error in setTimeout callback to prevent unhandled promise rejection 2025-06-08 13:50:01 +09:00
Kazuki Yamada
cb2bbe22fe chore(website): Optimize Dockerfile with multi-stage build and Node.js 24 2025-06-08 13:48:21 +09:00
Kazuki Yamada
968460edbc refactor(website/client): Extract upload logic into shared composables
- Create useFileUpload composable for unified drag/drop, validation, and file processing
- Create useZipProcessor composable for ZIP file operations
- Refactor TryItFileUpload.vue: reduce from 213 to 105 lines (50% reduction)
- Refactor TryItFolderUpload.vue: reduce from 342 to 115 lines (66% reduction)
- Eliminate code duplication while maintaining all existing functionality
- Improve type safety with configurable validation and preprocessing pipelines
- Enable better reusability and testability of upload logic

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 13:35:37 +09:00
Kazuki Yamada
a8bac55b97 refactor(website/client): Extract state management into composables
- Create usePackOptions composable for pack configuration state
- Create usePackRequest composable for request lifecycle management
- Refactor TryIt.vue to use composables, reducing complexity from 19 refs to 2 composables
- Improve type safety with PackOptions interface and InputMode type
- Enable better reusability and testability of state logic

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 13:25:19 +09:00
Kazuki Yamada
beb7df79ac docs(claude): Emphasize mandatory pre-commit lint and test execution
- Add dedicated 'Pre-Commit Requirements (MANDATORY)' section
- Clearly specify npm run lint && npm run test as required before every commit
- Explain what each command does (Biome, TypeScript, Secretlint, full test suite)
- Emphasize never committing failing code
- Update Review Process Checklist to mark linting/testing as MANDATORY
- Reorganize Git Workflow section for better clarity

This ensures code quality and prevents broken commits from entering the repository.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:39:44 +09:00
Kazuki Yamada
5417273a6b fix(website): Improve tooltip behavior during scroll events
- Add scroll event listener to hide tooltip when page scrolls
- Prevent tooltip detachment from button during scroll
- Add explicit mouseleave handler for better tooltip control
- Override CSS hover states with JavaScript for consistent behavior
- Use passive scroll listener for better performance

This addresses the medium-priority feedback about tooltip positioning
during scroll events, ensuring the tooltip maintains proper association
with the button.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:30:48 +09:00
Kazuki Yamada
ceeb703d40 fix(website): Address PR review feedback for tooltip functionality
- Use onUnmounted for proper event listener cleanup instead of return function
- Move mouseenter event to tooltip-container to handle disabled button cases
- Remove duplicate CSS definition for .desktop-only class
- Ensure v-if condition is properly applied to mobile-only spacer div

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:24:35 +09:00
Kazuki Yamada
615a91642f style(website): Fix linting issues in TryItResultContent
- Remove trailing whitespace in JavaScript code
- Apply Biome formatter fixes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:12:52 +09:00
Kazuki Yamada
39e6100d2f feat(website): Show "Open with your app" button on desktop with tooltip
- Display the share button on both desktop and mobile devices
- Add tooltip on desktop showing "Only available on mobile devices"
- Disable button on desktop (non-mobile) devices
- Use position: fixed to avoid parent overflow: hidden issues
- Match existing tooltip design (TryItPackOptions) for consistency
- Support both light and dark modes with #333 background

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:09:40 +09:00
Kazuki Yamada
d58702ed1e fix(website/server): Add ca-certificates to Alpine runtime image
Alpine images often omit CA certificates needed for HTTPS git operations. Add ca-certificates to ensure remote cloning/pulls succeed at runtime.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:32:32 +09:00
Kazuki Yamada
900bd4936d fix(website/server): Remove unused type parameter from CacheEntry interface
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:26:45 +09:00
Kazuki Yamada
90989c6413 perf(website/server): Make zlib operations asynchronous to prevent event loop blocking
Replace synchronous zlib.inflateSync/deflateSync with async alternatives to prevent blocking the event loop under high load.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:22:30 +09:00
Kazuki Yamada
1affddbe88 chore(website/server): Update Node.js from 23 to 24 in Dockerfile
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:18:40 +09:00
Kazuki Yamada
77d830586e config(website/server): Reduce Cloud Run timeout from 35s to 31s
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 17:09:11 +09:00
Kazuki Yamada
68448d1d8a fix(website): Add explicit package names to prevent Docker container conflicts
- Add "name": "repomix-website-server" to server/package.json
- Add "name": "repomix-website-client" to client/package.json
- Prevents npm from using /app directory name in package-lock.json during Docker builds
- Ensures consistent package names across development environments

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 16:35:03 +09:00
Kazuki Yamada
075880798f chore(website/server): Update repomix to v0.3.9
- Update repomix dependency from 0.3.7 to 0.3.9
- Includes latest features and bug fixes

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 16:28:31 +09:00
Kazuki Yamada
c394451094 config(website/server): Reduce Cloud Run CPU allocation from 4 to 2
- Optimize resource allocation in cloudbuild.yaml for cost efficiency
- Maintain adequate performance with reduced CPU allocation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 16:27:12 +09:00
Kazuki Yamada
cae53523a7 refactor(website/server): Replace pako with Node.js zlib for compression
- Replace pako.deflate/inflate with zlib.deflateSync/inflateSync in cache.ts
- Remove pako and @types/pako dependencies from package.json
- Utilize Node.js built-in zlib module for better performance and reduced dependencies

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 16:26:59 +09:00
Kazuki Yamada
6e9d41bcf5 feat(website): Optimize Docker image size from 342MB to 304MB
Implement multi-stage build with production-only dependencies to improve Cloud Run startup performance. Reduce image size by 11% while maintaining all functionality including git support for remote repository processing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 15:56:20 +09:00
Kazuki Yamada
dcaaacffd7 feat(website): Add sponsors badge to all guide index pages
Add sponsors badge to guide index pages across all 12 languages
for consistent sponsor visibility throughout documentation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 12:33:10 +09:00
Kazuki Yamada
b6cffb78b8 fix(docs): Update sponsors badge format from SVG to PNG
Update sponsors badge URLs from .svg to .png format across all
documentation files for consistent display and proper functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 12:18:46 +09:00
Kazuki Yamada
aa8ec9f8e6 fix(website): Add missing JSNation Open Source Awards link in Japanese version
Add missing link to JSNation Open Source Awards 2025 in Japanese index page
to match all other language versions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 11:31:53 +09:00
Kazuki Yamada
ec58dbd963 feat(website): Add sponsors badge to all language index pages
Add GitHub sponsors badge to homepage across all 12 language versions
for consistent sponsor visibility and recognition.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 11:11:16 +09:00
Kazuki Yamada
aad6bdbb05 fix(website): Use relative links in localized Power Users Guide sections
Fix Power Users Guide links in all non-English language index pages to use relative paths (./guide/xxx) instead of absolute paths (/guide/xxx). This ensures users are directed to the correct language-specific guide pages instead of being redirected to English-only documentation.

Updated links in 11 languages: ja, de, es, fr, hi, id, ko, pt-br, vi, zh-cn, zh-tw

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 17:33:30 +09:00
Kazuki Yamada
c1e78d8ea3 feat(website): Add Power Users Guide section to all language index pages
Add comprehensive Power Users Guide section highlighting advanced features:
- MCP Server for AI assistant integration
- GitHub Actions for CI/CD automation
- Code Compression with Tree-sitter (~70% token reduction)
- Library usage for Node.js integration
- Custom Instructions for tailored outputs
- Security Features with Secretlint integration
- Best Practices for optimized AI workflows

The section is added to all 12 language variants (en, ja, de, es, fr, hi, id, ko, pt-br, vi, zh-cn, zh-tw) to improve discoverability of advanced functionality for power users.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 01:14:54 +09:00
Kazuki Yamada
2cf88aa6b8 chore(client): Update Node.js version to 22.16.0 2025-06-06 00:12:54 +09:00
Kazuki Yamada
1f2c3b2c19 ci: Add linting jobs for website client, server, and browser extension 2025-06-05 23:56:05 +09:00
Kazuki Yamada
87aec711b4 docs(website): Remove voting link from multilingual documentation 2025-06-03 00:15:56 +09:00
renovate[bot]
c6a65870e3 chore(deps): update dependency rollup-plugin-visualizer to v6 2025-06-02 23:43:56 +09:00
Kazuki Yamada
a2c35c8cf4 docs(website): Update Firefox add-on installation links in documentation 2025-06-01 19:13:26 +09:00
Kazuki Yamada
ed32f48396 docs(website): Update MCP server configuration instructions for Claude Code 2025-05-31 21:38:37 +09:00
Kazuki Yamada
0adfb50630 docs(website): Add Repomix configuration instructions for Claude Code 2025-05-31 21:30:37 +09:00
Kazuki Yamada
b5eb4f563f docs(website): Add Bun installation instructions to documentation 2025-05-31 00:40:36 +09:00
Kazuki Yamada
22d167baf7 feat(website): increase Cloud Run CPU allocation to 4 cores
Increase CPU allocation from 2 to 4 cores in Cloud Build configuration
to improve server performance for repository processing workloads.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 00:13:30 +09:00
Kazuki Yamada
b4aece2499 fix: use optional chaining for navigator.canShare
Apply Biome lint fix to use optional chaining instead of logical AND for safer navigation method access.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:53:45 +09:00
Kazuki Yamada
4aa26539ef refactor: share files without title or text for cleaner sharing
Remove title and text properties from shareData to share only the file content, providing a cleaner sharing experience for mobile apps.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:42:16 +09:00
Kazuki Yamada
521d71024f feat: revert to file-based sharing for better mobile app integration
- Restore file sharing capability using Web Share API with File objects
- Implement proper feature detection with navigator.canShare
- Use appropriate MIME types for markdown, XML, and plain text files
- Generate descriptive filenames based on repository and format

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:38:19 +09:00