{"id":50422261,"url":"https://github.com/walker1211/agent-canon","last_synced_at":"2026-05-31T09:00:47.954Z","repository":{"id":361454074,"uuid":"1250435683","full_name":"walker1211/agent-canon","owner":"walker1211","description":"A git-like semantic migration and sync tool for AI coding agent configurations.","archived":false,"fork":false,"pushed_at":"2026-05-30T18:08:40.000Z","size":234,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T19:10:03.439Z","etag":null,"topics":["ai-tools","claude-code","cli","codex-cli","config-migration","developer-tools","go","mcp"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/walker1211.png","metadata":{"files":{"readme":"README.en.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-26T16:18:42.000Z","updated_at":"2026-05-30T18:08:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/walker1211/agent-canon","commit_stats":null,"previous_names":["walker1211/agent-canon"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/walker1211/agent-canon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walker1211%2Fagent-canon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walker1211%2Fagent-canon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walker1211%2Fagent-canon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walker1211%2Fagent-canon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walker1211","download_url":"https://codeload.github.com/walker1211/agent-canon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walker1211%2Fagent-canon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33725060,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude-code","cli","codex-cli","config-migration","developer-tools","go","mcp"],"created_at":"2026-05-31T09:00:34.003Z","updated_at":"2026-05-31T09:00:47.939Z","avatar_url":"https://github.com/walker1211.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[中文](./README.zh-CN.md) | [English](./README.en.md)\n\n# agent-canon\n\n`agent-canon` is a semantic migration, readiness, and conflict-review workflow for AI coding agent configurations. Its current golden path carries Claude Code semantics toward Codex CLI: scan and plan first, generate previews, resolve conflicts, apply safely, verify results, and keep rollback state.\n\nThe core idea: Claude Code to Codex CLI is not a directory copy. It maps project instructions, rules, skills, commands, MCP configuration, permission boundaries, and memory boundaries into the target tool's configuration model.\n\n## Quick Start\n\nThe minimal golden path is read-only scan, state sync, then a dry-run for the Codex writeback.\n\n```sh\nagent-canon scan --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\nagent-canon sync claude codex --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\nagent-canon apply codex --dry-run --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\nShow all commands:\n\n```sh\nagent-canon --help\n```\n\n## Install and Release Archives\n\nDownload the archive for your platform from the GitHub Release. Archives are named `agent-canon_vX.Y.Z_\u003cgoos\u003e_\u003cgoarch\u003e.tar.gz` and include the `agent-canon` binary, `LICENSE`, `README.md`, `README.zh-CN.md`, and `README.en.md`.\n\nVerify the downloaded archive with `checksums.txt` from the same release before running the binary. The first safe command after install is:\n\n```sh\nagent-canon --help\n```\n\nUse this README for the English guide and `README.zh-CN.md` for the Chinese guide. If you prefer building from source instead of downloading a release archive, run:\n\n```sh\n./build.sh\n```\n\nAfter reviewing the dry-run output, apply explicitly:\n\n```sh\nagent-canon apply codex --yes --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\nGlobal homes are not written by default. To write global Claude or Codex configuration, pass `--global` explicitly and review the dry-run output first.\n\nIf you already have a Codex config and only want to merge safe Claude MCP server entries:\n\n```sh\nagent-canon apply codex --global --merge-config --dry-run --only config --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\n`--merge-config` only merges MCP server entries. It does not overwrite model, profile, sandbox, auth, provider, or feature settings.\n\n## Current Scope\n\n`agent-canon` currently focuses on Claude Code to Codex CLI semantic migration and review. It supports project-local state, explicit global-home writebacks, conflict review, backups, rollback manifests, and MCP server entry merge support.\n\nNon-goals for the current scope:\n\n- No arbitrary TOML merge beyond MCP server entries.\n- No secret migration into target files, logs, or reports.\n- No default writes to global Claude or Codex homes.\n- No full session history migration.\n- No guarantee that hooks, permissions, agents, or memory convert losslessly across tools.\n\n## Common Commands\n\n```sh\nagent-canon scan\nagent-canon plan\nagent-canon export codex --out \u003cpreview-dir\u003e\nagent-canon export claude --out \u003cpreview-dir\u003e\nagent-canon compile codex --out \u003cpreview-dir\u003e\nagent-canon compile claude --out \u003cpreview-dir\u003e\nagent-canon sync claude codex\nagent-canon conflicts\nagent-canon resolve \u003cconflict-id\u003e --manual \u003cvalue\u003e\nagent-canon apply codex --dry-run\nagent-canon apply claude --dry-run\nagent-canon verify codex\nagent-canon verify claude\nagent-canon rollback \u003capply-id\u003e --dry-run\n```\n\n## Scenario Examples\n\n### Preview a migration without writing targets\n\n```sh\nagent-canon scan --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\nagent-canon sync claude codex --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\nagent-canon compile codex --out \u003cpreview-dir\u003e --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\nagent-canon apply codex --dry-run --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\n### Review and resolve conflicts before applying\n\n```sh\nagent-canon conflicts --project \u003crepo-root\u003e\nagent-canon resolve \u003cconflict-id\u003e --manual \u003cvalue\u003e --project \u003crepo-root\u003e\nagent-canon apply codex --dry-run --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\n### Inspect global-home changes safely\n\n```sh\nagent-canon apply codex --global --dry-run --only config --project \u003crepo-root\u003e --claude-home ~/.claude --codex-home ~/.codex\n```\n\nOnly replace `--dry-run` with `--yes` after reviewing the output. Do not use `--global --yes` unless you intentionally want to write selected global home targets.\n\n## Write Safety Boundary\n\n`agent-canon` is conservative by default:\n\n- `scan`, `plan`, `verify`, and `conflicts` are read-only.\n- `export` and `compile` only write preview directories.\n- `sync` and `resolve` only write project-local `.agent-canon` state.\n- `apply` requires sync state and no open conflicts, creates backups before writing, and writes a rollback manifest.\n- `rollback` only touches manifest-listed targets and checks drift before writing.\n- Global Claude/Codex homes are not written by default; global writes require `--global`.\n- Secrets are redacted by default and should not be migrated into target files, logs, or reports.\n\n## Contributing and Security\n\n- Read [CONTRIBUTING.md](./CONTRIBUTING.md) before contributing.\n- For security issues, read [SECURITY.md](./SECURITY.md). Do not paste secrets, private prompts, private logs, or exploit details into public issues.\n\n## License\n\nMIT. See [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalker1211%2Fagent-canon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalker1211%2Fagent-canon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalker1211%2Fagent-canon/lists"}