14 Commits

Author SHA1 Message Date
yoshiko b908dc3c51 Add Mermaid support for markdown diffs (#247)
* feat(client): render mermaid diagrams in markdown preview

* fix(client): sync mermaid theme with appearance settings
2026-03-13 18:45:20 +09:00
maasa 2b74d8d635 chore: replace biome with oxfmt 2026-02-21 19:11:52 +09:00
maasa 1a56be67c1 cleanup prettier/eslint 2026-02-20 14:50:40 +09:00
yoshiko 196388df07 Rename diff mode labels and clean up related docs (#195)
* refactor: rename diff modes to split/unified

* format

* format
2026-02-04 15:11:07 +09:00
yoshiko c82f4b3c78 feat: jupyter notebook viewer (#192)
* feat: add notebook diff preview

* feat: highlight notebook code cells

* fix(client): refine notebook diff preview
2026-02-04 13:27:15 +09:00
maasa fd012703d3 docs: add markdown all-syntax sample 2026-02-01 09:06:03 +09:00
maasa d5e8884312 setup SECURITY.md 2025-09-18 00:38:52 +09:00
maasa 6c0bcbfdb1 Add screenshot to all README files
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 02:02:01 +09:00
maasa e932447774 feat: Change default port from 3000 to 4966
プロンプト内容:
portのデフォルトを3000じゃなくて4966にしたい

実行したTODOリスト:
- デフォルトポート3000の使用箇所を探す
- デフォルトポートを4966に変更する

Changes:
- Update server default port to 4966
- Update vite proxy configuration to use port 4966
- Update all README files (EN, JA, KO, ZH) with new default port
- Update documentation (structure.md) with new default port
- Update test files to expect port 4966 instead of 3000
2025-07-28 01:06:08 +09:00
yoshiko 1f5d010276 Rename to difit (#33)
* reviewit -> difit

* Difit -> difit

* Replace images
2025-07-09 12:11:07 +09:00
yoshiko d590ab2c7a Add image diff display support (#30)
* feat: Add image diff display support for inline and side-by-side layouts

- Add image file detection utility in imageUtils.ts
- Implement ImageDiffChunk component with before/after image display
- Support both inline (vertical) and side-by-side (horizontal) layouts
- Add /api/blob/* endpoint for serving image files from git refs
- Update GitDiffParser to handle binary files and serve blob content
- Integrate image diff display in DiffViewer component
- Handle deleted, added, and modified image files appropriately

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

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

* 画像の表示

* added/deleted対応

* 背景透過対応

* サイズの表記を追加

* 表示位置修正

* ファイルサイズ上限設定10MB

* staged/.対応

* create tests

* Fix command injection vulnerability in getBlobContent

依頼されたプロンプト内容:
execやexecSyncなど任意コード実行のところで、自由な入力を実行しているなど危険な実装がないかレビューしてほしい

実行したTODOリスト:
1. getBlobContent関数のセキュリティ問題を修正
2. 修正後のテストを実行
3. lint/typecheckを実行

Changes:
- Replace execSync with execFileSync to prevent command injection
- Update tests to use execFileSync mock instead of execSync
- Remove unused mockExecSync variable

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

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

* Update SECURITY_ANALYSIS.md to reflect execFileSync fix

- Mark command injection vulnerability as FIXED
- Update code examples to show execFileSync usage
- Update risk assessment from MEDIUM to LOW
- Document completed security improvements

* update document name

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-07 00:19:29 +09:00
yoshiko 1bb6290dbb Implement integration tests (#27)
* Add comprehensive documentation for codebase structure and testing strategy

- Create docs/structure.md with detailed architecture overview
- Create docs/test.md with testing plan and design
- Document CLI arguments, options, and special behaviors
- Outline Git operations and server architecture
- Plan integration tests for CLI parameters and server endpoints

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

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

* Add comprehensive CLI and server tests with mode option bug fix

- src/cli/index.test.ts: CLI parameter processing, options, Git operations, PR integration
- src/server/server.test.ts: Server startup, API endpoints, CORS, static file serving

- Fix mode option not being passed to client via API response
- Add mode field to /api/diff response (server.ts:64)

- Mock simpleGit and server dependencies for isolated CLI testing
- Test all CLI argument combinations and special keywords (working, staged, .)
- Test server API endpoints with actual HTTP requests
- Add ESLint overrides for test files to reduce noise

- 64 tests total (16 CLI + 17 server + existing 32 utils)
- Tests CLI argument validation, option handling, Git operations
- Tests server startup, port fallback, API endpoints, error handling
- Validates mode option is properly transmitted from CLI to client

- Fix TypeScript build errors in test files
- Add type assertions for test response data
- Remove unused variables and parameters
- All tests pass with proper type checking

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-03 09:27:16 +09:00
maasa ac2d5974f7 feat: READMEを楽しい感じにemoji付きで更新
- 全セクションにemoji追加で親しみやすいREADMEに変更
- modeオプションのデフォルトをside-by-sideに修正
- コメント例を英語に変更
- package.jsonの内容と一致するようにスタック情報を更新(Tailwind CSS v4記載)
- pnpmコマンドに変更

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-29 22:40:45 +09:00
maasa b099338b74 feat: ReviewItプロジェクトの初期実装
reviewitプロジェクトを要件に基づいて完全実装

実装済みのTODO項目:
✅ プロジェクトの初期化とディレクトリ構造作成
✅ package.jsonとTypeScript設定の作成
✅ CLIエントリーポイントの実装
✅ Git diff処理のバックエンドAPI実装
✅ Express サーバーの実装
✅ React フロントエンドの実装
✅ Vite設定とビルド環境の構築
✅ GitHub風のdiff UIコンポーネント実装
✅ CSS Modulesでのスタイリング
✅ ESLint, Prettier, TypeScript設定
✅ Vitest 単体テスト環境の構築
✅ lefthook設定とpre-commitフック
✅ インラインコメント機能の実装
✅ コメントプロンプトコピー機能
✅ コメント保存機能(.reviewit/tmp-comments-*.json)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-29 20:10:04 +09:00