Skip to content

docs: add contributing guide for fork PR workflow - #250

Closed
dl-alexandre wants to merge 1 commit into
pingdotgg:mainfrom
dl-alexandre:docs/contributing-flow
Closed

dl-alexandre wants to merge 1 commit into
pingdotgg:mainfrom
dl-alexandre:docs/contributing-flow

Conversation

@dl-alexandre

@dl-alexandre dl-alexandre commented Mar 7, 2026 •

Copy link
Copy Markdown

Adds a CONTRIBUTING.md that documents the current outside-contributor workflow.

This is intended to make fork-based PR behavior easier to understand, especially when:

  • GitHub Actions CI is waiting in action_required
  • Vercel is red due to deploy authorization on fork PRs

The goal is not to change policy in this PR, only to document the current behavior clearly so contributors know what to expect and how to validate changes locally.

Closes #249.

Note

Add CONTRIBUTING.md documenting fork pull request workflow for GitHub Actions and Vercel in CONTRIBUTING.md

Add a new CONTRIBUTING.md with Bun setup commands, pull request expectations, fork PR behavior notes for GitHub Actions and Vercel, steps for stuck checks, and guidance for filing issues and questions.

📍Where to Start

Start with the guidelines in CONTRIBUTING.md.

Macroscope summarized 6f6a946.

@vercel

vercel Bot commented Mar 7, 2026

Copy link
Copy Markdown

@dl-alexandre is attempting to deploy a commit to the Ping Labs Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 035a61cb-c495-49ee-9da2-55e2649a0bbe

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6f6a946bc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CONTRIBUTING.md
Comment on lines +50 to +54
The repository CI workflow lives in `.github/workflows/ci.yml` and runs:

- `bun run lint`
- `bun run typecheck`
- `bun run test`

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 Document all CI checks contributors are expected to validate

This section states that .github/workflows/ci.yml runs only lint/typecheck/test, but the workflow also runs browser tests and a desktop build (Browser test, Build desktop pipeline, and preload verification). For fork PRs this guidance can produce false confidence: contributors may report all listed checks passing locally while CI still fails on omitted jobs, which slows triage and review.

Useful? React with 👍 / 👎.

@t3dotgg

t3dotgg commented Mar 7, 2026

Copy link
Copy Markdown
Member

You have spammed so many nonsense prs without even reading the readme man.

Why the fuck would I merge this?

image

@t3dotgg t3dotgg closed this Mar 7, 2026
@dl-alexandre

Copy link
Copy Markdown
Author

dude, so sorry. Not the impression I wanted to leave.

I had incorrectly assumed

  • contributions were welcome
  • previous prs were ignoring ci

I just went straight into fixing those like i had been helping. I'll be patient. Do want to help wherever I may. I'l be more prudent before diving in.

Bests

nckrtl added a commit to nckrtl/conn that referenced this pull request Oct 15, 2026
Use native under-window vibrancy with a clear renderer backing, preserved when appearance changes. Let the theme-tinted frame show the blurred backdrop while inset content cards stay opaque. Resolves annotation pingdotgg#250.

Validated with focused desktop tests, web and desktop typechecks, scoped lint and formatting, and signed-build VM checks in light and dark.

Implemented with GPT-6.1 Sol through the Codex harness.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aorwall added a commit to aorwall/t3code that referenced this pull request Oct 20, 2026
Merges upstream `pingdotgg/t3code` at `143ab1606d` (base `ab6be13d43`,
376 commits) into the fork. No merge PR was open, so this branches from
`main`.

## Merge

- **Landed:** 1177 files out of 1177 in the upstream range. The only
missing files are `apps/server/src/cli/pair.ts` and its test, which the
fork deliberately keeps deleted. The fork delta is now 817 files.
- **Conflicts:** 14, each resolved by its `preflight.mjs` verdict. The
tracker entry in `docs/fork/upstream-merge-log.md` covers each one. The
ones a reviewer should read:
- **`ProjectDefaultsSettings.tsx`:** upstream moved the
agent-browser-access row to `IntegrationsSettings.tsx`
(`AgentBrowserAccessSetting`). The fork's `workspaceOwnsProjectDefaults`
gate moved with it and returns null at a Workspace project scope.
- **`terminal.ts`:** keeps the fork's `TerminalMetadataState` seed and
takes upstream's `Stream.drop(1)`. Upstream's new `runtime.test.ts`
metadata test now reads `.terminals`.
- **`Sidebar.tsx` / `Sidebar.logic.ts`:** upstream's new
`resolveSidebarRowThreadId` resolves against the unfiltered shells. It
now takes `source`, because the fork's `isSidebarSubagentThread` hides
only provider-native subagents.
- **`ChatView.tsx` (auto-merged):** the fork's hosted script path calls
`storeSetActiveTerminal` again. The local path drops its early
`setTerminalOpen(true)`, following upstream pingdotgg#18340, so the drawer no
longer claims the default terminal id.
- **`AGENTS.md`:** keeps the fork's prose and adds upstream's new
`Effect.fn` rule.
- **`apps/mobile/package.json`:** takes upstream's test script and keeps
`tsc` rather than `tsc-rs`.
- **`pnpm-lock.yaml`:** `tsc-rs` entries stripped, then re-derived with
`install.mjs`.
- **Other fixes:**
- `fork/goToDefinition.test.ts` moved to browser mode for upstream's new
`no-dom-test-environment` lint rule.
- `ThreadDetailsPrRows.browser.test.tsx` now passes
`activeProjectScriptsEditable`.
- One new `duplicateAddExceptions` entry was added and one stale one
retired.
- **Unsupported methods:** ADD 0, DROP 0, KEEP 2.
`packages/contracts/src/rpc.ts` is unchanged.

