backend
無料Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
日本語の概要は準備中です。原文の説明を表示しています。
Dough Land lands everything in one reviewed checkout on the authorized remote trunk: commits all of its changes, reconciles and publishes them without force, and refreshes a supplied default checkout when safe. An owned worktree is retired with its branch after completion gates hold and trunk contains its work; the default checkout stays in place. Ordinary landing refuses unfinished execution before commit; `--keep-worktree` selects an explicit retained increment. Use only on explicit invocation, such as "/dough-land", "use Dough Land", "land this worktree", or "land" for changes made on the default checkout, or when another skill's validated keep instruction or findings maintenance handoff links here. A casual "keep", "looks good", or approval does not invoke it. Hosted merges and pull requests are out of scope. With `--process-retrospective`, it also reviews the landing's own process and records supported findings in `DearDough.md`.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Land one reviewed checkout, an owned worktree or the default checkout on the
target branch: commit everything in it, publish that onto the authorized remote
trunk, refresh a supplied default checkout when safe, and retire an owned worktree
only after completion and retirement gates hold. Apply completion attention to the final
response. Publication, refresh, and cleanup are separate results.
A later step that stops or is deferred never undoes an earlier one.
With --process-retrospective, also
review this landing's process.
Run only when the developer explicitly invokes Dough Land, or when a calling skill's own validated keep instruction links here. An explicitly invoked findings-maintenance skill may instead supply its own validated maintenance instruction and link here; that instruction carries its maintenance-only publication authority without another keep question. It supplies the reviewed owned result, checkout, starting revision and authorized target, and confirms the whole-checkout isolation required below. This handoff neither invokes maintenance from encountering a finding nor authorizes unrelated work. Reviewing, approving, pausing, or saying "keep" in passing does not start a landing. Do not open a pull request, request a hosted merge, or discard anything; when the developer wants one of those, stop and say that Dough Land does not do it.
Resolve both before any commit:
refs/heads/<branch> on a named
remote: the target selection already recorded for this worktree, or the one
the project or developer authorizes. Default the branch to main only when
neither the caller nor the project supplies one.Stop before committing, and name the gap, when:
index.lock or an unfinished merge, rebase,
cherry-pick, or revert. Name it; the developer resolves it, then reruns.Before staging, committing or publication, resolve whether the checkout serves execution, preparation, or ordinary reviewed work from its retained context and this project's selected work. Taken membership alone establishes neither unfinished implementation nor completion. A Preparing assignment is preparation, not execution; completed preparation keeps its existing release and landing journey. Do not label ordinary reviewed work unfinished merely because it has no story or plan.
For execution, apply wrap-up's execution-completion judgment to the selected source and available results. For a resolved executable plan, check its recorded slices and obligations before any Git change:
node <installed>/dough-execute-plan/scripts/story-obligations.mjs check --plan <PLAN.md> --planned-completion
Use this project's selected plan, not a plan found by guessing from this skill's location. The command reuses the existing plan and obligation readers: it names pending slices, open obligations, and unreadable or missing slice evidence. A clear result checks those records only; judge the promised outcome and accepted proof too. For planless execution, judge its instruction, changes and execution results; absence of a plan is not completion evidence.
On an ordinary invocation, unfinished execution or missing or ambiguous completion
evidence stops here, before commit or publication. Keep the checkout, branches,
index, plan and assignment unchanged; name the remaining work or exact missing
evidence and explain --keep-worktree as the explicit retained-landing choice.
Never infer that choice from a request to land. A completed execution still Taken
is not refused merely for that membership: preserve its owning completion and
retirement gates. Landing does not perform wrap-up, release its assignment, or
manufacture completion.
On every rerun, establish completion again before commit or publication. A tip already accepted by trunk does not establish completion or authorize retirement.
An explicit --keep-worktree selects a retained increment, including when
execution is unfinished or its completion evidence is unavailable. Carry the
remaining work or evidence gap forward; it is not a completion result. Continue
through commit, publication and optional refresh, then skip retirement entirely.
Keep the same worktree, local branch and existing remote execution branches, Taken entry, agent
profile, plan and session context. Do not release an execution assignment or
change its mode, branch destination for later execution, or observer target.
Resume its next unfinished work in that same workspace through its existing
execution workflow; eventual closure still belongs to ordinary story wrap-up
and its completion, CI and ownership gates.
Everything in the checkout is the reviewed change, including unrelated files
and local commits the fetched target lacks. Stage all tracked, untracked, and
deleted paths (git -C <checkout> add -A) and commit them there with a
message describing the reviewed change, as an
agent commit when that
reference applies to the checkout, otherwise with plain git commit; its
refusal stops the landing before publication. When there is nothing to commit, create no commit; that is the
normal rerun case.
The owned unpublished suffix is every commit on the checkout's branch that the fetched target does not contain. Its previously published base is the last SHA this landing recorded as accepted, otherwise the checkout's recorded starting revision, otherwise the merge base of the branch and the fetched target (for the default checkout, its local HEAD before the commit when that is contained in the fetched target).
A calling skill that must land only its own record checks, before linking here, that the worktree holds nothing else. Dough Land does not pick paths out of a worktree. A preparation keep stages its assignment's release in the worktree before linking here, so it lands with the result; Dough Land itself never adds or removes an assignment profile.
With the original launch's supplied dashboard landing context, use the launch-bound handoff for publication and resume. Record its accepted comparison before refresh or retirement; reporting failure leaves Git acceptance accepted and retries only evidence.
Apply reviewed-checkout publication: use publish the candidate for a wholly unpublished suffix, or history-preserving integration for a published prefix and the complete reviewed tip above it. Keep the queued-closure check before each reconciliation and retry, and recheck affected proof before pushing. Preserve the state on a conflict, refusal, failed recheck or second rejection; report publication, refresh and cleanup as unfinished. Do not loop.
After accepted publication and before retirement, apply the shared supplier dependency procedure when retained context establishes a selected completed supplier. Preserve its recoverable outcome before cleanup, publish directly justified consumer updates through this authorized landing workflow, and report unresolved work. A generic landing or an unfinished increment establishes no supplier completion.
Only with --process-retrospective, after accepted publication and any
consumer visit, apply the shared
process review of a run
once per landing, with the landing checkout as the write location. Recorded
findings are uncommitted changes: continue through
Commit everything and Publish
before refresh and retirement.
After acceptance, when the landing checkout is the default checkout, it is already at the accepted SHA: record the refresh as already current, or as a fast-forward to the published trunk when the publication moved it. Otherwise attempt Refresh eligibility on the supplied default checkout for the landed remote and branch. Record its maintenance result and reason separately from publication; apply completion attention when responding. No refresh result is a failed landing or blocks retirement.
Another skill may apply this section on its own after its own accepted publication.
Apply owned worktree retirement after
publication, the completion judgment, and
the calling workflow's retirement gates. It checks recorded
ownership and target containment, preserves recoverable state on a hold, and
keeps the default checkout in place. Retain supplied dashboard reporting context
outside the checkout before removal; reporting remains the final operation.
With --keep-worktree, do not call retirement, even when trunk already contains
the tip. Verify the retained resources and record their disposition separately
from publication and refresh.
A stop keeps every resource recoverable (worktree, branch, commits, index, any default checkout, and the remote as it is) and names the exact unfinished step. A rerun reads real Git and remote state and continues from the first unfinished step, applying completion judgment before any commit, publication or retirement:
| State found | Continue with |
|---|---|
| Unfinished Git operation in the checkout | Stop and name it |
| Uncommitted changes | Commit everything |
| Branch tip not contained in the fetched target | Publish, through the publisher's resume |
| Tip already contained | Record it as accepted; push nothing. Apply optional refresh, then retain with --keep-worktree or apply completion and retirement gates |
| Worktree or branch already absent | Record it as already retired |
Never commit the same change twice, push an already accepted candidate again, or create a replacement worktree.
Keep publication acceptance, refresh outcome, and verified resource disposition as separate operational facts in the command results and available execution context. Preserve the accepted SHA and target, refresh result and reason, and cleanup paths and verified disposition for recovery; no new recap or record is required solely to repeat them.
After operations settle, read and apply the shared
completion attention rule, including its
final dashboard operation with supplied reporting context.
For retained unfinished execution, state that the reviewed changes landed,
the story remains unfinished, and its workspace and branches remain usable;
name the next unfinished work or missing evidence. Report unfinished with that
exact attention message through the supplied dashboard command. Never send quiet
completed, mark the session Done, or imply story completion from publication.
Manual session acknowledgment does not complete slices or release the assignment.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
日本語の概要は準備中です。原文の説明を表示しています。
Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.
日本語の概要は準備中です。原文の説明を表示しています。
Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.
日本語の概要は準備中です。原文の説明を表示しています。
related to donut CLI. Use when working on donut-cli.
日本語の概要は準備中です。原文の説明を表示しています。
Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.
日本語の概要は準備中です。原文の説明を表示しています。
Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.
日本語の概要は準備中です。原文の説明を表示しています。