{"id":45573519,"url":"https://github.com/dtsong/my-opencode-codex-setup","last_synced_at":"2026-02-23T08:30:32.021Z","repository":{"id":338084605,"uuid":"1155754749","full_name":"dtsong/my-opencode-codex-setup","owner":"dtsong","description":"Portable OpenCode + Codex setup inspired by my-claude-setup","archived":false,"fork":false,"pushed_at":"2026-02-12T18:45:13.000Z","size":80,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T02:14:48.104Z","etag":null,"topics":["cli","codex","developer-tools","opencode","prompts"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/dtsong.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/roadmap.md","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-02-11T21:38:33.000Z","updated_at":"2026-02-12T18:45:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dtsong/my-opencode-codex-setup","commit_stats":null,"previous_names":["dtsong/my-opencode-codex-setup"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dtsong/my-opencode-codex-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtsong%2Fmy-opencode-codex-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtsong%2Fmy-opencode-codex-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtsong%2Fmy-opencode-codex-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtsong%2Fmy-opencode-codex-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dtsong","download_url":"https://codeload.github.com/dtsong/my-opencode-codex-setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtsong%2Fmy-opencode-codex-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29740003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","codex","developer-tools","opencode","prompts"],"created_at":"2026-02-23T08:30:25.262Z","updated_at":"2026-02-23T08:30:31.924Z","avatar_url":"https://github.com/dtsong.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# my-opencode-codex-setup\n\nPortable OpenCode + Codex setup inspired by `my-claude-setup`.\n\nThis repository is for people who use OpenCode and want a reproducible, versioned setup they can reuse across machines:\n- reusable agents\n- structured skills\n- workspace-aware project context\n- session handover workflow\n- command-style execution playbooks\n\n## Prerequisites\n\n- OpenCode installed: https://opencode.ai/docs (install script: https://opencode.ai/install)\n- `git`, `bash`, and `python3` available on your PATH\n- Optional (contributors): `pre-commit`\n- Optional (GitHub workflows): `gh` authenticated (`gh auth login`)\n\n## Quick Start\n\n```bash\ngit clone https://github.com/\u003cyou\u003e/my-opencode-codex-setup.git ~/Development/my-opencode-codex-setup\ncd ~/Development/my-opencode-codex-setup\nchmod +x install.sh\n./install.sh\n```\n\nVerify it worked:\n\n```bash\n./install.sh --status\n./scripts/ops-check.sh\n```\n\n## Profiles\n\nThis setup supports optional profiles:\n\n- `core` (`stable`) - default practical setup\n- `council-lite` (`beta`) - lightweight advanced orchestration layer (`commands/council-lite.md`)\n- `council-research` (`experimental`) - early availability research mode under active battle testing\n\nCommon commands:\n\n```bash\n# list available profiles\n./install.sh --list-profiles\n\n# show enabled/disabled profiles and state location\n./install.sh --status\n\n# set exact profiles (dependencies auto-added)\n./install.sh --profiles core,council-lite\n\n# choose conflict behavior when target paths already exist\n./install.sh --conflict-policy fail --profiles core,council-lite\n./install.sh --conflict-policy skip --profiles core,council-lite\n\n# enable or disable one profile\n./install.sh --enable-profile council-lite\n./install.sh --disable-profile council-lite\n\n# start a council-lite session scaffold\n./scripts/council-lite.sh run \"Design safe billing webhooks\"\n./scripts/council-lite.sh list\n./scripts/validate-council-lite.sh --latest\n```\n\nProfile state is persisted at:\n\n`~/.config/opencode/profiles-enabled.json`\n\nFor profile adoption guidance, see `docs/profiles.md`.\n\n## What This Installs\n\n`install.sh` creates symlinks into `~/.config/opencode/` so edits in this repo apply immediately.\n\nIf a managed target path already exists and is not a symlink, install fails by default.\nUse `--conflict-policy skip` to leave conflicting paths untouched and continue linking non-conflicting paths.\n\n`./install.sh --uninstall` removes managed symlinks and profile state.\n\n## Try It Now\n\n```bash\n# create a session handover note in ./memory\n./scripts/handover.sh\n\n# quick repo-local quality gate detection\n./scripts/ops-check.sh\n\n# git helper\n./scripts/git-porcelain.sh status\n\n# issue -\u003e branch -\u003e draft PR loop (requires gh auth)\n./scripts/issue-pr-loop.sh start 123 main\n./scripts/issue-pr-loop.sh pr 123 main\n```\n\nIf you enabled `council-lite`, you can also run:\n\n```bash\n./scripts/council-lite.sh run \"Design safe billing webhooks\"\n./scripts/council-lite.sh list\n./scripts/validate-council-lite.sh --latest\n```\n\n## Directory Layout\n\n```text\nmy-opencode-codex-setup/\n├── agents/                 # OpenCode agent prompt files\n├── skills/                 # Structured skill templates\n├── commands/               # Reusable command/workflow prompts\n├── scripts/                # Helper scripts (handover, workspace detection)\n├── workspaces/             # Project-specific context templates\n├── config/                 # OpenCode config examples\n├── docs/                   # Migration and architecture notes\n├── profiles/               # Optional profile metadata and manifests\n├── install.sh\n├── CONTRIBUTING.md\n└── LICENSE\n```\n\n## Roadmap\n\nSee `docs/roadmap.md`.\n\n## Workflow Scripts\n\n- `scripts/handover.sh` - create a session handover document\n- `scripts/git-porcelain.sh` - status/save/sync/branch/pr helper\n- `scripts/ops-check.sh` - stack-aware quality gate checks\n- `scripts/issue-pr-loop.sh` - issue to branch to draft PR flow\n- `scripts/council-lite.sh` - lightweight multi-agent session scaffold\n- `scripts/validate-council-lite.sh` - council-lite artifact structure validator\n- `scripts/share-templates.sh` - copy DM/Discord onboarding templates to clipboard\n\nSee `docs/workflows-playbook.md` for usage patterns.\n\n## AI Delivery Playbook\n\nUse `docs/gpt53-opencode-playbook.md` as the default runbook for GPT-5.3 + OpenCode execution to reduce rework.\n\n## Open Source Readiness\n\n- community templates in `.github/`\n- `SECURITY.md` and `CODE_OF_CONDUCT.md`\n- practical usage examples in `examples/`\n- release checklist in `docs/release-checklist.md`\n- launch checklist in `docs/open-source-launch.md`\n- friend outreach message in `docs/friend-outreach-template.md`\n- onboarding feedback channels in `docs/onboarding-feedback.md`\n\n## Where To Go Next\n\n- Profiles and installer behavior: `docs/profiles.md`\n- Common scripts and usage patterns: `docs/workflows-playbook.md`\n- Agent pack overview and how to invoke agents: `docs/agents-playbook.md` and `agents/README.md`\n- Mapping from Claude setup patterns: `docs/what-maps-what.md` and `docs/migration-from-claude.md`\n\n## Troubleshooting\n\nConflicts under `~/.config/opencode/`:\n- If a managed path already exists and is not a symlink, install fails by default.\n- Recommended: move/remove the conflicting path, then rerun `./install.sh`.\n- If you want to proceed without replacing conflicting paths, use `./install.sh --conflict-policy skip`.\n\n\"I expected files to be copied\":\n- This repo is designed around symlinks. Editing files in this repo updates your OpenCode config immediately.\n\n\"python3 not found\":\n- Install requires `python3` for profile resolution and state management.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtsong%2Fmy-opencode-codex-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdtsong%2Fmy-opencode-codex-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtsong%2Fmy-opencode-codex-setup/lists"}