## Verification

`verify.mjs --sequential`:
- duplicate-adds, tripwires, resolution-check, unsupported-methods,
lockfile, fmt, lint, typecheck and build all pass.
- `test` fails. The files that fail when run alone are the same five as
on 2026-10-19 (`AgentScope`, `OpenCodeServerLedger`, ssh `tunnel`,
`AcpAdapterV2`, `OrchestratorReplayFixtures`), all sandbox
process-reaping or auth issues.
- Two new failures are also environmental: the partial-clone tests in
`GitVcsDriver.test.ts` and `RepositoryIdentityResolver.test.ts`. The
sandbox's `~/.gitconfig` rewrites `git@github.com:` to https with
`insteadOf`.
- `@t3tools/web` had one real failure, upstream's new Sidebar subagent
test. It is fixed and passes on its own.

**Caveat:** the last amend changed only that test fixture and the docs.
The sandbox restarted three times during this run, and the typecheck and
fmt re-run after that amend did not finish. A follow-up comment will
report it.

## Usable as-is
- LaTeX/KaTeX math in chat markdown, behind the client setting
`mathRenderingEnabled` in Appearance, off by default (pingdotgg#18735).
- Mermaid renders while a message streams (pingdotgg#18308). Large changed-file
trees are virtualized (pingdotgg#21482, pingdotgg#21831). HTML previews skip the loading
skeleton (pingdotgg#21480).
- Pasted folders become workspace references (pingdotgg#22072). PR check rows
aligned, and skipped checks get a slash icon (pingdotgg#22090, pingdotgg#21498). A
confirmation before "Close with comment" (pingdotgg#18175).
- Subagent overflow badge (pingdotgg#19860). Context usage survives a fork
(pingdotgg#22075). Copy paths relative to the thread workspace (pingdotgg#21497). PDF
preview (pingdotgg#21095).
- Contract decoding tolerates newer PR shapes (`ForwardCompatibleArray`
/ `ForwardCompatibleOptional`; pingdotgg#19899, pingdotgg#21575, pingdotgg#21665).
- In-app browser search engine settings (pingdotgg#17688). These are client-only,
but they only matter where the browser panel is exposed.

## Unsupported in Moatless / needs implementation
- **`thread.stop` and `capabilities.threadStop` (pingdotgg#22052):** stops a
thread without resolving its run. The client falls back to the existing
stop path until the backend advertises `threadStop`. Added to the
capabilities gap.
- **`blocking: false` on async questions (pingdotgg#15430):** keeps a thread
Working while a question is open. The backend has to emit the field.
- **Provider `optionDescriptors` / `installedVersion` (pingdotgg#19519,
pingdotgg#19567):** drive dynamic model options and update checks. Both are
optional, so the client degrades.
- **Terminal `resume: true` on resubscribe (pingdotgg#18444):** the backend
should not reopen a closed shell.
- **`rootPath` on git diff/status results:** used for workspace-relative
paths.
- **`repositoryWebUrl` on PR links (pingdotgg#21575).**
- **Relay, T3 Connect, hosted sign-in and `t3 update` work:** not
applicable to the single-origin Moatless deployment.

## Backend behavior to consider reproducing in Moatless
- **Settlement:** an empty inactive thread auto-settles (pingdotgg#15783).
Settling clears snooze (pingdotgg#17547). An interrupted run does not start the
settle timer on a snoozed thread (pingdotgg#17789).
- **Runs:** auto-delivered messages queue between provider turns
(pingdotgg#15691). A message promoted into a stopping run stays queued (pingdotgg#16926).
Compaction cadence survives restarts (pingdotgg#21880).
- **ACP:** native foreground work settles independently, and child
routing moves between runs (pingdotgg#21614–pingdotgg#21616). Delegated children stop once
(pingdotgg#18826).
- **Terminals:** slow clients no longer queue unbounded output (pingdotgg#18429).
Shells do not inherit tmux (pingdotgg#13359). Script commands stay out of shell
history (pingdotgg#13903).
- **Files:** saves no longer follow a symlink out of the workspace
(pingdotgg#18819). This one is security-relevant.
- **Git:** new worktrees fetch the base branch's own tracked remote
(pingdotgg#21032). Rename and non-ASCII paths are kept in changed-file lists
(pingdotgg#20175). Rollback blocked by an index lock now says so (pingdotgg#11340).

The `docs/fork/gaps.md` entries "Capabilities are reported…" and
"Runtime fixes upstream made to its own server" are extended with these.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
Moatless task:
https://moatless.soaplabstest.com/tasks/d311aafc-7a38-48b7-9c14-30c4cac930a7
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.

Contributor fork PRs can appear red due to Actions approval and Vercel authorization

2 participants