Skip to content

Conversation

@abgyjaguo
Copy link

No description provided.

claude and others added 23 commits January 2, 2026 22:57
- Implemented format detection to distinguish between Claude Code and Codex CLI JSONL files
- Created parser to convert Codex CLI format (session_meta, response_item, function_call) to Claude Code format
- Added tool name mapping (shell_command -> Bash, read_file -> Read, etc.)
- Added comprehensive test suite with 7 tests covering format detection, message parsing, and HTML generation
- Updated documentation to mention Codex CLI support
- All 118 tests passing (111 existing + 7 new)

The tool now automatically detects and handles both formats seamlessly, making it easy to generate HTML transcripts from either Claude Code or Codex CLI session files.
- Implemented find_combined_sessions() to search both ~/.claude/projects and ~/.codex/sessions
- Updated get_session_summary() to extract summaries from Codex CLI format (response_item payloads)
- Modified local command to show sessions from both sources with clear [Claude] and [Codex] labels
- Sessions are sorted together by modification time across both sources
- Added 5 comprehensive tests for combined session finder
- Updated documentation to reflect unified picker functionality

Users can now run `claude-code-transcripts` and see an interactive picker showing:
  2025-01-02 10:00  245 KB  [Claude]  Fix authentication bug
  2025-01-01 14:30  189 KB  [Codex ]  Add dark mode feature
  2025-01-01 09:15  312 KB  [Claude]  Refactor API endpoints

All 123 tests passing (111 original + 7 Codex format + 5 Codex finder).
…’t available in this environment (only `skill-creator` / `skill-installer` are installed). I went ahead and implemented Windsurf import support directly.

- Added foreign-export normalization (including Windsurf-style `conversation.messages`) to `parse_session_file()` so `claude-code-transcripts json <windsurf-export>.json` produces normalized `{"loglines": ...}` and renders to HTML: `src/claude_code_transcripts/__init__.py:552`, `src/claude_code_transcripts/__init__.py:726`
- Added Windsurf fixture + tests (parsing + HTML generation): `tests/sample_windsurf_export.json`, `tests/test_windsurf_format.py:7`
- Documented the new supported format in README: `README.md:32`
- Added `black` to dev deps so `uv run black .` works: `pyproject.toml:35`

Validation:
- `uv run pytest`
- `uv run black .`
…anscripts/__init__.py:562` (new helpers start at `src/claude_code_transcripts/__init__.py:567`).

- Normalizes Kiro `/save session.json` exports to `{ "loglines": [...] }`, including assistant `tool_use` blocks and user `tool_result` blocks.
- Added sanitized fixture `tests/sample_kiro_export.json` + parsing test `tests/test_generate_html.py:1039` (also smoke-tests `generate_html()`).
- Documented Kiro export support + how to export in `README.md:32` and `README.md:159`.
- Added `black` to dev deps so `uv run black .` works (`pyproject.toml:35`); verified `uv run pytest` passes.
…avigation (Vibe Kanban)`

- Rewrote the PR description to document:
  - What changed (right sidebar per-turn summaries + clickable navigation)
  - Why (scan/jump by “turn”, no inference)
  - Implementation details (how turns/tool counts/previews are derived; `<details>` auto-expand on hash nav; responsive layout)
  - Required footer note: “This PR was written using [Vibe Kanban](https://vibekanban.com)”
- Applied via `gh pr edit 5` and verified with `gh pr view 5`
UI: Right sidebar per-turn summary (group tool/user/assistant) (vibe-kanban)
Transcript pages: left sidebar filters + turn outline (Vibe Kanban)
Render Codex CLI reasoning as Thinking blocks in HTML (Vibe Kanban)
Support Antigravity JSON exports (Vibe Kanban)
Support Windsurf chat export imports (Vibe Kanban)
Add Kiro /save export parsing + improve Codex CLI transcript support (Vibe Kanban)
@abgyjaguo abgyjaguo closed this Jan 10, 2026
@abgyjaguo abgyjaguo deleted the pr-39 branch January 10, 2026 03:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants