User Guide

Everything you need to ship with VibeAssist.

From your first app idea to a clean, AI-maintained backlog wired into the tools you already use. Pick a topic below — or search for what you need.

Browse by topic

Getting started

Get access, land in the dashboard, and ship your first idea in under five minutes.

Read

Projects & app ideas

Every project is an isolated workspace with its own backlog, knowledge base, and integrations.

Read

The backlog

Epics group themes. Tasks are the atomic units. Statuses move work from idea to shipped.

Read

AI task generation

Generate tasks from an idea, then let the AI keep the backlog tidy — without making any changes you didn't approve.

Read

How VibeAssist uses AI

VibeAssist does as much as possible with plain logic — no AI needed. AI is optional, always your own, and never something we charge for.

Read

GitHub integration

Link a repo, then let VibeAssist detect completed work straight from your commits.

Read

GitHub webhook (AI ghost sync)

Let GitHub tell VibeAssist when code lands or issues close, so your backlog updates itself.

Read

Connect Claude Code (MCP)

Connect your Claude Code assistant so it can read and update your backlog live — and power AI features with no API key.

Read

The two kinds of “connect”

Two connections share the word “connect” but point in opposite directions. Here's how to tell them apart.

Read

Knowledge base

Persistent context — architecture, personas, brand, decisions — that keeps the AI grounded.

Read

Sidebar map

A guided tour of every group and link in the left sidebar — what each one does and when to reach for it.

Read

Tips for power users

Small habits that compound: keep context fresh, scan often, trust your reviews.

Read

Troubleshooting & FAQ

The most common gotchas and how to clear them in under a minute.

Read
Get started

Getting started

Get access, land in the dashboard, and ship your first idea in under five minutes.

VibeAssist is a workspace that turns rough product ideas into clean, AI-ready backlogs — then helps you ship them with whatever coding tool you love (Lovable, Bolt, Cursor, Replit, Claude Code, you name it).

  1. 1

    Get access

    Subscribe from pricing or request Free Beta access. Once approved or paid, use the emailed sign-in link to reach your dashboard.

  2. 2

    Create your first project

    Click New Project, paste your app idea in plain English, and save. One paragraph is plenty.

  3. 3

    Generate a backlog

    Open the AI panel and ask it to draft tasks from your idea. Accept the ones you like — reject the rest.

Write like you'd brief a teammate

Mention the user, the core flow, and the constraint. "A timer app for sales reps that tracks calls per account" beats "a timer app" every time.

Get started

Projects & app ideas

Every project is an isolated workspace with its own backlog, knowledge base, and integrations.

Projects are the unit of organization in VibeAssist. Each one keeps its tasks, knowledge documents, GitHub link, and AI settings separate. You can have as many as you want and switch between them from the sidebar.

What lives inside a project

  • App idea. The original brief — editable any time.
  • Backlog. Epics and tasks, the heart of the workspace.
  • Knowledge base. Persistent context the AI reads from.
  • Integrations. GitHub repo link, webhook endpoints, etc.
Core workflow

The backlog

Epics group themes. Tasks are the atomic units. Statuses move work from idea to shipped.

Each project's backlog is organized into Epics (broad themes) and Tasks (atomic units of work). Click any task to open the edit dialog — change the title, description, status, or add implementation notes like commit URLs or decisions.

Task statuses

BacklogReal work, not started yet.
In progressBeing worked — by you or your assistant.
CompletedWork shipped, awaiting your review.
ApprovedYour final yes — reviewed and accepted.
RejectedYour final no — usually spawns a follow-up bug or task.
Pending reviewLegacy value — proposals actually live in the Pending Review tray as drafts.
DraftA proposal in the Pending Review tray — not a real task until you accept it. A flag, not a status.
ArchivedParked out of every view and AI pool, status preserved. Unarchive any time from Project tools → Health check. A flag, not a status.

Completed vs approved: completed means the work exists; approved / rejected is your review verdict on it — the only two states a worker or automation will never overwrite.

Notes are your future self's best friend

When a task ships, paste the commit URL and any gotchas into the notes field. Three months later you'll thank yourself.

AI & automation

AI task generation

Generate tasks from an idea, then let the AI keep the backlog tidy — without making any changes you didn't approve.

VibeAssist's LLM sees what's already in your backlog before suggesting anything, so it avoids duplicates and respects the work you've done. Every AI suggestion arrives as a proposal — nothing changes until you accept it.

Tidy your backlog

  • Merge proposals. Combine overlapping tasks into one.
  • Delete proposals. Retire tasks that are no longer relevant.
  • Re-prioritization. Suggested ordering based on dependencies.

