Skip to content

IMisbahk/formgenie

Repository files navigation

FormGenie

FormGenie is a Chrome extension built on Manifest V3 that scans forms on the current page, asks an LLM to map fields to your saved profile, and fills the page automatically or on demand.

It supports:

  • Manual fill from the popup
  • Autofill on page load and SPA navigation
  • Multiple LLM backends: Anthropic and OpenAI-compatible APIs
  • Learned field memory from manual edits
  • Recent fill history
  • Local-only storage for profile and settings

Project Status

This repo contains the unpacked extension source. There is no build step or bundler. Reloading the unpacked extension in Chrome picks up code changes directly.

Files

  • manifest.json: Chrome extension manifest
  • popup.html: popup UI and styling
  • popup.js: popup behavior, profile/settings persistence, memory/history rendering
  • content.js: page scanning, field filling, autofill flow, learned-field capture, toast UI
  • background.js: LLM requests, learned memory storage, fill history storage
  • icons/: extension icons

Requirements

  • Google Chrome or another Chromium browser with extension developer mode
  • An API key for one of the supported providers
  • A model name that works with your selected provider

Quick Start

  1. Clone the repository:
git clone https:/www.github.com/imisbahk/formgenie
cd formgenie
  1. Open Chrome and go to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked
  4. Select this project folder
  5. Open the FormGenie popup
  6. Go to Settings
  7. Enter:
    • Provider
    • Base URL if using an OpenAI-compatible endpoint
    • Model Name
    • API Key
  8. Go to Profile and save your profile data
  9. Open a page with forms and use Fill This Page

For a more detailed walkthrough, see [INSTALL.md]

Supported Providers

Anthropic

  • Provider: Anthropic (Claude)
  • API key: Anthropic key
  • Model example: claude-sonnet-4-20250514

OpenAI-compatible APIs

Examples include:

  • Groq
  • NVIDIA NIM
  • Together
  • Other endpoints exposing /chat/completions

You must provide:

  • A base URL such as https://api.groq.com/openai/v1
  • A valid API key for that provider
  • A model name available on that provider

How It Works

  1. content.js scans visible form fields on the page.
  2. The field metadata is sent to background.js.
  3. background.js builds a prompt using:
    • your profile
    • learned field memory
    • the current page fields
  4. The LLM returns a JSON mapping of field index to value.
  5. content.js applies the values, dispatches input/change/blur events, and marks filled fields.
  6. If you manually change a filled field and blur it, FormGenie stores that value in learned memory for similar fields later.

Stored Data

FormGenie uses chrome.storage.local for:

  • profile
  • apiKey
  • provider
  • baseUrl
  • modelName
  • autofill
  • learnedFields
  • fillHistory

No project database or server is included in this repository.

Privacy Notes

  • Profile data and API settings are stored locally in the browser.
  • API requests are sent directly from the extension to your configured provider.
  • The extension requests broad host access because it needs to scan forms on arbitrary sites.

Development

There is no install/build command. Typical workflow:

  1. Edit the source files
  2. Open chrome://extensions
  3. Click Reload on the unpacked FormGenie extension
  4. Test on a target page

Recommended checks:

node --check background.js
node --check content.js
node --check popup.js

Git Hygiene

This repo includes:

  • .gitignore for editor junk, archives, logs, and local artifacts
  • .gitattributes for LF normalization and binary asset handling

Suggested first commit flow:

git init
git add .
git commit -m "Initial FormGenie extension"

Contributing

See [CONTRIBUTING.md]

License

No license file is included yet. Add one intentionally based on how you want others to use the project.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors