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
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.
manifest.json: Chrome extension manifestpopup.html: popup UI and stylingpopup.js: popup behavior, profile/settings persistence, memory/history renderingcontent.js: page scanning, field filling, autofill flow, learned-field capture, toast UIbackground.js: LLM requests, learned memory storage, fill history storageicons/: extension icons
- 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
- Clone the repository:
git clone https:/www.github.com/imisbahk/formgenie
cd formgenie- Open Chrome and go to
chrome://extensions - Enable
Developer mode - Click
Load unpacked - Select this project folder
- Open the FormGenie popup
- Go to
Settings - Enter:
ProviderBase URLif using an OpenAI-compatible endpointModel NameAPI Key
- Go to
Profileand save your profile data - Open a page with forms and use
Fill This Page
For a more detailed walkthrough, see [INSTALL.md]
- Provider:
Anthropic (Claude) - API key: Anthropic key
- Model example:
claude-sonnet-4-20250514
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
content.jsscans visible form fields on the page.- The field metadata is sent to
background.js. background.jsbuilds a prompt using:- your profile
- learned field memory
- the current page fields
- The LLM returns a JSON mapping of field index to value.
content.jsapplies the values, dispatches input/change/blur events, and marks filled fields.- If you manually change a filled field and blur it, FormGenie stores that value in learned memory for similar fields later.
FormGenie uses chrome.storage.local for:
profileapiKeyproviderbaseUrlmodelNameautofilllearnedFieldsfillHistory
No project database or server is included in this repository.
- 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.
There is no install/build command. Typical workflow:
- Edit the source files
- Open
chrome://extensions - Click
Reloadon the unpacked FormGenie extension - Test on a target page
Recommended checks:
node --check background.js
node --check content.js
node --check popup.jsThis repo includes:
.gitignorefor editor junk, archives, logs, and local artifacts.gitattributesfor LF normalization and binary asset handling
Suggested first commit flow:
git init
git add .
git commit -m "Initial FormGenie extension"See [CONTRIBUTING.md]
No license file is included yet. Add one intentionally based on how you want others to use the project.