Skip to content

feat: add root Makefile for uniform cross-layer commands#71

Merged
GRACENOBLE merged 2 commits into
mainfrom
add-root-makefile
Jun 27, 2026
Merged

feat: add root Makefile for uniform cross-layer commands#71
GRACENOBLE merged 2 commits into
mainfrom
add-root-makefile

Conversation

@GRACENOBLE

@GRACENOBLE GRACENOBLE commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a root Makefile so all common tasks can be run from the project root without cd-ing into each layer
  • make setup / make dev delegate to the existing setup.sh/setup.ps1 and dev.sh/dev.ps1 scripts (cross-platform)
  • Covers all layers: backend (Go), web (Next.js), and mobile (Android/Gradle)

Targets

Target Description
make setup First-run setup (delegates to setup.sh / setup.ps1)
make dev Start all services (delegates to dev.sh / dev.ps1)
make dev-backend / make dev-web Start individual services
make test Run all tests (backend + web + e2e)
make test-backend / make test-web / make test-e2e Targeted test runs
make build Build all layers
make lint Lint all layers (Go vet + pnpm lint + Gradle lint)
make itest-backend Backend integration tests
make tidy go mod tidy + pnpm install

Test plan

  • make setup runs setup.ps1 on Windows / setup.sh on Unix
  • make dev runs dev.ps1 on Windows / dev.sh on Unix
  • make lint passes on a clean checkout
  • make test-backend runs Go tests
  • make test-web runs Vitest

Summary by CodeRabbit

  • New Features
    • Added a unified set of cross-platform commands for setup, development, testing, building, linting, and dependency cleanup.
    • Improved consistency for running backend, web, mobile, and end-to-end workflows on both Windows and non-Windows systems.

Provides a single entry point for setup, dev, test, build, lint, and
tidy across backend, web, and mobile without needing to cd into each
subdirectory.
@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds cross-platform Makefile targets for setup, development, testing, building, linting, integration testing, and dependency tidying.

Changes

Makefile targets

Layer / File(s) Summary
Phony and bootstrap targets
Makefile
setup and dev dispatch to Windows or shell scripts, and .PHONY lists the command targets.
Test, build, and integration targets
Makefile
Adds backend/web/e2e test targets, aggregate test and build targets, and itest-backend.
Lint and tidy targets
Makefile
Adds backend, web, and mobile lint targets, an aggregate lint, and tidy for backend and web dependencies.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through targets, neat and wide,
Cross-platform carrots by my side.
Tests and builds now line the way,
Lint and tidy frolic all day.
In Makefile meadows, I do cheer—
A bunny’s build path, bright and clear!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding a root Makefile for shared cross-layer commands.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-root-makefile

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
Makefile (1)

26-27: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use $(MAKE) for recursive backend targets.

Hardcoding make here drops the parent make binary/flags, so -j, -n, and other MAKEFLAGS stop propagating to backend. Prefer $(MAKE) -C backend ... instead.

♻️ Proposed change
 dev-backend:
-	cd backend && make watch
+	$(MAKE) -C backend watch
@@
 build-backend:
-	cd backend && make build
+	$(MAKE) -C backend build
@@
 itest-backend:
-	cd backend && make itest
+	$(MAKE) -C backend itest

Also applies to: 47-48, 57-58

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` around lines 26 - 27, The recursive backend targets in Makefile
currently invoke a hardcoded make, which prevents parent flags and MAKEFLAGS
from propagating. Update the affected targets such as dev-backend (and the other
matching backend targets) to use $(MAKE) with -C backend so they inherit the
caller’s make binary and flags; keep the existing backend command arguments
unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@Makefile`:
- Around line 26-27: The recursive backend targets in Makefile currently invoke
a hardcoded make, which prevents parent flags and MAKEFLAGS from propagating.
Update the affected targets such as dev-backend (and the other matching backend
targets) to use $(MAKE) with -C backend so they inherit the caller’s make binary
and flags; keep the existing backend command arguments unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a9cad644-66e1-4919-9598-21015068c186

📥 Commits

Reviewing files that changed from the base of the PR and between 4236737 and 9a14d3d.

📒 Files selected for processing (1)
  • Makefile

@GRACENOBLE GRACENOBLE merged commit 54f3e36 into main Jun 27, 2026
2 checks passed
@GRACENOBLE GRACENOBLE deleted the add-root-makefile branch June 27, 2026 13:01
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.

1 participant