Metadata-Version: 2.4
Name: pennyroyaltea-resume
Version: 0.1.0
Summary: Merged session picker for Codex and Claude Code
Author: Boris Starkov
License-Expression: MIT
Project-URL: Homepage, https://pennyroyaltea.github.io/resume/
Project-URL: Repository, https://github.com/PennyroyalTea/resume
Project-URL: Issues, https://github.com/PennyroyalTea/resume/issues
Keywords: codex,claude,cli,sessions,terminal
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# resume

Merged session picker for Codex and Claude Code.

Website: https://pennyroyaltea.github.io/resume/

`resume` reads local session metadata from `~/.codex` and `~/.claude`, shows a single sorted picker, then dispatches to the matching CLI:

```sh
codex resume <session-id>
claude --resume <session-id>
```

## Install

GitHub Releases:

```sh
mkdir -p ~/.local/bin
curl -fsSL https://github.com/PennyroyalTea/resume/releases/latest/download/resume -o ~/.local/bin/resume
chmod +x ~/.local/bin/resume
```

Homebrew:

```sh
brew install pennyroyaltea/tap/resume
```

PyPI package name prepared:

```sh
pipx install pennyroyaltea-resume
```

This command works after the first PyPI publish. Configure PyPI Trusted Publishing for the `Publish to PyPI` workflow before running it.

Make sure `~/.local/bin` is on your `PATH`.

## Usage

```sh
resume                    # merged Codex + Claude picker
resume --last             # resume the most recent merged session
resume --provider codex   # only Codex sessions
resume --provider claude  # only Claude sessions
resume around world       # filter sessions by words
resume --fork             # fork selected session instead of resuming
resume --dry-run          # print the command instead of running it
resume --plain            # use the numbered prompt
resume --version          # print the installed version
```

In the built-in picker:

```text
Enter: resume selected   /: filter   up/down or j/k: move   q: quit
```

## Dependencies

No third-party Python dependencies. The script uses Python's standard library.

Runtime expectations:

- `python3`
- `codex` and/or `claude`
- optional: `fzf`, only when using `--fzf`

## Security

The script imports only Python standard library modules. It reads local session files and executes either `codex` or `claude` from `PATH` for the selected session.

## Release

Releases are tag-driven:

```sh
git tag v0.1.0
git push origin v0.1.0
```

CI validates the script on every push and pull request. Tags matching `v*` create a GitHub Release with `resume` and `resume.sha256`.
