268 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
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
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
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
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
Kazuki Yamada
14faf33472 refactor: consolidate mobile-only CSS rules to reduce duplication
Merge duplicate metadata-panel styles and remove redundant mobile-only rule definitions for cleaner CSS structure.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:28:44 +09:00
Kazuki Yamada
95cdbf121a feat: add aria-label to share button for accessibility
Improve screen reader support by adding descriptive aria-label to the mobile share button.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:25:43 +09:00
Kazuki Yamada
0131a96101 refactor: address code review feedback for Web Share API
- Rename canShareFiles to canShareText for accuracy
- Add console logging for failed share attempts
- Improve function naming to reflect text-only sharing capability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:23:22 +09:00
Kazuki Yamada
6d7461ebd4 fix: limit mobile metadata panel height for better scrolling
Constrain metadata panel to 400px height with overflow scroll on mobile to prevent excessive vertical space usage and improve user experience when viewing Top Files.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 23:16:22 +09:00
Kazuki Yamada
f472793492 refactor: simplify Web Share API to text-only sharing
- Change from file sharing to text content sharing for better compatibility
- Simplify feature detection to check navigator.share existence only
- Improve button layout with flex-wrap and proper line break on mobile
- Update package.json lint scripts in client and server

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 22:57:49 +09:00
Kazuki Yamada
8e044257b0 feat: improve Web Share API implementation based on PR feedback
- Test actual file sharing capability with dummy file in canShareFiles()
- Use format-specific MIME types (text/markdown, application/xml)
- Add fallback to text-only sharing when file sharing is not supported
- Enhance compatibility across different platforms and browsers

Addresses feedback from Gemini Code Assist and Copilot reviewers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 22:47:26 +09:00
Kazuki Yamada
e4ee92c88b feat: add line break before share button on mobile
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 22:45:16 +09:00
Kazuki Yamada
dccfaee1d9 chore: update Node.js version to 22.15.1 in website client
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 22:11:13 +09:00
Kazuki Yamada
1af025a97a feat: improve Web Share API implementation with mobile-only display
- Restrict share button to mobile devices only using CSS media queries
- Add robust feature detection with canShareFiles() function
- Implement user feedback with "Shared\!" state and visual styling
- Improve API validation using navigator.canShare() before sharing
- Enhance error handling and code organization
- Rename shareWithApp to shareResult for better consistency

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 22:04:18 +09:00
Devin AI
26ccada7e9 fix: update Node.js version to 22.14.0 for Cloudflare build
Co-Authored-By: yamadashy <koukun0120@gmail.com>
2025-05-29 05:24:27 +00:00
Kazuki Yamada
dfe297f91b refactor(client): Rename package from 'client' to 'app' 2025-05-29 00:30:17 +09:00