You're always in control

Reject anything that doesn't fit. Your backlog stays exactly the way you want it.

AI & automation

How VibeAssist uses AI

VibeAssist does as much as possible with plain logic — no AI needed. AI is optional, always your own, and never something we charge for.

VibeAssist is algorithm-first. Most of what it does is plain rules — fast, free, and private, with no AI call at all. AI only steps in for genuinely creative or judgment work (like generating a backlog or reviewing code), and only when you've connected some AI of your own.

Two ways a feature gets done

  • Plain logic — no AI, no key. Linking commits to tasks, turning a task's acceptance criteria into test cases, drafting a sprint from your backlog. Instant, free, and works without any AI connected.
  • Your connected assistant. Connect a coding assistant like Claude Code and it does the AI work for you — no key needed, because it's already your AI. This is how AI runs in VibeAssist.

We never charge for AI

AI is always yours — your own assistant on your own subscription. Any VibeAssist plan is for the product (the control layer, the automation), never for AI or tokens.

What if you haven't connected any AI?

Everything the plain-logic features do still works. When you click something that genuinely needs AI, you'll see a friendly note — not an error — telling you to connect your assistant (Project configuration → Claude connection). Nothing breaks; you just connect once and the AI features light up.

The keyless path

Connect Claude Code (or another assistant) once and the AI features light up without you ever pasting an API key — the assistant supplies the intelligence.

Integrations

GitHub integration

Link a repo, then let VibeAssist detect completed work straight from your commits.

Connect a repository to a project to unlock automatic task tracking. From a project, open the GitHub panel, authenticate via OAuth, and pick a repo.

Scan Repository

