@lifeaitools/rdc-skills 0.9.4 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,4 +31,4 @@ jobs:
31
31
  STATUS="${{ job.status }}"
32
32
  curl -s -X POST "${{ secrets.CLAUTH_CHANNEL_URL }}" \
33
33
  -H "Content-Type: application/json" \
34
- -d "{\"text\":\"rdc-skills v${VERSION} npm publish: ${STATUS}\",\"source\":\"github-actions\"}"
34
+ -d "{\"event\":\"npm-publish\",\"package\":\"rdc-skills\",\"version\":\"${VERSION}\",\"status\":\"${STATUS}\",\"source\":\"github-actions\"}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifeaitools/rdc-skills",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight builds",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -19,7 +19,7 @@
19
19
  "type": "plugin",
20
20
  "skills": "skills/",
21
21
  "guides": "guides/",
22
- "version": "0.9.4",
22
+ "version": "0.9.6",
23
23
  "commands": "commands/"
24
24
  },
25
25
  "scripts": {
@@ -96,3 +96,41 @@ choose the most conservative/reversible approach and document the decision.
96
96
  - Reference affected CLAUDE.md files in each work package description
97
97
  - Reference the relevant guide file from `.rdc/guides/` (fallback: `.rdc/guides/`) for agent context
98
98
  - **If a work package involves creating a new deployed app:** the task description MUST say "Use `rdc:deploy new <slug>` — do NOT create the Coolify app manually. Read `docs/runbooks/coolify-app-templates.json` first." Assign it to an `infra` agent. This is a hard rule — manually created apps have consistently been misconfigured.
99
+
100
+ ## New App Q&A (mandatory before writing any infra task that creates a Coolify app)
101
+
102
+ If the plan includes deploying a new app, these questions MUST be answered — in interactive mode, ask the user; in unattended mode, escalate via advisor. Do NOT write the infra task until all answers are locked in. Record answers in the plan doc and embed them directly in the task description.
103
+
104
+ **Never guess. Wrong project = delete and recreate. There is no move operation in Coolify.**
105
+
106
+ ```
107
+ Q1. Which Coolify project does this app belong to?
108
+ → Read docs/runbooks/coolify-app-templates.json → _infrastructure.projects
109
+ → Match by area: design-system / prt / rdc / rdc-marketing / zoen / lifeai / place-fund / infrastructure / ai-platform
110
+ → If unsure: ASK. Do not infer from app name alone.
111
+ → Record: project_uuid + environment_uuid (staging or production)
112
+
113
+ Q2. What is the domain?
114
+ → *.dev.place.fund subdomain? (staging / internal tools)
115
+ → Custom subdomain on an existing zone? (e.g. app.regendevcorp.com)
116
+ → Apex domain? (e.g. place.fund itself)
117
+ → Domain on a different zone entirely? (e.g. skymesasouth.com)
118
+
119
+ Q3. Is this domain already in our Cloudflare account?
120
+ → Yes, zone exists → which zone?
121
+ → No → who controls the nameservers? Does the registrar point NS to Cloudflare?
122
+ → If NS not delegated to Cloudflare: A record in Cloudflare does nothing — must go to registrar
123
+
124
+ Q4. Does this app need Cloudflare proxy (orange cloud)?
125
+ → *.dev.place.fund: NEVER proxy — breaks Traefik Let's Encrypt HTTP-01 cert provisioning
126
+ → Custom domain needing DDoS/CDN: proxy OK only if SSL mode = Full (strict) + origin cert provisioned
127
+ → Any doubt: start unproxied, add proxy after confirming SSL works
128
+
129
+ Q5. What SSL path?
130
+ → Traefik + Let's Encrypt (default for all unproxied): automatic, no action needed
131
+ → Cloudflare proxy + Full (strict): need origin cert from Cloudflare dashboard first
132
+ → Nixpacks build pack: DO NOT USE for any app that needs custom SSL setup — nixpacks
133
+ containers have incompatible SSL configuration requirements. Use dockerfile build pack only.
134
+ ```
135
+
136
+ Embed all five answers into the infra task description verbatim before handing to the agent.
@@ -126,6 +126,10 @@ rdc:release: regen-root — develop → main
126
126
 
127
127
  ## Execution Details
128
128
 
129
+ > **Notification paths by repo type:**
130
+ > - **Public repos** (rdc-skills, clauth): GitHub Actions POSTs to clauth channel on publish — wait for `mcp__claude_ai_clauth__channel_list` event, not a polling loop
131
+ > - **Private repos** (regen-root): Coolify webhook is wired to Supabase — check `deployment_registry` for deploy completion, not the clauth channel
132
+
129
133
  ### Package repos (clauth, rdc-skills)
130
134
 
131
135
  #### 1. Version bump
@@ -277,10 +281,22 @@ git push origin develop
277
281
  - Merge via `mcp__claude_ai_Github_Proxy_MCP__merge_pull_request` with `merge_method: merge`
278
282
 
279
283
  #### 4. Confirm Coolify auto-deploy
280
- - Coolify watches `main` for all production apps
281
- - Poll the deployment for each affected app (identified by which `watch_paths` match changed files)
282
- - Use clauth daemon + Coolify REST to poll: `GET /api/v1/applications/<uuid>/deployments?per_page=1`
283
- - Wait for `status = finished`
284
+
285
+ regen-root is a **private repo**. Coolify's webhook is wired to Supabase — deployment events land there automatically. Do NOT poll the Coolify REST API in a loop. Check Supabase:
286
+
287
+ ```sql
288
+ -- Wait for the affected app's deployment to show status = 'finished'
289
+ SELECT slug, last_deploy_at, status, notes
290
+ FROM deployment_registry
291
+ WHERE slug IN (<affected slugs>)
292
+ ORDER BY last_deploy_at DESC;
293
+ ```
294
+
295
+ If the registry hasn't updated within 2 minutes of the PR merge, check Coolify directly:
296
+ ```bash
297
+ curl -s -H "Authorization: Bearer $(curl -s http://127.0.0.1:52437/v/coolify-api)" \
298
+ "https://deploy.regendevcorp.com/api/v1/applications/<uuid>/deployments?per_page=1"
299
+ ```
284
300
 
285
301
  #### 5. Gate checks
286
302
  For each affected app, verify: HTTP 200, TLS valid, container running.