{"id":50335724,"url":"https://github.com/ggcr/opencode-to-atif-traces","last_synced_at":"2026-05-29T13:30:46.257Z","repository":{"id":355457826,"uuid":"1225505025","full_name":"ggcr/opencode-to-atif-traces","owner":"ggcr","description":"OpenCode plugin to export ATIF traces","archived":false,"fork":false,"pushed_at":"2026-05-03T17:44:07.000Z","size":7,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T19:27:03.171Z","etag":null,"topics":["ai-agent","atif","harbor","opencode","opencode-plugin","traces"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/opencode-to-atif-traces","language":"TypeScript","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/ggcr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-04-30T10:50:13.000Z","updated_at":"2026-05-03T17:44:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ggcr/opencode-to-atif-traces","commit_stats":null,"previous_names":["ggcr/opencode-to-atif-traces"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ggcr/opencode-to-atif-traces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ggcr%2Fopencode-to-atif-traces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ggcr%2Fopencode-to-atif-traces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ggcr%2Fopencode-to-atif-traces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ggcr%2Fopencode-to-atif-traces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ggcr","download_url":"https://codeload.github.com/ggcr/opencode-to-atif-traces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ggcr%2Fopencode-to-atif-traces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33655440,"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-29T02:00:06.066Z","response_time":107,"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-agent","atif","harbor","opencode","opencode-plugin","traces"],"created_at":"2026-05-29T13:30:45.556Z","updated_at":"2026-05-29T13:30:46.247Z","avatar_url":"https://github.com/ggcr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# opencode-to-atif-traces\n\n[![npm version](https://img.shields.io/npm/v/opencode-to-atif-traces?style=flat-square)](https://www.npmjs.com/package/opencode-to-atif-traces) [![License](https://img.shields.io/github/license/ggcr/opencode-to-atif-traces?style=flat-square)](LICENSE)\n\nOpenCode plugin to export [Agent Trajectory Interchange Format (ATIF)](https://www.harborframework.com/docs/agents/trajectory-format) traces.\n\n## Usage\n\nSet the `ATIF` env var to the output path and run `opencode` as you normally would:\n\n```bash\nATIF=traces.json \\\n  opencode run \"Refactor the XML parser to use a tree structure.\"\n```\n\nTracing happens in the background, so you still get the normal stdout / stderr output from `opencode` in your terminal. This is in contrast with OpenCode's native `--format=json`, which replaces stdout with the JSON event stream and makes the run much less pleasant to watch interactively.\n\n## Status\n\nWork in progress, and not yet battle-tested. The plan is to add tests that mirror the Harbor team's implementation, and to keep the schema in sync as ATIF evolves.\n\nContributions, issues, and feedback are very welcome. Please open an issue or PR if something is broken or could be better.\n\n## Install\n\nAdd the package to the `plugin` array in your `opencode.json` (see the [OpenCode plugin docs](https://opencode.ai/docs/plugins/)):\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"opencode-to-atif-traces\"]\n}\n```\n\nOpenCode installs and caches plugin dependencies automatically on startup.\n\n## Acknowledgements\n\n- Event subscription and emission (`tool_use`, `step_start`, `step_finish`, `text`, `reasoning`) follows OpenCode's own JSON-format path in [`packages/opencode/src/cli/cmd/run.ts`](https://github.com/anomalyco/opencode/blob/62e1335388fdbadaa95d258b43f1c84740e6db1d/packages/opencode/src/cli/cmd/run.ts#L420-L553).\n- Per-event ingest that groups events into turns by `step_start` / `step_finish` is based on the Harbor team's [`src/harbor/agents/installed/opencode.py`](https://github.com/harbor-framework/harbor/blob/main/src/harbor/agents/installed/opencode.py) (see commit [`6752089`](https://github.com/harbor-framework/harbor/commit/67520896b28db9b0b21ed64eac9501b1e5c7138c)).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fggcr%2Fopencode-to-atif-traces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fggcr%2Fopencode-to-atif-traces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fggcr%2Fopencode-to-atif-traces/lists"}