samten-ai-fixer
v1.2.4
Published
Vite dev wrapper that intercepts compilation errors, suggests AI fixes and applies them interactively.
Readme
🔧 samten-ai-fixer-cli
🧠 AI-powered Vite/Webpack plugin to detect and suggest fixes for compilation errors using OpenAI.
✨ Features
- Detects compile-time errors in development
- Uses OpenAI to suggest intelligent fixes
- Supports Vite and Webpack
- Prompts fixes interactively in terminal
- Works seamlessly with React, TypeScript, and more
📦 Installation
npm install --save-dev samten-ai-fixer-cli
# or
yarn add -D samten-ai-fixer-cli⚙️ Usage with Vite
- Import and configure in your
vite.config.tsorvite.config.js:
import { defineConfig } from 'vite';
import {samtenVitePlugin} from 'samten-ai-fixer';
import OpenAI from 'openai';
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY! });
export default defineConfig({
plugins: [
AIFixerPlugin({
openai,
model: 'gpt-4',
}),
],
});- Start your dev server:
viteWhen a compilation error occurs (e.g., JSX/TS/ES errors), you’ll see:
🚨 Error in src/components/Button.tsx
💡 Suggested fix: “Did you mean to add a return statement?”
❓ Apply fix? (y/n)✅ Supported Errors
- JSX/TS Syntax Errors
- Missing imports
- Undefined variables
- Type mismatches (TypeScript)
- And more...
🧠 How It Works
- Listens to the Vite/Webpack development server errors
- Debounces and groups unique errors
- Sends code snippets to OpenAI for context-based suggestions
- Interacts via terminal to apply fixes automatically (optional)
📁 Folder Structure (Simplified)
samten-ai-fixer-cli/
├── dist/ # Compiled plugin code
├── src/
│ ├── plugin.ts # Core Vite/Webpack plugin logic
│ └── utils/cliPrinter.ts
├── package.json
├── tsconfig.json
└── README.md🌐 Environment Variables
We recommend storing your OpenAI key in a .env file:
OPENAI_API_KEY=your-openai-keyThen use it in your config:
samtenAiFixer({ apiKey: process.env.OPENAI_API_KEY });🛠 Build
npm run build🚀 Publish (For Maintainers)
npm publish --access public📜 License
MIT — © 2025 Anurag Gautam
🙌 Contributing
Pull requests and discussions welcome! Open issues for bugs, improvements, or feature requests.
