{"id":47688928,"url":"https://github.com/ctx-hq/ctx","last_synced_at":"2026-04-07T13:01:13.771Z","repository":{"id":347312398,"uuid":"1193560466","full_name":"ctx-hq/ctx","owner":"ctx-hq","description":"CLI for getctx.org — manage skills, MCP servers, and CLI tools for LLM agents","archived":false,"fork":false,"pushed_at":"2026-04-04T16:31:56.000Z","size":908,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T19:36:51.912Z","etag":null,"topics":["ai-agents","claude-code","cli","developer-tools","golang","llm","mcp","mcp-server","package-manager","skills"],"latest_commit_sha":null,"homepage":"https://getctx.org","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/ctx-hq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-03-27T11:01:54.000Z","updated_at":"2026-04-04T16:31:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ctx-hq/ctx","commit_stats":null,"previous_names":["ctx-hq/ctx"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/ctx-hq/ctx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctx-hq%2Fctx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctx-hq%2Fctx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctx-hq%2Fctx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctx-hq%2Fctx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctx-hq","download_url":"https://codeload.github.com/ctx-hq/ctx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctx-hq%2Fctx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31513382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["ai-agents","claude-code","cli","developer-tools","golang","llm","mcp","mcp-server","package-manager","skills"],"created_at":"2026-04-02T15:13:34.557Z","updated_at":"2026-04-07T13:01:13.765Z","avatar_url":"https://github.com/ctx-hq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ctx\n\n[![Go Version](https://img.shields.io/github/go-mod/go-version/ctx-hq/ctx)](https://go.dev/)\n[![CI](https://github.com/ctx-hq/ctx/actions/workflows/ci.yml/badge.svg)](https://github.com/ctx-hq/ctx/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/github/v/release/ctx-hq/ctx)](https://github.com/ctx-hq/ctx/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n[中文](README.zh-CN.md) | English\n\nThe universal package manager for AI coding agents.\n\n```\nctx install @openelf/code-review   # install a skill\nctx link claude                     # link to your agent — done\n```\n\n## Why ctx?\n\nAI coding agents (Claude Code, Cursor, Windsurf, etc.) lack a shared way to discover and install extensions. Each agent has its own format, its own config directory, its own linking mechanism.\n\n**ctx solves this.** One command to install. One command to link. Works across 18 agents.\n\n```\n                 ┌─────────────────────────────┐\n                 │        ctx registry          │\n                 │  skills · MCP · CLI tools    │\n                 └──────────┬──────────────────┘\n                            │\n                      ctx install\n                            │\n         ┌──────────────────┼──────────────────┐\n         ▼                  ▼                  ▼\n   ┌──────────┐      ┌──────────┐      ┌──────────┐\n   │  Claude   │      │  Cursor  │      │ Windsurf │  ...\n   │  Code     │      │          │      │          │\n   └──────────┘      └──────────┘      └──────────┘\n```\n\n## Install\n\n```bash\n# macOS / Linux\ncurl -fsSL https://getctx.org/install.sh | sh\n\n# Homebrew\nbrew install ctx-hq/tap/ctx\n\n# Go\ngo install github.com/ctx-hq/ctx/cmd/ctx@latest\n\n# Windows\nirm https://getctx.org/install.ps1 | iex\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eMore options (Scoop, deb, rpm)\u003c/summary\u003e\n\n```bash\n# Debian / Ubuntu\ndpkg -i ctx_*.deb\n\n# Windows (Scoop)\nscoop bucket add ctx https://github.com/ctx-hq/homebrew-tap\nscoop install ctx\n```\n\n\u003c/details\u003e\n\n## Quick Start\n\n```bash\n# Search for packages\nctx search \"code review\"\n\n# Install a skill — auto-detects your agents and links it\nctx install @openelf/code-review\n\n# Install an MCP server with a specific version\nctx install @mcp/github@2.1.0\n\n# Install a CLI tool (delegates to brew/cargo/binary as appropriate)\nctx install @community/ripgrep\n\n# See what's installed\nctx list\n\n# Check environment health\nctx doctor\n```\n\n## Package Types\n\n| Type | What it is | Example |\n|------|------------|---------|\n| **skill** | Prompt files and workflows for agents | Code review, refactoring, test generation |\n| **mcp** | Model Context Protocol servers | GitHub, database, filesystem access |\n| **cli** | Command-line tools | ripgrep, jq, fzf |\n\n## Supported Agents\n\nctx detects and links packages to **18 agents**:\n\n`claude` · `cursor` · `windsurf` · `opencode` · `codex` · `copilot` · `cline` · `continue` · `zed` · `roo` · `goose` · `amp` · `trae` · `kilo` · `pear` · `junie` · `aider` · `generic`\n\n```bash\nctx link                  # list detected agents on your system\nctx link claude           # link all packages to Claude Code\nctx link cursor           # link all packages to Cursor\n```\n\n## Commands\n\n```bash\n# Discovery\nctx search \u003cquery\u003e                  # search the registry\nctx search \"git\" --type mcp        # filter by type\nctx info \u003cpackage\u003e                  # show package details\n\n# Install / Remove\nctx install \u003cpackage[@version]\u003e     # install a package\nctx install github:user/repo       # install from GitHub directly\nctx remove \u003cpackage\u003e                # uninstall\nctx list                            # list installed packages\n\n# Update\nctx update                          # update all packages\nctx update @scope/name              # update one package\nctx outdated                        # check for updates\nctx prune                           # remove old versions\n\n# Agent Linking\nctx link                            # list detected agents\nctx link \u003cagent\u003e                    # link packages to an agent\n\n# Publishing\nctx login                           # authenticate via GitHub\nctx whoami                          # show current authenticated user\nctx init                            # interactive manifest scaffold\nctx validate                        # validate your manifest\nctx publish                         # publish to the registry (public)\nctx push                            # push as private package (zero friction)\n\n# Organizations\nctx org create \u003cname\u003e               # create an organization\nctx org list                        # list your organizations\nctx org info \u003cname\u003e                 # show org details\nctx org packages \u003cname\u003e             # list org's packages\nctx org add \u003corg\u003e \u003cuser\u003e [--role]   # add member\nctx org remove \u003corg\u003e \u003cuser\u003e         # remove member\nctx org delete \u003cname\u003e               # delete org (0 packages required)\n\n# Cross-device Sync\nctx sync export                     # export installed state to local file\nctx sync push                       # upload sync profile to registry\nctx sync pull                       # restore packages on new device\nctx sync status                     # view sync status + last sync time\n\n# Dist Tags\nctx dist-tag ls \u003cpackage\u003e           # list distribution tags\nctx dist-tag add \u003cpkg\u003e \u003ctag\u003e \u003cver\u003e  # set a tag (e.g., beta → 2.0.0-beta.1)\nctx dist-tag rm \u003cpkg\u003e \u003ctag\u003e         # remove a tag\n\n# Configuration\nctx config list                     # show all settings\nctx config set \u003ckey\u003e \u003cvalue\u003e        # change a setting\nctx config get \u003ckey\u003e                # read a setting\n\n# System\nctx version                         # print version\nctx doctor                          # diagnose environment\nctx upgrade                         # self-update ctx\nctx serve                           # run as MCP server\n```\n\n## MCP Server Mode\n\nctx can run as an MCP server, letting AI agents manage packages directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"ctx\": {\n      \"command\": \"ctx\",\n      \"args\": [\"serve\"]\n    }\n  }\n}\n```\n\nAvailable tools: `ctx_search`, `ctx_install`, `ctx_info`, `ctx_list`\n\n## Package Manifest\n\nPackages are defined by a `ctx.yaml` file. Run `ctx init` to scaffold one.\n\n\u003cdetails\u003e\n\u003csummary\u003eSkill example\u003c/summary\u003e\n\n```yaml\nname: \"@scope/my-skill\"\nversion: \"1.0.0\"\ntype: skill\ndescription: \"Code review skill for AI agents\"\n\nskill:\n  entry: SKILL.md\n  tags: [review, code-quality]\n  compatibility: \"claude-code, cursor\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMCP server example\u003c/summary\u003e\n\n```yaml\nname: \"@scope/github-mcp\"\nversion: \"2.1.0\"\ntype: mcp\ndescription: \"GitHub MCP server\"\n\nskill:\n  entry: \"skills/github-mcp/SKILL.md\"\n  origin: native\n\nmcp:\n  transport: stdio\n  command: npx\n  args: [\"-y\", \"@modelcontextprotocol/server-github\"]\n  env:\n    - name: GITHUB_TOKEN\n      required: true\n      description: \"GitHub personal access token\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCLI tool example\u003c/summary\u003e\n\n```yaml\nname: \"@community/ripgrep\"\nversion: \"14.1.0\"\ntype: cli\ndescription: \"Fast regex search tool\"\n\nskill:\n  entry: \"skills/ripgrep/SKILL.md\"\n  origin: native\n\ncli:\n  binary: rg\n  verify: \"rg --version\"\n\ninstall:\n  brew: ripgrep\n  cargo: ripgrep\n  platforms:\n    darwin-arm64:\n      binary: \"https://github.com/.../ripgrep-14.1.0-aarch64-apple-darwin.tar.gz\"\n    linux-amd64:\n      binary: \"https://github.com/.../ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz\"\n```\n\n\u003c/details\u003e\n\n## Configuration\n\n### Files\n\n| Path | Purpose |\n|------|---------|\n| `~/.ctx/config.yaml` | Registry URL, username, privacy settings |\n| `~/.ctx/packages/` | Installed packages |\n| `~/.ctx/links.json` | Agent link registry |\n| System keychain | Auth token (macOS Keychain / Linux secret-tool) |\n\n### Settings\n\n```bash\nctx config set update_check false      # disable update checks\nctx config set network_mode offline    # disable all network access\nctx config set registry https://...    # use a custom registry\n```\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `CTX_HOME` | Override config directory |\n| `CTX_DATA_HOME` | Override data directory |\n| `CTX_CACHE_HOME` | Override cache directory |\n| `CTX_REGISTRY` | Override registry URL |\n\n### Flags\n\n| Flag | Description |\n|------|-------------|\n| `--offline` | Disable all network access for this command |\n| `--json` | JSON output |\n| `--quiet` / `-q` | Minimal output |\n| `--yes` / `-y` | Skip confirmation prompts |\n\n## Privacy\n\n- **No telemetry.** ctx does not collect analytics or usage data.\n- **Tokens in system keychain.** Auth tokens are stored in macOS Keychain or Linux `secret-tool`, not in config files.\n- **Update checks are optional.** Disable with `ctx config set update_check false` or `--offline`.\n- **All files 0600/0700.** Sensitive files are owner-readable only.\n- **No data leaves your machine** unless you explicitly search, install, publish, or login.\n\n## Architecture\n\n```\ncmd/ctx/              CLI commands (Cobra)\ninternal/\n  ├── config/         Configuration + file permissions\n  ├── auth/           GitHub OAuth + system keychain\n  ├── registry/       HTTP client for getctx.org API\n  ├── resolver/       Version + source resolution\n  ├── installer/      Download, extract, link packages\n  ├── adapter/        Bridge to native pkg managers (brew, npm, pip, cargo)\n  ├── agent/          Agent detection + config linking (18 agents)\n  ├── mcpserver/      MCP server mode (ctx serve)\n  └── output/         Human + JSON output formatting\n```\n\n## Contributing\n\n```bash\ngit clone https://github.com/ctx-hq/ctx.git\ncd ctx\nmake build      # build binary\nmake test       # run tests\nmake lint       # run linter\nmake check      # vet + lint + test\n```\n\n### Release Process\n\nReleases are automated via [release-please](https://github.com/googleapis/release-please). Push conventional commits to `main` and a release PR is created automatically.\n\nThe pipeline (GoReleaser + GitHub Actions) handles cross-compilation (Linux/macOS/Windows x AMD64/ARM64), shell completions, cosign signing, SBOM, Homebrew/Scoop/deb/rpm packages, and build provenance attestation.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctx-hq%2Fctx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctx-hq%2Fctx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctx-hq%2Fctx/lists"}