Commit Graph

1539 Commits

Author SHA1 Message Date
Kazuki Yamada
0772ad0734 perf(metrics): Increase candidate multiplier to 10x for better accuracy
- Change character-based pre-filtering from 5x to 10x of display count
- Improves accuracy of token-based ranking while maintaining performance benefits
- Better balance between computational efficiency and ranking precision
2025-06-08 17:38:37 +09:00
Kazuki Yamada
f1d11d9fae perf(metrics): Optimize token counting for top files display
- Add character-based pre-filtering to reduce token calculation overhead
- Implement calculateSelectiveFileMetrics for targeted token counting
- Only calculate tokens for top candidates (5x display count) instead of all files
- Maintain accurate token-based ranking while improving performance for large codebases
- Update tests to cover new selective calculation functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 17:33:25 +09:00
Kazuki Yamada
4684c6d712 Merge pull request #644 from yamadashy/feat/docs-repomix
feat(website): Add YouTube video component to all language versions
2025-06-08 17:16:45 +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
5fd632105f Merge pull request #643 from yamadashy/fix/docker-permission
fix(docker): Use root user to resolve /tmp directory access issue
2025-06-08 15:08:12 +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
c0e7d1f676 Merge pull request #642 from yamadashy/feat/refact-website
refactor(website/client): Modernize Vue.js architecture with composables
2025-06-08 14:06:34 +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
4657174be4 fix: Add VitePress dist directory to gitignore to prevent secretlint false positives 2025-06-08 13:27:19 +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
75c31daab5 Merge pull request #641 from yamadashy/feat/website-open-tooltip
feat(website): Show 'Open with your app' button on desktop with tooltip
2025-06-08 12:49:39 +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
791587e82d docs(claude): Add continuous knowledge management guidelines
- Emphasize immediate documentation of learned patterns during development
- Add examples of valuable knowledge worth documenting (project quirks, tools, debug techniques)
- Provide guidelines for maintaining this file with specific, contextual information
- Stress that CLAUDE.md is a living document that should grow with each session
- Ensure knowledge continuity across different coding sessions

This will help preserve valuable insights and patterns discovered during
development tasks, making future work more efficient.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:34:47 +09:00
Kazuki Yamada
10b534c9e9 docs(claude): Emphasize importance of resolving PR conversations
- Highlight 'IMPORTANT\!' for conversation resolution step
- Add checklist for complete PR review process
- Emphasize that resolving conversations shows respect for reviewers
- Note that unresolved conversations can delay PR approval
- Add reminder about efficient PR management

This ensures future PRs properly resolve all feedback conversations.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:33:48 +09:00
Kazuki Yamada
93dbf83194 docs(claude): Add PR review process and comment handling guide
- Add commands for viewing different types of PR comments (general, line-specific, reviews)
- Document automated review bots used in this repository (CodeRabbit, Gemini, Copilot, Codecov)
- Provide workflow for responding to review feedback with proper commit messages
- Include common review issues and solutions for Vue.js/frontend development
- Add guidance for resolving conversations and responding to reviewers

This will help with future PR review processes and ensure consistent
handling of automated review feedback.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 12:33:03 +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
b9c6bdb0a2 Merge pull request #640 from yamadashy/feat/docker-slim
feat(website): Optimize Docker infrastructure and reduce resource usage
2025-06-07 18:33:56 +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
b345676c37 0.3.9 v0.3.9 2025-06-07 15:55:28 +09:00
Kazuki Yamada
d757cb445a Merge pull request #639 from yamadashy/chore/docs
feat(docs): Add sponsors badge and improve documentation transparency
2025-06-07 15:05:54 +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
14da1e5385 docs(privacy): Clarify website file processing in privacy policy
Add explanation about temporary server storage of uploaded files
and automatic deletion after processing for transparency.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 12:11:27 +09:00
Kazuki Yamada
6ac0cc31c6 feat(docs): Add sponsors badge to README after project description
Add GitHub sponsors badge prominently after project description
for better sponsor visibility and recognition.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 11:35:50 +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
583d5387b2 Merge pull request #638 from yamadashy/chore/coderabbit
chore: coderabbitai configuration
2025-06-07 00:39:22 +09:00