Fabriq
Features

Creating Features

A complete guide to creating AI-powered features in Fabriq.

A feature in Fabriq is a unit of work for the AI agent to complete — anything from a small bug fix to a new multi-file feature.

Opening the Feature Workbench

From the Workspace Browser, click New Feature. You'll see a dialog with two fields:

FieldWhat to enter
NameA short identifier, like add-search-filter or fix-login-redirect
DescriptionWhat you want the agent to build (see tips below)

After you fill these in and click Create, Fabriq:

Feature Workbench

  1. Creates an isolated git worktree from your base branch (the agent cannot touch your main code)
  2. Opens the Feature Workbench — the main interface for working with features
  3. Starts the Design stage — the agent reads your project to understand the codebase

Writing good feature descriptions

The quality of the agent's work depends heavily on how well you describe what you want.

Be specific

❌ Too vague✅ Specific and actionable
"Add search""Add a search bar to the products page at /products. Filter products by name and category. Use debounced input (300ms delay). Display results as a dropdown below the search bar."
"Fix the bug""Fix the login redirect: after successful login at /api/auth/login, users are sent to / instead of /dashboard. The redirect URL is set in auth.ts line 42. Change it to redirect to /dashboard."
"Improve performance""Optimize the product list query in ProductList.tsx: add server-side pagination (20 items per page), index the category column in the database, and add a loading skeleton component."

Include context

If the feature depends on existing code:

  • Mention file paths: "Edit src/pages/Settings.tsx to add a new section"
  • Reference existing patterns: "Use the same button component from src/components/Button.tsx"
  • Specify constraints: "Must work for both desktop and mobile viewports"

Describe the expected outcome

Tell the agent what "done" looks like:

  • "After this feature, users should be able to..."
  • "The acceptance criteria are:"
  • "Edge cases to handle: empty state, error state, loading state"

The Feature Workbench interface

When the feature starts, the workbench shows you everything in one view:

┌──────────────────────────────────────────────────────┐
│  Feature: add-search-filter                           │
│  Status: Implementing (65%)                           │
│                                                       │
│  Pipeline:                                      │
│  [Design]────[Implement ●●●●●●●○○○]────[Review]────[Ship]
│                                                       │
│  ┌─ Activity Log ─────────────────────────────────┐  │
│  │ ✓ Created worktree from main                    │  │
│  │ ✓ Read project structure (48 files)             │  │
│  │ ✓ Found existing Button component               │  │
│  │ ⏳ Writing src/components/SearchBar.tsx          │  │
│  │ ! Confirm: Write 120 lines to SearchBar.tsx?    │  │
│  │   [Approve] [Reject] [Skip]                     │  │
│  └─────────────────────────────────────────────────┘  │
│                                                       │
│  ┌─ Changes ──────────────────────────────────────┐  │
│  │  + src/components/SearchBar.tsx        (new)   │  │
│  │  ± src/pages/Products.tsx             (+12)    │  │
│  │  ± src/styles/search.css              (new)    │  │
│  └─────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────┘

Key areas

AreaWhat it shows
PipelineCurrent stage and progress bar
Activity LogReal-time stream of every agent action
Changes panelAll files created or modified so far
Confirmation queuePending actions that need your approval

Understanding confirmation prompts

When the agent needs to take an action that could affect your code, Fabriq pauses and asks for confirmation.

When confirmation is needed

ActionExample
Writing a new file"Write 45 lines to src/styles/theme.css"
Modifying an existing file"Edit src/pages/Settings.tsx (add 12 lines, remove 3)"
Running a terminal command"Run npm install lodash"
Git operations"Commit 3 files with message: 'Add dark mode toggle'"

How to respond

ButtonWhat it does
ApproveLet the action proceed. You'll see the result in the activity log.
RejectBlock the action. Optionally tell the agent why, so it can try a different approach.
SkipDefer the decision. The action stays in a pending queue for later.

Tips

  • You can read the file preview in the confirmation dialog before approving
  • If you're unsure, Skip and continue reviewing — you can come back
  • Rejecting doesn't stop the whole process — just that one action
  • The agent adjusts after a rejection: "You rejected writing to theme.css. Instead, try adding the dark mode styles directly to styles.css."

Monitoring progress

The pipeline shows the current stage with a progress bar:

  • Design (5-30 seconds) — the agent reads your project
  • Implement (30 seconds to several minutes) — the agent writes code. Progress bar fills as files are completed.
  • Review — the agent has finished and is waiting for your approval

You can switch away from Fabriq while the agent works. The agent continues independently.

When you need to intervene

Sometimes the agent needs guidance:

SituationWhat to do
Agent is going in the wrong directionWrite a new message: "Actually, let's use a different approach..."
Agent asks a questionRespond directly in the chat — the agent waits for your input
You want to pause the featureClose the workbench — the agent stops automatically
You want to cancel entirelyClick Feature Settings → Cancel Feature

Next steps

Edit on GitHub

Last updated on

On this page