Skip to content

chore: orca worktree setup 추가 (orca.yaml + .worktreeinclude)#278

Merged
amondnet merged 4 commits into
mainfrom
chore/orca-worktree-setup
Jun 24, 2026
Merged

chore: orca worktree setup 추가 (orca.yaml + .worktreeinclude)#278
amondnet merged 4 commits into
mainfrom
chore/orca-worktree-setup

Conversation

@amondnet

@amondnet amondnet commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Add Orca worktree configuration files to support isolated worktree-based development workflows.

Changes

  • orca.yaml: Orca worktree setup hook using the mise-free variant. Uses bunx @pleaseai/worktreeinclude followed by bun install directly, since this is a single-package repo with bun on PATH (no mise task runner needed).
  • .worktreeinclude: Declares gitignored files that should be copied into each new worktree. Lists .env* and .claude/settings.local.json so worktrees inherit local environment and Claude Code settings without polluting tracked history.

Rationale

This repo does not use mise (no mise.toml), so the standard templates/orca.yaml (which calls mise tasks) does not apply. The non-mise variant calls bunx/bun install directly, which is appropriate for a bun-native single-package repository.

Test Plan

  • Verify orca.yaml is valid YAML and readable by the Orca CLI
  • Verify .worktreeinclude correctly lists paths to copy into new worktrees
  • Create a test worktree and confirm .env* and .claude/settings.local.json are present

Notes

  • .claude/settings.local.json is gitignored via .git/info/exclude (not .gitignore), which is why it must be listed in .worktreeinclude for worktree copying.
  • No source code or behavior changes — tooling config only.

Summary by cubic

Add orca.yaml and .worktreeinclude to auto-copy local config into new worktrees and install dependencies with Bun, using a frozen lockfile to keep worktrees clean. Also ignore .please/**/*.md in ESLint to unbreak lint checks and set Claude output language to English.

Written for commit ca35e03. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Added an Orca worktree setup configuration that prepares new worktrees, copies eligible gitignored local files over, and then installs dependencies.
    • Introduced a .worktreeinclude file to define which ignored local files are eligible for inclusion, including root .env variants and local Claude settings.
  • Documentation
    • Documented how .gitignore-style patterns are used to determine which files get copied into worktrees.

mise 미사용 변형 사용(bun이 PATH에 있는 단일 패키지 저장소).
.worktreeinclude로 .env* 및 .claude/settings.local.json 복사 대상 지정.
@vercel

vercel Bot commented Jun 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gh-please Ready Ready Preview, Comment Jun 24, 2026 2:10pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds .worktreeinclude and orca.yaml for worktree file copying and setup, plus small configuration updates for Claude language and ESLint ignores.

Changes

Repository Setup and Local Config

Layer / File(s) Summary
Worktree inclusion and setup script
.worktreeinclude, orca.yaml
.worktreeinclude specifies gitignored file patterns eligible for worktree copying, including .env variants and .claude/settings.local.json. orca.yaml defines a setup script that runs bunx @pleaseai/worktreeinclude`` with ORCA_ROOT_PATH and `ORCA_WORKTREE_PATH`, then runs `bun install`.
Claude language and ESLint ignores
.claude/settings.json, eslint.config.js
.claude/settings.json sets language to english, and eslint.config.js adds .please/**/*.md to the ignore list with a comment.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I hop through worktrees, neat and bright,
Local files copied just right.
Claude speaks English, lint stays small,
Docs in .please/ slip past all.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: adding Orca worktree setup files for isolated worktree development.
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.

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

✨ 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 chore/orca-worktree-setup

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

@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

이번 풀 리퀘스트는 Orca worktree 생성 시 필요한 설정 파일인 .worktreeincludeorca.yaml을 추가하여 환경 변수 파일 복사 및 의존성 설치를 자동화합니다. 리뷰어는 의존성 설치 시 bun.lockb 파일의 의도치 않은 변경을 방지하고 일관된 설치를 보장하기 위해 bun install 명령어에 --frozen-lockfile 옵션을 추가할 것을 제안했습니다.

Comment thread orca.yaml Outdated
@codacy-production

codacy-production Bot commented Jun 24, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
orca.yaml (2)

13-18: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Make setup execution path-explicit and validate required env vars.

For deterministic behavior, guard ORCA_ROOT_PATH/ORCA_WORKTREE_PATH and run install from the worktree explicitly.

Proposed hardening
 scripts:
   setup: |
-    set -e
+    set -euo pipefail
+    : "${ORCA_ROOT_PATH:?ORCA_ROOT_PATH is required}"
+    : "${ORCA_WORKTREE_PATH:?ORCA_WORKTREE_PATH is required}"
     # 1. gitignored 로컬 파일(.env*, .claude/settings.local.json)을 메인 체크아웃에서 worktree로 복사.
     bunx `@pleaseai/worktreeinclude` "$ORCA_ROOT_PATH" "$ORCA_WORKTREE_PATH"
     # 2. worktree 안에서 의존성 설치.