Click Scan Repository and VibeAssist will fetch recent commits from your default branch, compare them against open tasks, and propose which ones look done. Approve to move the task to Completed (the AI's justification is appended to its notes). Reject to leave it untouched.

Default branch only

GitHub issues created by the workflow only auto-close when commits land on the repo's default branch (usually main) and the message contains Resolves #<number>.

Integrations

GitHub webhook (AI ghost sync)

Let GitHub tell VibeAssist when code lands or issues close, so your backlog updates itself.

The GitHub webhook is the bridge that keeps your backlog in sync with what's actually happening in your repo — no manual copy-paste, no stale statuses. When GitHub fires an event (a push, an issue closing, a comment), it pings VibeAssist, which verifies the request and updates the right tasks automatically.

What it does

  • Reacts to commits on your default branch. Pulls the diff via GitHub's compare API, runs AI analysis on the changed code, updates the backlog, and refreshes the “Synchronised” badge.
  • Closes the loop on AI-ready issues. When an issue tagged vibeassist-ready is closed, VibeAssist finds the matching implementation batch, extracts its TECH NOTES, appends them to the batch, and marks tasks as pending review or completed.
  • Captures issue comments. New comments on vibeassist-ready issues are appended to the batch notes and queued for review.
  • Auto-installs on request. Once the right token scopes are granted, VibeAssist can install or update the webhook on GitHub for you — no manual copy-paste required.
  • Health check. A live status badge shows the last delivery time and event, so you know the connection is healthy at a glance.

Token permissions required

To let VibeAssist list repos, push issues, and manage the inbound webhook, your Personal Access Token needs one of these permission sets:

  • Fine-grained PAT. Contents: Read & Write, Issues: Read & Write, and Webhooks: Read & Write for the repository.
  • Classic PAT. repo plus admin:repo_hook.

Without Webhooks: Read & Write the auto-installer will fail

You can still add the webhook by hand from GitHub, but the one-click install/update button requires the webhook scope. If you see a 403, re-issue the PAT with the missing scope.

Use the production webhook URL

Preview URLs are protected and GitHub deliveries to them can fail with a 302 redirect. The GitHub dialog now shows the stable production Payload URL, even when you're using the preview editor.

Setting it up

  1. 1

    Open project settings

    Go to your project, then Settings → GitHub.

  2. 2

    Save a PAT with webhook scope

    Create the token as described above, paste it into VibeAssist, and save.

  3. 3

    Link a repository

    Select the repo VibeAssist should watch.

  4. 4

    Install the webhook automatically

    Click Install / update webhook automatically. VibeAssist will create or update the webhook with the correct URL, secret, and events.

  5. 5

    Or add it manually on GitHub

    If you prefer, go to Settings → Webhooks → Add webhook in the repo. Paste the Payload URL shown in VibeAssist, set Content type to application/json, and select the Push, Issues, and Issue comments events.

  6. 6

    Verify

    GitHub sends a ping and the health badge flips to Live. Push a commit or close an issue to see activity roll in.

Default branch matters

Push-driven sync only runs on commits to the repo's default branch (usually main). Work on feature branches is picked up after it's merged.

Security

Every request is verified with an HMAC signature (x-hub-signature-256) against your project's stored secret — even though the endpoint is public, only events signed with your secret are processed.

What happens when an issue closes

When an issue with the vibeassist-ready label is closed (typically by a coding agent that finished its batch), VibeAssist:

  • Finds the implementation batch. Matches the issue to the batch it represents.
  • Extracts TECH NOTES. Parses the agent's structured completion notes.
  • Appends them to the batch. So you have a permanent record of what shipped.
  • Updates task statuses. Tasks are marked pending review, then completed by the AI parser if confidence is high.

If anything is ambiguous, the batch stays in pending review so you can confirm before it lands.

Integrations

Connect Claude Code (MCP)

Connect your Claude Code assistant so it can read and update your backlog live — and power AI features with no API key.

Claude Code is the AI assistant you chat with in a terminal (you start it by typing claude). Connecting it to VibeAssist lets it read and update your backlog directly — create tasks, mark work done, even run a whole sprint — and it's the keyless way to use AI features (see "How VibeAssist uses AI").

Three different places — don't mix them up

The terminal is where you type claude mcp add …. Claude Code is the assistant that starts when you run claude — commands like /mcp are typed to it. The VibeAssist web app is this site. The steps below say which is which.

Option A — One-click sign-in (recommended)

No keys to handle, and the connection refreshes itself. Needs a recent Claude Code.

  1. 1

    Add the connection (in a terminal)

    Run this — --scope user makes it available in every folder (leave it off and it only exists for the current folder — a common gotcha):

    claude mcp add --transport http --scope user vibeassist https://vibeassist.app/api/public/claude/mcp

  2. 2

    Sign in (in Claude Code)

    Adding it only saves the connection — it doesn't sign you in. Start Claude Code with claude, then type /mcp to it, pick vibeassist (shown as needs authentication) → Authenticate. Restarting Claude Code also triggers it.

  3. 3

    Allow (in your browser)

    A "Connect Claude Code — Allow / Deny" page opens. Click Allow. Done — connected, no key pasted.

Option B — Paste a token (fallback)

For CI, headless setups, or older Claude Code. In the VibeAssist web app go to Claude Connection → Generate token and copy it, then in a terminal:

claude mcp add --transport http --scope user vibeassist https://vibeassist.app/api/public/claude/mcp --header "Authorization: Bearer YOUR_TOKEN"

The token is saved in your local Claude Code config and sent only to VibeAssist — never to the AI. Regenerate or revoke it from the same screen any time.

What you can do once connected

Just talk to Claude Code naturally — it reads and writes your backlog live:

  • List work. "List my VibeAssist projects" / "…my tasks."
  • Create tasks. "Create a task for X under epic Y."
  • Update status. "Mark this task done" / "set it to in progress."
  • Check the sprint. "What's blocking the current sprint?"

Changes appear in VibeAssist immediately.

Prefer “go build my sprint”?

The /vibeassist skill drives a guarded sprint run-loop — it pulls a queued sprint, works tasks in dependency order, and always goes branch → PR → you merge (it never touches main). Install it, then run /vibeassist in Claude Code.

Added it but nothing happened?

claude mcp add only saves the config — it doesn't sign you in. Run /mcpAuthenticate (or restart Claude Code). And if it doesn't show up at all, you likely added it without --scope user, so it only exists in the folder you ran it in.

Integrations

The two kinds of “connect”

Two connections share the word “connect” but point in opposite directions. Here's how to tell them apart.

Two different things in VibeAssist both say “connect”, and one even says OAuth — so they're easy to mix up. They do completely different jobs. The trick is to ask: which way does the wire point?

The one-line mnemonic

Assistant connect answers “how do I (or a teammate) reach the assistant?” — it signs you in. GitHub App answers “how does VibeAssist reach GitHub?” — it gives the platform its own key. Same theme either way: stop hand-carrying tokens.

1. Assistant auto-connect — wires a person to the assistant

A tiny .mcp.json signpost committed to your repo means anyone who opens that project in Claude Code is offered a one-click browser sign-in to VibeAssist — no token to paste, no setup command to remember. It's the same connection covered in “Connect Claude Code (MCP)” above, just made automatic for everyone who opens the repo.

  • It signs YOU in. Each person who opens the project connects as themselves, with their own VibeAssist account.
  • No secrets in the file. The .mcp.json holds no token or password — just the address of the VibeAssist connection. It's safe to commit.
  • Nothing connects silently. Claude Code always shows a “trust this server?” prompt first — you approve it before anything is wired up.

2. GitHub App — wires VibeAssist to GitHub

The GitHub App integration points the other way: it gives VibeAssist itself a server-side credential to reach GitHub, so the platform can open pull requests and read your commits (for Ghost Sync) using its own key instead of a personal access token you'd otherwise have to create, paste, and rotate.

  • It's the platform's key, not yours. You install the app once; VibeAssist uses its own credential from then on — no PAT to hand-carry.
  • Powers PRs & commit tracking. Opening the sprint PR on your behalf and matching commits back to tasks both run on this connection.

Still confused which is which?

If the goal is “let me or my teammate talk to the assistant,” that's assistant auto-connect. If the goal is “let VibeAssist open PRs and read my commits,” that's the GitHub App. One points at you; the other points at your repo.

Core workflow

Knowledge base

Persistent context — architecture, personas, brand, decisions — that keeps the AI grounded.

The Knowledge Base is where you keep the durable context the AI needs every time it generates or critiques tasks. Add documents manually, or pull them in from your linked GitHub repo.

Add a document manually

  1. 1

    Open Knowledge Base

    From your project sidebar.

  2. 2

    New document

    Title, category, content. Markdown supported.

  3. 3

    Save

    It's instantly available to every AI feature.

Import from GitHub

If your repo has READMEs or a /docs folder, click Import from GitHub, tick the files you want, and import. Each file becomes its own knowledge document using the filename as the title.

Generate a docs prompt

Click Generate Docs Prompt and VibeAssist reads your epics and tasks to assemble a ready-to-use prompt. Copy it into ChatGPT, Claude, or Gemini to draft user-facing docs from what you've actually shipped.

Help

Tips for power users

Small habits that compound: keep context fresh, scan often, trust your reviews.

  • Keep your knowledge base current. Richer context = smarter AI.
  • Scan repos regularly. Fastest way to keep statuses honest.
  • Review every proposal. They're suggestions, not commands.
  • Mobile triage. The layout is built for between-meeting cleanup.

Keyboard shortcuts

?Open keyboard shortcuts
/Focus search
NNew task in the current backlog
GthenDGo to dashboard
GthenSGo to settings
EscClose dialogs
Shortcuts work anywhere except inside a text field.
Help

Troubleshooting & FAQ

The most common gotchas and how to clear them in under a minute.

GitHub says the last delivery failed with Invalid HTTP Response: 302.
The webhook is pointing at a preview URL. Open Settings → GitHub and click Install / update webhook automatically, or manually replace the Payload URL with the production URL shown in the dialog.
The webhook auto-install button shows a 403 error.
Your PAT is missing the webhook scope. Re-issue it with Webhooks: Read & Write (fine-grained) or admin:repo_hook (classic), then save the new token in VibeAssist and try the auto-install again. You can still add the webhook manually on GitHub using the URL and secret shown in the dialog.
My GitHub issue didn't auto-close.
Check that the commit was merged into the default branch and that the message contains Resolves #<number>.
The AI is suggesting duplicate tasks.
Tighten up your existing task titles — the AI uses them to detect overlap. Vague titles produce vague matching.
A repo scan didn't find a task I expected.
Approve/reject what came back, update the missing ones manually, and re-scan. Subsequent scans pick up newer commits.
Do I have to pay for AI or bring my own key?
No — lots of VibeAssist works with no AI at all. For the AI-powered features you connect an assistant like Claude Code (no key needed) and it does the AI work on your own subscription. VibeAssist never resells AI or charges for tokens — see 'How VibeAssist uses AI'.
What works without any AI connected?
Commit-to-task linking, test cases built from your acceptance criteria, sprint drafting, and all your backlog and knowledge tools. AI, when you connect it, only adds optional generation and judgment on top — it's never the only door to value.
How do I connect Claude Code to VibeAssist?
In a terminal run claude mcp add --transport http --scope user vibeassist https://vibeassist.app/api/public/claude/mcp, then in Claude Code type /mcp → pick vibeassist → Authenticate, and click Allow in the browser. No key needed. Full steps are in the Connect Claude Code (MCP) section above.
Is my data isolated?
Yes. Every project is scoped to its owner with row-level security. Nobody else can see your backlog or knowledge base.
Still stuck? Open Settings to manage your account, or reach out from the help menu. Happy shipping. 🚀