Skip to content

chore: fix relay build and improve dev setup#927

Merged
adityachoudhari26 merged 4 commits intoctrlplanedev:mainfrom
jthakkar04:chore/local-dev-improvements
Apr 9, 2026
Merged

chore: fix relay build and improve dev setup#927
adityachoudhari26 merged 4 commits intoctrlplanedev:mainfrom
jthakkar04:chore/local-dev-improvements

Conversation

@jthakkar04
Copy link
Copy Markdown
Contributor

@jthakkar04 jthakkar04 commented Apr 7, 2026

Summary

  • Fix apps/relay/main.go: package relaypackage main (was producing an ar archive instead of a binary, causing Air to crash with !<arch>)
  • Add apps/relay/.air.toml for hot-reload via Air, with chmod +x to handle permission on the built binary
  • Add Go/relay-specific entries to root .gitignore (*.exe, *.dylib, *.test, apps/relay/bin/, build-errors.log, etc.)
  • Update CLAUDE.md: add architecture overview, e2e test section, React/builder pattern notes, and direct pnpm/go commands (no Makefile dependency)
  • Fix all unlabeled markdown code fences (MD040) across README.md and CLAUDE.md

Test plan

  • Confirm relay starts without !<arch> or permission denied errors (cd apps/relay && air)
  • Visit http://localhost:5173/ to confirm the app loads after a clean setup

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Renamed and expanded development guide with architecture overview, monorepo layout, service/work-queue architecture, runtime/deployment flow, and CLI/workflow commands including E2E test guidance.
    • Updated README code block formatting and navigation link.
  • Chores

    • Added local hot-reload configuration for development.
    • Updated ignore rules for common build artifacts and development logs.

- Add root Makefile with unified commands for TS + Go (make start, make test, make lint, make format, make db-*)
- Add make start reset=True to wipe Docker volumes for a clean slate
- Fix apps/relay/main.go: package relay → package main (was producing ar archive instead of binary)
- Add apps/relay/.air.toml for hot-reload via Air
- Add apps/relay/.gitignore to exclude bin/ and tmp/ build artifacts
- Update README.md Contributing section with numbered steps, prereqs, validate URL, and reset instructions
- Update CLAUDE.md to reference Makefile commands, add e2e test section, React patterns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 7, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 06ee0980-35af-4211-885a-d263f888633c

📥 Commits

Reviewing files that changed from the base of the PR and between 85d3c36 and f3bafff.

📒 Files selected for processing (1)
  • .gitignore
✅ Files skipped from review due to trivial changes (1)
  • .gitignore

📝 Walkthrough

Walkthrough

Documentation rewritten into CLAUDE.md with setup, architecture, E2E and tooling guidance; README link and fence type updated. Added Air hot-reload config for the relay app and changed its package to main. .gitignore updated to exclude additional build artifacts and relay outputs.

Changes

Cohort / File(s) Summary
Documentation
CLAUDE.md, README.md
Replaced prior dev guide with CLAUDE.md: setup steps, TypeScript/db commands, Playwright E2E workflow, Go workspace-engine commands, monorepo layout, and detailed architecture. README adjusted code fence to text and Core Concepts link target.
Relay app (dev/runtime)
apps/relay/.air.toml, apps/relay/main.go
Added air hot-reload config for local Go development; changed apps/relay/main.go package from relay to main to make it an executable entrypoint.
VCS ignore rules
.gitignore
Appended trailing newline and added ignores for Go build artifacts, coverage, vendor/, apps/relay/bin/, and Air build log artifacts.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I nibble docs and seed the rows,

New guides sprout where knowledge grows.
Relay dons main and takes the stage,
Hot-reload hums to speed the page.
Gitignore hushes scattered bits—hop, engage!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: fix relay build and improve dev setup' directly addresses the main changes: fixing the relay package declaration, configuring Air for hot-reload, and improving developer setup documentation and configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
apps/relay/.gitignore (1)

33-43: Ignore Air build log artifact as well.

apps/relay/.air.toml writes build-errors.log, but it isn’t ignored here. Add it to avoid local noise and accidental commits.

Suggested diff
 # Debug files
 debug
+build-errors.log
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/relay/.gitignore` around lines 33 - 43, Add the Air build log artifact
"build-errors.log" to the existing .gitignore entries so that the file created
by .air.toml isn't accidentally committed; update the apps/relay/.gitignore by
appending "build-errors.log" (or a pattern matching that filename) alongside the
other ignored debug/temp/binary entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CLAUDE.md`:
- Around line 9-11: The markdown in CLAUDE.md has several fenced code blocks
missing a language identifier (MD040); update each fence (including the block
showing "Your CI/CD  →  Ctrlplane (orchestrates)  →  Your Infrastructure" and
the blocks around lines 58-72 and 104-110) to include a language tag such as
"text" (e.g., replace ``` with ```text) so the linter is satisfied while
preserving the existing block contents.

In `@Makefile`:
- Line 32: The Makefile uses the incorrect pnpm workspace filter "-F db" in
multiple targets; update the four occurrences in the start, db-migrate, db-push,
and db-studio targets to use the correct workspace name "-F `@ctrlplane/db`" so
pnpm commands target the `@ctrlplane/db` package (replace "-F db" with "-F
`@ctrlplane/db`" in the flox activate line in the start target and in the pnpm
commands inside db-migrate, db-push, and db-studio).

---

Nitpick comments:
In `@apps/relay/.gitignore`:
- Around line 33-43: Add the Air build log artifact "build-errors.log" to the
existing .gitignore entries so that the file created by .air.toml isn't
accidentally committed; update the apps/relay/.gitignore by appending
"build-errors.log" (or a pattern matching that filename) alongside the other
ignored debug/temp/binary entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a47ba074-b1b9-4179-90f8-1cd25de5df5b

📥 Commits

Reviewing files that changed from the base of the PR and between f75e3c4 and d8ffc50.

📒 Files selected for processing (6)
  • CLAUDE.md
  • Makefile
  • README.md
  • apps/relay/.air.toml
  • apps/relay/.gitignore
  • apps/relay/main.go

- Delete Makefile per reviewer feedback
- Revert README.md Contributing section to original (no make commands)
- Add fence language specifiers to all unlabeled code blocks (MD040)
- Replace make commands in CLAUDE.md with direct pnpm/go commands
- Fix pnpm -F db → pnpm -F @ctrlplane/db throughout
- Remove apps/relay/.gitignore; add Go/relay entries to root .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jthakkar04 jthakkar04 changed the title chore(local): improve local dev setup and fix relay build chore: fix relay build and improve dev setup Apr 8, 2026
Signed-off-by: Jagat Thakkar <32109558+jthakkar04@users.noreply.github.com>
@adityachoudhari26 adityachoudhari26 merged commit 0082cce into ctrlplanedev:main Apr 9, 2026
1 of 2 checks passed
@jthakkar04 jthakkar04 deleted the chore/local-dev-improvements branch April 9, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants