Fabriq

Guide for Engineers

Ship features faster with AI assistance while staying in control — your daily workflow in Fabriq.

You want AI speed without black-box risk. Fabriq gives you the speed of an AI agent with the visibility of a manual review process.

This guide covers your daily workflow — from creating a feature to closing it — with practical tips for getting the best results.

Your daily flow

Open workspace → Create feature → Describe what you want
→ Watch agent work → Review → Approve → Close

1. Open your workspace

Launch Fabriq and select your workspace. The Workspace Browser shows two panels:

  • Workspace Assets (left) — shared docs, specs, repos
  • Features (right) — active features

If this is your first time, make sure your repos are registered. → Adding Repos

2. Create a feature

Click + New Feature. This is the most important step — the quality of your description determines the quality of the agent's output.

Bad description (too vague):

"Add search to the products page"

Good description (specific and actionable):

"Add a search bar to the Products page at /products. Filter by name and category. Use debounced input (300ms delay). Display results as a dropdown below the search bar. Use the existing Button component."

Writing Great Feature Descriptions

3. Watch the agent work

The Feature Workbench shows real-time activity:

┌─ Activity Log ─────────────────────────────────────┐
│ ✓ Created worktree from main                       │
│ ✓ Read project structure (48 files)                │
│ ✓ Found existing Button component                  │
│ ⏳ Writing src/components/SearchBar.tsx             │
│ ! Confirm: Write 65 lines to SearchBar.tsx?       │
└────────────────────────────────────────────────────┘

What to watch for:

  • Is the agent reading the right files? (Are you seeing familiar filenames in the activity log?)
  • Are confirmation prompts appearing? (Waiting on you means the agent is paused)
  • Check the Changes panel — is the scope staying reasonable?

4. Work with the agent

The confirm/reject loop

When a confirmation prompt appears, read the preview:

  • Approve — looks correct, consistent with your project
  • Reject — wrong approach, wrong file, or wrong scope
  • ⏸️ Skip — defer the decision for now

Working with the Agent

When to intervene

SituationWhat to do
Agent going wrong directionSend a chat message: "Actually, let's try a different approach..."
Agent asks a questionAnswer directly — the agent waits for your input
Agent gets stuckIntervene with clear direction, reject recent work if needed
You need to pauseClose the Workbench — agent pauses automatically

5. Validation

After implementation, fill in tests/testability.md with:

  • Entrypoints — where to start testing
  • Scenarios — what to test (each scenario is a test case)
  • Scope constraints — what NOT to test

Then click Run Validation. Fabriq generates test cases and runs them. If tests fail, the agent fixes and you re-run.

Validation

6. Review

Review the diffs and validation badges:

  1. Check badges first — green across the board? Proceed. Red? Agent needs to fix
  2. Read each changed file — focus on business logic, not formatting
  3. Compare to your original description — did the agent build what you asked for?
  4. Click Approve when satisfied

Reviewing Changes

7. Close

Closing runs the 5-step pipeline. Your work is indexed back into the workspace. The close summary is saved for future reference.

Closing a Feature

Recovering from mistakes

  • Undo a rejection? You can't undo a rejection, but you can tell the agent to retry the approach
  • Undo an approval? Use the Undo feature to revert specific actions
  • Need to cancel? Feature Settings → Cancel Feature — the worktree is cleaned up

Pro tips

  • Inject context before starting: Set up runtime-context.md with project architecture, conventions, and relevant docs. Agents with context produce significantly better output.
  • Review incrementally: Don't wait until the end. Check confirmation prompts as they appear — catching issues early saves the agent from building on wrong assumptions.
  • Be specific in rejections: "Use the existing debounce utility in src/utils/debounce.ts" is more useful than "This approach is wrong."
  • Know when to intervene: The agent works independently. If it's making good progress, let it work. If it's going off track, redirect early.

Quick reference

TaskWhere in Fabriq
Create a featureWorkspace Browser → + New Feature
Watch agent progressFeature Workbench → Activity Log
Approve an actionConfirmation prompt → Approve
Inject contextAgent panel → Inject Context
Fill test planFeature → Tests → testability.md
Run validationFeature → Validation → Run
Review diffsFeature → Review
Close a featureFeature → Close
Browse audit trailKnowledge → Audit Trail
Browse CDR assetsKnowledge → CDR Portal
Feature historyKnowledge → Feature History

Next steps

Edit on GitHub

Last updated on

On this page