|
1 | 1 | # Render Codex Plugin |
2 | 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. |
| 3 | +Use Render from Codex to deploy apps, validate `render.yaml`, debug failed deploys, monitor services, and work through common platform workflows. |
4 | 4 |
|
5 | | -## What it includes |
| 5 | +## What you get |
6 | 6 |
|
7 | | -- `skills/`: Render skills derived from [render-oss/skills](https://github.com/render-oss/skills) |
8 | | -- `scripts/validate-render-yaml.sh`: hook script that runs `render blueprints validate` |
9 | | -- `scripts/sync-skills.sh`: manual skill sync script |
10 | | -- `.mcp.json`: Render MCP server configuration using `RENDER_API_KEY` |
11 | | -- `.codex-plugin/plugin.json`: Codex plugin manifest |
12 | | -- `.github/workflows/sync-skills.yml`: daily skill sync workflow |
13 | | -- `assets/logo.svg`: plugin logo |
| 7 | +- Bundled Render skills for deployment, debugging, monitoring, migrations, and workflows |
| 8 | +- A bundled `.mcp.json` file for the hosted Render MCP server |
| 9 | +- A helper script at `scripts/validate-render-yaml.sh` for `render blueprints validate` |
| 10 | +- Plugin metadata and assets for Codex installation |
14 | 11 |
|
15 | | -## Reused from the Cursor plugin |
| 12 | +## Install the plugin locally |
16 | 13 |
|
17 | | -This repository intentionally reuses content from the existing local Cursor Render plugin where the formats align cleanly: |
| 14 | +1. Copy the plugin into `~/.codex/plugins/render`: |
18 | 15 |
|
19 | | -- skills |
20 | | -- MCP configuration |
21 | | -- validation script |
22 | | -- logo asset |
| 16 | +```bash |
| 17 | +mkdir -p ~/.codex/plugins |
| 18 | +rsync -a ./ ~/.codex/plugins/render/ |
| 19 | +``` |
23 | 20 |
|
24 | | -Cursor-specific concepts such as Cursor commands, rules, and agents are not included here because they do not map directly to Codex plugin packaging. |
| 21 | +2. Add the plugin to `~/.agents/plugins/marketplace.json`. |
| 22 | + |
| 23 | +If the file already exists, add the `render` entry to the existing `plugins` array. |
| 24 | + |
| 25 | +```json |
| 26 | +{ |
| 27 | + "name": "local-plugins", |
| 28 | + "interface": { |
| 29 | + "displayName": "Local Plugins" |
| 30 | + }, |
| 31 | + "plugins": [ |
| 32 | + { |
| 33 | + "name": "render", |
| 34 | + "source": { |
| 35 | + "source": "local", |
| 36 | + "path": "./.codex/plugins/render" |
| 37 | + }, |
| 38 | + "policy": { |
| 39 | + "installation": "AVAILABLE", |
| 40 | + "authentication": "ON_INSTALL" |
| 41 | + }, |
| 42 | + "category": "Developer Tools" |
| 43 | + } |
| 44 | + ] |
| 45 | +} |
| 46 | +``` |
25 | 47 |
|
26 | | -## Use it locally in Codex |
| 48 | +3. Restart Codex. |
| 49 | +4. Open the plugin directory in Codex and install `Render` from your marketplace. |
27 | 50 |
|
28 | | -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`. |
| 51 | +## Get started |
29 | 52 |
|
30 | | -To refresh the local plugin after you edit this repository, run: |
| 53 | +Use the plugin to: |
31 | 54 |
|
32 | | -```bash |
33 | | -rsync -a ./ ~/plugins/render/ |
34 | | -``` |
| 55 | +- Deploy a project to Render |
| 56 | +- Validate and troubleshoot `render.yaml` |
| 57 | +- Debug failed deploys and check service status |
| 58 | +- Work through common setup and migration tasks |
35 | 59 |
|
36 | | -## Get started with the Render CLI |
| 60 | +Good first prompts: |
| 61 | + |
| 62 | +- `Help me deploy this project to Render.` |
| 63 | +- `Help me validate my render.yaml for Render.` |
| 64 | +- `Debug a failed Render deployment.` |
37 | 65 |
|
38 | | -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. |
| 66 | +## Set up the Render CLI |
| 67 | + |
| 68 | +Many Render workflows depend on the Render CLI. |
39 | 69 |
|
40 | 70 | 1. Install the Render CLI: |
41 | 71 |
|
42 | 72 | ```bash |
43 | 73 | brew install render |
44 | 74 | ``` |
45 | 75 |
|
46 | | -2. Authenticate the CLI: |
| 76 | +2. Authenticate: |
47 | 77 |
|
48 | 78 | ```bash |
49 | 79 | render login |
50 | 80 | ``` |
51 | 81 |
|
52 | | -3. Verify the CLI is ready: |
| 82 | +3. Verify access: |
53 | 83 |
|
54 | 84 | ```bash |
55 | 85 | render whoami -o json |
56 | 86 | ``` |
57 | 87 |
|
58 | | -If `render whoami -o json` fails, do not assume the CLI is usable yet. Fix authentication first. |
59 | | - |
60 | | -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. |
| 88 | +If `render whoami -o json` fails, fix authentication before you rely on Render workflows in Codex. |
61 | 89 |
|
62 | | -4. Start using the plugin from Codex. |
| 90 | +## Use the optional MCP server |
63 | 91 |
|
64 | | -Good first prompts: |
65 | | - |
66 | | -- `Help me install and authenticate the Render CLI for Render.` |
67 | | -- `Validate my render.yaml for Render.` |
68 | | -- `Debug my Render deployment with the Render CLI.` |
69 | | - |
70 | | -## Add MCP for advanced workflows |
71 | | - |
72 | | -The bundled MCP server is optional. Add it if you want direct service creation, structured service enumeration, richer monitoring, or structured database queries. |
73 | | - |
74 | | -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. |
| 92 | +The plugin bundles `.mcp.json` for the hosted Render MCP server. To use it, set `RENDER_API_KEY` before you start Codex. |
75 | 93 |
|
76 | | -To enable MCP: |
77 | | - |
78 | | -1. Create a Render API key in the [Render Dashboard](https://dashboard.render.com/u/*/settings#api-keys). |
79 | | -2. Quit Codex if it is already open. |
80 | | -3. Launch Codex from Terminal with the key set: |
| 94 | +1. Create a Render API key in the [Render Dashboard](https://dashboard.render.com/). |
| 95 | +2. Open Account settings > API Keys. |
| 96 | +3. Start Codex from Terminal with the key set: |
81 | 97 |
|
82 | 98 | ```bash |
83 | 99 | export RENDER_API_KEY="rnd_..." |
84 | 100 | open -a Codex |
85 | 101 | ``` |
86 | 102 |
|
87 | | -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`. |
88 | | -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. |
89 | | - |
90 | | -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. |
| 103 | +4. Keep using that Terminal-launched session. If you start Codex from the Dock or Spotlight, it might not inherit `RENDER_API_KEY`. |
| 104 | +5. If you want the variable to persist, add it to your shell profile such as `~/.zshrc`, then start a new Terminal session. |
91 | 105 |
|
92 | | -The bundled MCP server is configured in `.mcp.json` and reads `RENDER_API_KEY` through `bearer_token_env_var`. |
| 106 | +Never set `RENDER_API_KEY` to a placeholder value such as `your_render_api_key`. Use a real key or leave the variable unset. |
93 | 107 |
|
94 | | -## Keep skills up to date |
| 108 | +## For maintainers |
95 | 109 |
|
96 | | -Run the manual sync script to refresh `skills/` from [render-oss/skills](https://github.com/render-oss/skills): |
| 110 | +Run the sync script to refresh `skills/` from [render-oss/skills](https://github.com/render-oss/skills): |
97 | 111 |
|
98 | 112 | ```bash |
99 | 113 | ./scripts/sync-skills.sh |
100 | 114 | ``` |
101 | 115 |
|
102 | | -GitHub Actions also runs `.github/workflows/sync-skills.yml` every day and opens a pull request when upstream skills change. |
103 | | - |
104 | | -## Publish it |
105 | | - |
106 | | -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. |
| 116 | +GitHub Actions also runs `.github/workflows/sync-skills.yml` each day and opens a pull request when upstream skills change. |
107 | 117 |
|
108 | 118 | ## License |
109 | 119 |
|
|
0 commit comments