Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ Freshell is a self-hosted, browser-accessible terminal multiplexer and session o
- Always work in a worktree (in \.worktrees\)
- Before creating a new worktree, ensure the repo-supported test suite is green on the intended base. If the suite is not green, pause before creating the worktree and notify the user with the failing command and failure summary.
- New behavior changes start on a worktree branch from `origin/main` and are submitted as PRs to `origin/main`; local `dev` only consumes PR heads.
- Everything goes through a PR — never push behavior changes directly to `origin/main`.
- Merge PRs once their required checks pass; self-merging your own PRs is the norm. The only exception is a PR the user has said needs someone else to approve it first — leave those unmerged.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the branch model docs for self-merge

This new self-merge rule conflicts with the repo's dedicated branch model documentation: docs/development/branch-model.md:33 still says to wait for independent review before merging to origin/main. Agents following that workflow document will continue leaving PRs unmerged even after required checks pass, so the policy update should include that page as well.

Useful? React with 👍 / 👎.

- Many agents may be working in the worktree at the same time. If you see activity from other agents (for example test runs or file changes), respect it.
- Specific user instructions override ALL other instructions, including the above, and including superpowers or skills
- Server uses NodeNext/ESM; relative imports must include `.js` extensions
Expand All @@ -40,7 +42,7 @@ Freshell is a self-hosted, browser-accessible terminal multiplexer and session o
- If applying a PR to `dev` needs semantic conflict resolution, stop and fix the PR branch or create a replacement PR. Do not hide behavior changes in a local-only `dev` merge commit.
- Never run `git merge` directly on `main`.
- Never reset, force-push, or fast-forward local `main` during ordinary work. If the user explicitly asks to refresh the mirror, first verify Freshell is self-hosting from `dev` and local `main` has no work to preserve.
- We cannot approve our own PRs. `dev` may contain unapproved pending work, but `origin/main` changes still require independent review.
- Self-merge is the norm: once a PR's required checks pass, merge it rather than waiting for outside review. `dev` may carry pending PR heads that haven't merged yet, which is fine. The only PRs to leave unmerged are ones the user has flagged as needing someone else's approval first.

## Process Safety (CRITICAL)

Expand Down
Loading