Frontend-first, IDE-style smart contract auditing for Solidity — with a virtual filesystem, Monaco editor, and on-demand AI analysis.
AuditForge is built for developers who want fast, focused, and transparent contract reviews: no hidden automation, no surprise background scans, and user-controlled API keys.
- IDE-like workflow: Monaco editor, tabs, workspaces, and a file explorer.
- Virtual filesystem: project files live in your browser and persist between sessions.
- Contract import: fetch verified source from explorers (Etherscan v2 API) into your workspace.
- AI analyzer (file-level): run a structured audit report for the currently open Solidity file.
- Keyboard-first UX: browser-safe shortcuts + an “Open File” command dialog.
- Dark mode: theme support via system/light/dark preferences.
- Files & workspaces are stored locally:
- File tree + UI state:
localStorage - File contents:
IndexedDB(seesrc/features/playground/lib/fs-db.ts)
- File tree + UI state:
- Analysis runs only when you explicitly trigger it and uses:
- Ollama (
ollama/browser) for local models (default hosthttp://localhost:11434) - OpenAI (runs from the browser; your key stays on the client)
- Ollama (
- Node.js (recommended: latest LTS)
- npm (or your preferred package manager)
npm install
npm run devThen open the local dev server URL shown in your terminal (typically http://localhost:5173).
- Install Ollama and start it.
- Pull a model (example):
ollama pull deepseek-r1:7b - In AuditForge: Settings → Analyzer → Provider
Ollama→ confirm host and model.
If the browser cannot reach your Ollama host due to CORS/origin restrictions, configure Ollama to allow your dev/prod origin.
- Create/select a workspace from the workspace picker.
- Import a contract (optional): add your Explorer API key in Settings → Import, then import by address.
- Open a Solidity file, then click Analyze (or use the shortcut) to generate a report.
- Save changes (files persist locally; clearing site data resets everything).
Shortcuts use Ctrl on Windows/Linux and ⌘ on macOS:
- Open file:
Ctrl+O - Toggle file explorer:
Ctrl+Shift+E - Analyze (open analyzer panel):
Ctrl+Shift+Enter - Open settings:
Ctrl+, - Save file:
Ctrl+S - Save all:
Ctrl+Shift+S - Close active file:
Ctrl+Shift+X - Close all files:
Ctrl+Shift+D
- API keys are stored locally in your browser (via
localStorage). AuditForge is designed for user-owned keys. - OpenAI requests are made from the client. Do not ship a shared OpenAI API key in a public deployment.
- If you’ve ever pasted real API keys into local
.envfiles or committed them accidentally, rotate them immediately.
src/features/playground: editor, filesystem, tabs, analyzer UI/statesrc/features/contract-import: explorer fetch + source parsing + import bundlingsrc/features/settings: settings screens + local persisted preferencessrc/routes: TanStack Router routes
npm run dev: start Vite dev servernpm run build: typecheck + production buildnpm run preview: preview the production buildnpm run lint: ESLintnpm run format: Prettier
No license file is currently included. If you plan to distribute this project, add a LICENSE file and update this section.