-    bun install
+    cd "$ORCA_WORKTREE_PATH"
+    bun install
🤖 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 `@orca.yaml` around lines 13 - 18, The setup script currently relies on
implicit working-directory behavior and unvalidated env vars. Update the setup
block in orca.yaml to explicitly verify ORCA_ROOT_PATH and ORCA_WORKTREE_PATH
are set before use, then run the dependency install from the worktree path
rather than relying on the current directory. Keep the existing worktree-copy
step with bunx `@pleaseai/worktreeinclude`, and make the install step
path-explicit so setup is deterministic.

16-16: 🔒 Security & Privacy | 🔵 Trivial

Pin @pleaseai/worktreeinclude to a fixed version.

bunx @pleaseai/worktreeinclude@<version> "$ORCA_ROOT_PATH" "$ORCA_WORKTREE_PATH" keeps setup behavior stable as releases change over time.

Proposed adjustment
-    bunx `@pleaseai/worktreeinclude` "$ORCA_ROOT_PATH" "$ORCA_WORKTREE_PATH"
+    bunx `@pleaseai/worktreeinclude`@<version> "$ORCA_ROOT_PATH" "$ORCA_WORKTREE_PATH"
🤖 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 `@orca.yaml` at line 16, The setup command in the Orca workflow uses an
unpinned `@pleaseai/worktreeinclude` package, which can change behavior as new
releases are published. Update the bunx invocation in the Orca configuration to
reference a fixed version of `@pleaseai/worktreeinclude` so the worktree setup
remains stable over time. Use the existing bunx `@pleaseai/worktreeinclude` call
as the location to adjust, keeping the same ORCA_ROOT_PATH and
ORCA_WORKTREE_PATH arguments.
🤖 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.

Inline comments:
In @.worktreeinclude:
- Around line 8-10: The include patterns in the worktree config are narrower
than the stated `.env*` intent, since they only cover base and `.local` variants
and miss non-local environment files like `.env.development`. Update the
matching entries around the `.env` patterns so they align with the intended
scope, or adjust the documented intent if the narrower set is correct. Keep the
change localized to the existing `.env`, `.env.local`, and `.env.*.local`
entries.

---

Nitpick comments:
In `@orca.yaml`:
- Around line 13-18: The setup script currently relies on implicit
working-directory behavior and unvalidated env vars. Update the setup block in
orca.yaml to explicitly verify ORCA_ROOT_PATH and ORCA_WORKTREE_PATH are set
before use, then run the dependency install from the worktree path rather than
relying on the current directory. Keep the existing worktree-copy step with bunx
`@pleaseai/worktreeinclude`, and make the install step path-explicit so setup is
deterministic.
- Line 16: The setup command in the Orca workflow uses an unpinned
`@pleaseai/worktreeinclude` package, which can change behavior as new releases are
published. Update the bunx invocation in the Orca configuration to reference a
fixed version of `@pleaseai/worktreeinclude` so the worktree setup remains stable
over time. Use the existing bunx `@pleaseai/worktreeinclude` call as the location
to adjust, keeping the same ORCA_ROOT_PATH and ORCA_WORKTREE_PATH arguments.
🪄 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: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ae991d0-f955-4b02-88fb-19e0ed8f0a43

📥 Commits

Reviewing files that changed from the base of the PR and between 20b81e2 and c210ff3.

📒 Files selected for processing (2)
  • .worktreeinclude
  • orca.yaml

Comment thread .worktreeinclude
Comment on lines +8 to +10
.env
.env.local
.env.*.local

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

.env* intent and include patterns are currently misaligned.

Current patterns skip non-.local variants (for example .env.development). If the intended behavior is truly .env*, add a broader pattern or narrow the comment/objective wording to match implementation.

Proposed adjustment
 .env
 .env.local
+.env.*
 .env.*.local
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.env
.env.local
.env.*.local
.env
.env.local
.env.*
.env.*.local
🤖 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 @.worktreeinclude around lines 8 - 10, The include patterns in the worktree
config are narrower than the stated `.env*` intent, since they only cover base
and `.local` variants and miss non-local environment files like
`.env.development`. Update the matching entries around the `.env` patterns so
they align with the intended scope, or adjust the documented intent if the
narrower set is correct. Keep the change localized to the existing `.env`,
`.env.local`, and `.env.*.local` entries.

amondnet added 2 commits June 24, 2026 23:08
Plan and memory documents under .please/ contain illustrative
code blocks that fail style linting (no-multi-spaces,
operator-linebreak, member-delimiter-style). Treat them the
same as docs/ and docs-dev/ documentation markdown, which are
already ignored, to unbreak the lint check.
@amondnet amondnet merged commit 289a7b9 into main Jun 24, 2026
13 checks passed
@amondnet amondnet deleted the chore/orca-worktree-setup branch June 24, 2026 14:13
@sonarqubecloud

Copy link
Copy Markdown

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