Public alphaUnder active development

Shape the request.
Keep the intent.

Reqraft takes the rough thing you were about to send an AI and turns it into a clear instruction — then checks for known scope additions and disproportionate expansion.

View on GitHub
before / afterreqraft
reqraft· standard · auto → code
✓ quality: goodno scope warning detectedlocal checks
you rough request reqraft clear prompt + fidelity signals claude code · codex · opencode · chatgpt · your agent
01 The rewrite

Better instructions.
Same intent.

Reqraft sits just before the AI — an extremely light layer between your thought and the model. Not a chatbot, not an agent, not another IDE. It improves the request while preserving explicit constraints and surfacing possible drift.

clarified — grammar, target and constraints made explicit
preserved — “don’t touch the menu” survives the rewrite
checked — known scope additions are reported when detected

Add a red button to the header, reusing existing components and styles, without modifying the menu. the explicit menu constraint survives the rewrite and no known scope warning is detected.

add a red button to the header dont touch the menu

− add a red button to the header dont touch the menu + Add a red button to the header, reusing existing components and styles, without modifying the menu.
02 Fidelity control

Rewrite, then verify.

A model can expand a small request into unasked-for scope. Reqraft runs local checks for known additions and disproportionate expansion — and shows a warning when those checks detect drift.

Not “AI that rewrites your prompt.” A tool that improves your request and keeps its quality signals visible.

$ input — “make a testimonials section”
a model alone might answer! review

Create a testimonials carouselunsupported_additions with star ratings, filters, animations, pagination and a moderation dashboard. Make it responsive, add a CTA for story submissions, an FAQ, pricing comparison, SEO metadata, database persistence, moderator authentication, performance tracking and a matching footer. Introduce a new palette and loading transitions for every testimonial state.disproportionate_expansion

expansion policyover threshold
reqraft, same input✓ no warning detected

Create a testimonials section consistent with the existing layout, components and styles.

expansion policywithin threshold
03 Available today

It lives in
your terminal.

The CLI is the real product — install it now, use it in one word: rp.

rp "…"rewrite a request inline
--filerewrite from a file — rp --file request.md
--copystraight to the clipboard
--diffsee exactly what changed
--explainwhy it changed
--statslatency, tokens, provider, model and quality status
zsh — reqraft
04 Rewrite depth

Three depths.
One request.

same request — “add dark mode to the settings page”
    05 Profiles

    It reads the room. Locally.

    Leave it on auto and Reqraft infers the right profile on your machine, before any network call. Or pin one yourself.

    $rp "fix the form on mobile"autofrontendLOCAL
    $rp "rewrite this landing headline"autoweb-designLOCAL
    $rp "why does this test only fail in CI"autocodeLOCAL
    $rp "make this section feel calmer"autoweb-designLOCAL
    autocleancodefrontendweb-designdebugreviewwriting
    Coming next — Native UI, in development

    Today it lives in your terminal.
    Next, it meets you where you write.

    The planned macOS experience adapts to the text in front of you. Select rough code instructions, an e-mail, a ChatGPT request or a team message; Reqraft applies the relevant profile before you choose whether to replace it.

    macOS concept preview · profile frontendplanned shortcut · ⌥ space
    Header.tsx
    12
    13
    14
    15
    16
    17
    18
    export function Header() {
      return (
        <header className="flex items-center">
          {/* fix the form on mobile dont touch auth */}
          <Navigation />
        </header>
      )
    }
    rqselection · Code local analysis…
    replaced in Code · ⌘Z to undo
    01The capsulePlanned contextual interaction, keyboard-driven and anchored to the selected text.
    02Menu barPlanned access to quick input, the last result and profile selection.
    03SettingsPlanned configuration for shortcuts, providers, models and diagnostics.
    06 Quiet by design

    Your words don’t
    become our data.

    Model-agnostic

    Reqraft uses the keys, provider and model you configure.

    AnthropicOpenAIDeepSeekMistralOpenAI-compatible

    OpenAI-compatible endpoints can be configured, including compatible local servers.

    Local-first

    A developer tool, not a pipeline into someone’s database.

    • No telemetry by default
    • No centralized prompt history
    • No Reqraft database absorbing your requests
    • Credentials use environment variables or supported system storage
    • Only your chosen provider ever receives the request
    before anything is sent — local secret detection deploy with token ghp_9f3Kx2… and rotate it after
    ! github token detected— blocked locally by default; --force remains explicit

    Write it rough.
    Send it right.

    github.com/ronael/Reqraft
    Open source, MIT licensed. Read every line before you trust it — that’s the point. npm · github · docs