Free & open source · macOS, Windows, Linux

A desktop workspace for GitHub contributions.

FocusFork is a local Electron desktop workspace that manages the open-source contribution cycle via native Git commands and user-configured AI models (BYOK). Search public issues, work in a local clone, and prepare a pull request with your chosen provider.

Mac users: Run this in Terminal if app is blocked by Gatekeeper

xattr -cr /Applications/FocusFork.app

Homebrew Cask: installation instructions coming soon.

FocusFork
Backend synced
Discover
Find issues that match your skills and time
Search issues by keyword, language, or label…
TypeScriptgood first issuebug
vercel/next.js#58421
Fix hydration mismatch in app router
buggood first issueTypeScript
facebook/react#29103
Add aria-description support to Tooltip
accessibilitygood first issueJavaScript
tailwindlabs/tailwindcss#14207
Support container queries in JIT mode
enhancementTypeScript
denoland/deno#21455
Improve error message for missing permissions
good first issuedxRust

The problem

Keep issue context beside your local Git workflow.

For first-time and returning contributors, FocusFork brings GitHub issue discovery, native Git, and contextual AI assistance into a single desktop workspace.

×Separate tabs for issue search, repository context, and pull requests.
✓One desktop workspace that keeps your selected issue, local repository, and branch together.
×AI advice without the issue description or the files you are editing.
✓Contextual prompts built from your issue, file tree, open files, and local Git diff.
×A push remote that points to the canonical project instead of your fork.
✓A push guard that verifies the destination is a GitHub fork owned by your signed-in account.

What you get

From public issue search to a local contribution branch.

⌕
Find good first issues on GitHub
Query and filter public GitHub issues by language, labels, and context within the app. Inspect repository metadata, assignment, and linked pull requests before choosing work.
⚙
A local Git client for open source
Create forks on GitHub through its API, clone them locally with simple-git, and set up an issue branch on your machine. Guided push actions verify your fork and can establish branch tracking.
✦
Contextual agent workflows
Discover, Code Guide, Ship, and Code Review coordinate issue discovery, planning, diff review, and pull requests. Local code gathers context; your selected AI provider processes the prompts.
◇
Bring your own AI model and key
Configure OpenAI, Anthropic, Google Gemini, or OpenRouter in Settings. Available models, free routes, pricing, and rate limits depend on your provider and API key.
↗
Edit, review, and open a pull request
Use the built-in editor and terminal or open your clone in a supported local IDE. Review proposed edits, approve guided Git actions, and record contribution events. Maintainers decide whether to merge.

Workflow

A guided GitHub contribution workflow.

GitHub sign-in enables repository actions. Your provider key enables AI assistance; you review the work.

01
Search public GitHub issues
Filter by language, labels, and repository. Inspect the issue and ask Code Guide for a contribution plan using your configured model.
02
Fork remotely, clone locally
Approve fork and clone operations. The GitHub API creates the fork; simple-git runs native Git on your machine to create the local clone and working branch.
03
Edit with bounded context
Work in the built-in editor or your preferred IDE. The app packages issue text, the file tree, and selected code into prompts for your AI provider.
04
Commit and push to your fork
Review your changes, approve the commit and push, then create a pull request. Push verification blocks canonical repositories and destinations owned by another account.

Architecture

Discover, Code Guide, Ship, and Code Review.

These coordinated renderer functions share workflow state and package contextual prompts. Git and filesystem operations run in the Electron main process. A separate deterministic Reviewer checks prerequisites; AI inference happens at your selected provider.

DETERMINISTIC
Discover
Wraps GitHub issue search and fork requests, then hands local cloning to the main process. Uses GitHub metadata such as owner, repository, and issue number.
AI-ASSISTED
Code Guide
Packages the original issue description and workspace state into a contextual prompt. Your configured model suggests a plan, likely files, verification steps, and risks.
AI-ASSISTED
Code Review
Reads the local Git diff and sends it with issue context to your selected model. Reports findings for human review. Review is advisory when its request fails, so it does not replace tests.
GIT + AI ASSISTANCE
Ship
Drafts commit messages using your model, delegates commit and push to native Git, and opens or lists pull requests through GitHub. A successful push does not guarantee a merge.
DETERMINISTIC CHECKS
Reviewer
Validates available authentication, issue, clone, and branch context at workflow checkpoints. It uses application logic, not an LLM or an independently running background agent.

GitHub contribution questions, answered.

How do I find good first issues on GitHub?
Use Discover to query public GitHub issues, then filter by language, labels such as good first issue, and repository context. Inspect assignment and linked pull requests before claiming an issue; labels alone do not prove it is available.
How can a first-time contributor fix a Git remote tracking error?
FocusFork can set upstream tracking when a guided push needs it. It first checks the effective remote destination against your signed-in GitHub account and verifies it is your fork. If origin or branch tracking points to the canonical project, the push is blocked; correct that remote configuration and retry. It does not silently rewrite arbitrary remotes.
Is FocusFork a BYOK alternative to GitHub Copilot Workspace?
FocusFork offers a local desktop workspace for GitHub contributions with your own provider API key. Native Git runs on your machine, while AI prompts go to the model provider you configure. It is a separate open-source application, with its own workflow and provider costs.
Do my API keys and GitHub tokens stay on my computer?
Desktop credential files use OS-backed local encryption through safeStorage. Your BYOK key is sent to the selected provider to authenticate AI requests, not to the FocusFork backend. GitHub tokens authenticate GitHub operations and can also be sent to the backend during identity sync. Local chat history and synced records are separate from encrypted credential files; see the privacy page for details.
PRINCIPLES

Local files, explicit network boundaries.

—The Electron desktop app is free and open source under Apache 2.0. BYOK provider fees, quotas, and rate limits still apply.
—The desktop GitHub token, backend session, and BYOK key are stored in local files encrypted with Electron safeStorage when OS secure storage is available. BYOK key persistence fails if secure storage is unavailable.
—BYOK AI requests go from the Electron main process to your chosen provider. Prompts can include issue text, file paths, code, and diffs; this is not offline or on-device model inference.
—Backend sync can send GitHub identity and access tokens, workflow events, and chat records to FocusFork services. BYOK provider keys are not sent to the FocusFork backend. Anonymous install pings can be disabled in Settings.
—Guided fork, clone, file-edit, commit, push, and PR actions have approval controls. Commands you enter in the embedded terminal run as local shell commands.

“I built FocusFork because my first OSS PRs wasted hours on context switching—not on code.”

Atikur Satter Mondal
@atikur0786 · solo builder

Pricing

Free desktop app. Your provider, your AI costs.

Use the contribution workflow with your own AI provider key. Provider billing and usage limits apply, and GitHub sign-in is required for repository actions. Managed paid plans are not open in the current beta.

Compare plans →

Download

The beta is live.

Install the local Electron workspace for macOS, Windows, or Linux. Builds are published on GitHub; macOS beta installation may require the Gatekeeper instructions on the download page.

Contact

Bug, idea, or partnership?

Send a note with what you were trying to do. Replies go to email—include your OS and app version if something broke.