|
| 1 | +# Render Codex Plugin |
| 2 | + |
| 3 | +Deploy, debug, monitor, and troubleshoot applications on [Render](https://render.com) from Codex. Start with the Render CLI for the core workflows. Add MCP later for advanced workflows. |
| 4 | + |
| 5 | +## What it includes |
| 6 | + |
| 7 | +- `skills/`: Render skills derived from [render-oss/skills](https://github.com/render-oss/skills) |
| 8 | +- `hooks/hooks.json`: `render.yaml` validation hook configuration |
| 9 | +- `scripts/validate-render-yaml.sh`: hook script that runs `render blueprints validate` |
| 10 | +- `scripts/sync-skills.sh`: manual skill sync script |
| 11 | +- `.mcp.json`: Render MCP server configuration using `RENDER_API_KEY` |
| 12 | +- `.codex-plugin/plugin.json`: Codex plugin manifest |
| 13 | +- `.github/workflows/sync-skills.yml`: daily skill sync workflow |
| 14 | +- `assets/logo.svg`: plugin logo |
| 15 | + |
| 16 | +## Reused from the Cursor plugin |
| 17 | + |
| 18 | +This repository intentionally reuses content from the existing local Cursor Render plugin where the formats align cleanly: |
| 19 | + |
| 20 | +- skills |
| 21 | +- MCP configuration |
| 22 | +- hook configuration |
| 23 | +- validation script |
| 24 | +- logo asset |
| 25 | + |
| 26 | +Cursor-specific concepts such as Cursor commands, rules, and agents are not included here because they do not map directly to Codex plugin packaging. |
| 27 | + |
| 28 | +## Use it locally in Codex |
| 29 | + |
| 30 | +This repository is the source of truth for the plugin. For local Codex use, install the plugin into the standard local plugin path at `~/plugins/render` and register it in `~/.agents/plugins/marketplace.json`. |
| 31 | + |
| 32 | +To refresh the local plugin after you edit this repository, run: |
| 33 | + |
| 34 | +```bash |
| 35 | +rsync -a ./ ~/plugins/render/ |
| 36 | +``` |
| 37 | + |
| 38 | +## Get started with the Render CLI |
| 39 | + |
| 40 | +The plugin is useful without MCP. Start with the Render CLI for Blueprint generation, `render.yaml` validation, workflow setup, logs, deploy status, and CLI-guided troubleshooting. |
| 41 | + |
| 42 | +1. Install the Render CLI: |
| 43 | + |
| 44 | +```bash |
| 45 | +brew install render |
| 46 | +``` |
| 47 | + |
| 48 | +2. Authenticate the CLI: |
| 49 | + |
| 50 | +```bash |
| 51 | +render login |
| 52 | +``` |
| 53 | + |
| 54 | +3. Verify the CLI is ready: |
| 55 | + |
| 56 | +```bash |
| 57 | +render whoami -o json |
| 58 | +``` |
| 59 | + |
| 60 | +If `render whoami -o json` fails, do not assume the CLI is usable yet. Fix authentication first. |
| 61 | + |
| 62 | +If you previously set `RENDER_API_KEY` in your shell profile, make sure it is a real key or unset it. A placeholder value can break CLI auth in misleading ways. |
| 63 | + |
| 64 | +4. Start using the plugin from Codex. |
| 65 | + |
| 66 | +Good first prompts: |
| 67 | + |
| 68 | +- `Help me install and authenticate the Render CLI for Render.` |
| 69 | +- `Validate my render.yaml for Render.` |
| 70 | +- `Debug my Render deployment with the Render CLI.` |
| 71 | + |
| 72 | +## Add MCP for advanced workflows |
| 73 | + |
| 74 | +The bundled MCP server is optional. Add it if you want direct service creation, structured service enumeration, richer monitoring, or structured database queries. |
| 75 | + |
| 76 | +The plugin does not provide an API key input in the Codex plugin UI. Codex reads the bearer token for the bundled MCP server from the environment that launches Codex. |
| 77 | + |
| 78 | +To enable MCP: |
| 79 | + |
| 80 | +1. Create a Render API key in the [Render Dashboard](https://dashboard.render.com/u/*/settings#api-keys). |
| 81 | +2. Quit Codex if it is already open. |
| 82 | +3. Launch Codex from Terminal with the key set: |
| 83 | + |
| 84 | +```bash |
| 85 | +export RENDER_API_KEY="rnd_..." |
| 86 | +open -a Codex |
| 87 | +``` |
| 88 | + |
| 89 | +4. Keep using that Terminal-launched Codex session. If you reopen Codex later from the Dock or Spotlight, it might not inherit `RENDER_API_KEY`. |
| 90 | +5. If you want this to persist for future launches, add the export line to your shell profile such as `~/.zshrc`, then launch Codex from a new Terminal session. |
| 91 | + |
| 92 | +Never save a placeholder like `your_render_api_key` as the value of `RENDER_API_KEY`. A bad value is worse than an unset variable because it can make auth failures look unrelated. |
| 93 | + |
| 94 | +The bundled MCP server is configured in `.mcp.json` and reads `RENDER_API_KEY` through `bearer_token_env_var`. |
| 95 | + |
| 96 | +After the plugin is installed, you can also ask Codex: `Help me set up Render MCP in Codex for advanced workflows.` |
| 97 | + |
| 98 | +## Keep skills up to date |
| 99 | + |
| 100 | +Run the manual sync script to refresh `skills/` from [render-oss/skills](https://github.com/render-oss/skills): |
| 101 | + |
| 102 | +```bash |
| 103 | +./scripts/sync-skills.sh |
| 104 | +``` |
| 105 | + |
| 106 | +GitHub Actions also runs `.github/workflows/sync-skills.yml` every day and opens a pull request when upstream skills change. |
| 107 | + |
| 108 | +## Publish it |
| 109 | + |
| 110 | +Push this repository to GitHub and publish it as the plugin source repository. The plugin payload lives at the repository root, not under a nested `plugins/` directory. |
| 111 | + |
| 112 | +## License |
| 113 | + |
| 114 | +MIT. See [LICENSE](LICENSE). |
0 commit comments