Skip to main content

Add your description here

Project description

codex-converter

codex-converter converts project-scoped Claude Code workspace files into Codex CLI-compatible project files.

The converter only reads project-local Claude assets. It rejects user-scoped Claude paths such as ~/.claude.

Usage

Inspect a project:

uv run codex-converter inspect /path/to/project

Convert a project in place:

uv run codex-converter convert /path/to/project

Preview planned writes without modifying files:

uv run codex-converter convert /path/to/project --dry-run

Write converted files to a separate output directory:

uv run codex-converter convert /path/to/project --output /path/to/output

Overwrite existing generated targets:

uv run codex-converter convert /path/to/project --force

Include machine-local Claude settings when generating the reviewable Codex config:

uv run codex-converter convert /path/to/project --include-local-settings

Add generated Codex outputs to the output project's .gitignore:

uv run codex-converter convert /path/to/project --gitignore

Preview cleanup of generated converter output:

uv run codex-converter clean /path/to/project --dry-run

Remove generated converter output with codex-converter markers:

uv run codex-converter clean /path/to/project

Remove known generated target paths even when a marker is missing:

uv run codex-converter clean /path/to/project --force

Converted Files

Claude Code input Codex output
CLAUDE.md AGENTS.md
nested CLAUDE.md files nested AGENTS.md files
.claude/skills/<name>/ .agents/skills/<name>/
.claude/commands/<name>.md .agents/skills/<name>/SKILL.md
.claude/agents/<name>.md .codex/agents/<name>.toml
.claude/settings.json .codex/config.toml reviewable settings-derived file
.claude/settings.local.json merged into .codex/config.toml only with --include-local-settings

Existing targets are reported as conflicts and left untouched unless --force is used. --dry-run reports planned writes without creating files.

--gitignore appends generated output paths such as AGENTS.md, .agents/, .codex/, and nested AGENTS.md files to the output project's .gitignore without duplicating existing entries.

clean is conservative by default: it removes only files or directories that contain, or can be verified from, a codex-converter generated marker. It also removes generated .gitignore entries while preserving unrelated lines. clean --force removes known generated target paths inside the target project even when a marker is missing.

Unsupported or Skipped

The V1 converter reports but does not convert:

  • .claude/settings.local.json, unless --include-local-settings is used
  • Claude hooks
  • MCP server configuration
  • plugins and marketplace configuration
  • auth and trust configuration
  • unsupported Claude settings
  • user-scoped Claude assets under ~/.claude

Development

Run the verification suite:

uv run pytest
uv run ruff check .
uv run mypy .

Releases

CI runs on every push and pull request.

Publishing runs when a tag matching v*.*.* is pushed. The tag version must match the package version in pyproject.toml; for example, package version 0.1.0 must be released with tag v0.1.0.

The release workflow uses PyPI Trusted Publishing through GitHub Actions. Configure the PyPI project with:

  • repository: this GitHub repository
  • workflow: release.yml
  • environment: pypi

Then publish a release with:

git tag v0.1.0
git push origin v0.1.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codex_converter-0.1.0.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codex_converter-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file codex_converter-0.1.0.tar.gz.

File metadata

  • Download URL: codex_converter-0.1.0.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codex_converter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 add0e779d94a98dce939df0922521d2f0267f6295645bc922c3b3fd63a375c7e
MD5 eae1810b740b2106b3bf6c7652497bb2
BLAKE2b-256 953cb8b4a91d9a797177eeb63dd023e67ed241357299ee1ffa5a11ec06c4a941

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_converter-0.1.0.tar.gz:

Publisher: release.yml on rainbowhunter-nz/codex-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codex_converter-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: codex_converter-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codex_converter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f95f66231c21ab426cfcef5f11f079e561130180c3be2445799d7da8a8f19741
MD5 6dfafea3fb4e9cdea54611a446b2a347
BLAKE2b-256 58d9adaa48b96dd27299bf7e9fcb45ec61609acc05a8566e6ddc10b23537afbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_converter-0.1.0-py3-none-any.whl:

Publisher: release.yml on rainbowhunter-nz/codex-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page