{"id":51595223,"url":"https://github.com/geekjourneyx/md2x","last_synced_at":"2026-07-11T18:01:48.423Z","repository":{"id":368543407,"uuid":"1285207378","full_name":"geekjourneyx/md2x","owner":"geekjourneyx","description":"Agent Native CLI for publishing Markdown to X Articles with DraftJS, media upload, and OAuth2 PKCE.","archived":false,"fork":false,"pushed_at":"2026-07-01T03:41:08.000Z","size":1690,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-01T05:08:21.249Z","etag":null,"topics":["agent-cli","agent-native","ai-agents","article-publishing","automation","cli","content-creation","developer-tools","draftjs","go","golang","markdown","markdown-to-x","media-upload","oauth2","pkce","publishing-tools","twitter-api","x-api","x-articles"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekjourneyx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-30T15:23:09.000Z","updated_at":"2026-07-01T03:40:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/geekjourneyx/md2x","commit_stats":null,"previous_names":["geekjourneyx/md2x"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/geekjourneyx/md2x","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekjourneyx%2Fmd2x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekjourneyx%2Fmd2x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekjourneyx%2Fmd2x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekjourneyx%2Fmd2x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekjourneyx","download_url":"https://codeload.github.com/geekjourneyx/md2x/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekjourneyx%2Fmd2x/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35370428,"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-07-11T02:00:05.354Z","response_time":104,"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":["agent-cli","agent-native","ai-agents","article-publishing","automation","cli","content-creation","developer-tools","draftjs","go","golang","markdown","markdown-to-x","media-upload","oauth2","pkce","publishing-tools","twitter-api","x-api","x-articles"],"created_at":"2026-07-11T18:01:47.570Z","updated_at":"2026-07-11T18:01:48.417Z","avatar_url":"https://github.com/geekjourneyx.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# md2x\n\n**Agent Native Go CLI for turning Markdown into X Articles drafts.**\n\n\u003cimg src=\"assets/banner.webp\" alt=\"md2x converts Markdown into X Articles drafts\" width=\"100%\" /\u003e\n\n[Chinese](README_ZH.md) · [Quickstart](docs/QUICKSTART.md) · [Install](docs/INSTALL.md) · [Usage](docs/USAGE.md) · [Config](docs/CONFIG.md) · [Markdown](docs/MARKDOWN.md) · [Agent Guide](docs/AGENT-GUIDE.md)\n\n\u003c/div\u003e\n\n## What It Does\n\nmd2x is an Agent Native CLI for Markdown-to-X Articles publishing workflows. It does four things:\n\n- `inspect` checks Markdown readiness before you authenticate.\n- `render` produces deterministic DraftJS `content_state`.\n- `auth` manages X OAuth2 PKCE login for user-context API access.\n- `draft` creates X Article drafts through the official X API.\n\nV1 is draft-first. It creates drafts and does not publish by default, so terminal users and agents can stop at a reviewable state before anything goes live.\n\n## Quick Start\n\n```bash\nnpm install -g @geekjourneyx/md2x\nmd2x inspect article.md --json\nmd2x render article.md --format draftjs --json\nmd2x config init --client-id YOUR_X_OAUTH2_CLIENT_ID\nmd2x auth login\nmd2x draft article.md --json\n```\n\nFor legacy `xurl` token stores, `md2x draft article.md --app md2x --json` remains supported.\n\n## Why md2x Exists\n\nX Articles are not plain Markdown. The API expects DraftJS content state, uploaded media IDs, and user-context authentication. md2x turns that into a small Agent Native CLI contract that is easy for humans to run and easy for agents to reason about.\n\nThe source file stays Markdown. The compiler path stays inspectable. The live API call is isolated to draft creation.\n\n## Documentation\n\n- [Quickstart](docs/QUICKSTART.md)\n- [Install](docs/INSTALL.md)\n- [Authentication](docs/AUTHENTICATION.md)\n- [OAuth2 PKCE Tutorial](docs/OAUTH2-PKCE.md)\n- [Configuration](docs/CONFIG.md)\n- [Usage](docs/USAGE.md)\n- [Markdown Syntax](docs/MARKDOWN.md)\n- [X API Contract](docs/X-API.md)\n- [Agent Guide](docs/AGENT-GUIDE.md)\n- [Troubleshooting](docs/TROUBLESHOOTING.md)\n\n## Contributing\n\nContributing? Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR.\n\n## License\n\nAGPL-3.0-only. Commercial licenses are available; see [COMMERCIAL.md](COMMERCIAL.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekjourneyx%2Fmd2x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekjourneyx%2Fmd2x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekjourneyx%2Fmd2x/lists"}