DecaFix
A utility that provides AI-powered error fixing suggestions for your JavaScript/TypeScript code.
Installation
npm install deca-fix
Setup
You'll need to set up environment variables for the API key. Create a .env file in your project root:
GROQ_API_KEY=your_groq_api_key_here
or whatever provider you are using
Usage
CommonJS (Node.js scripts)
require('dotenv').config();
const { DecaFix } = require('deca-fix');
const decaFix = new DecaFix({
apiKey: process.env.GROQ_API_KEY,
baseUrl: "https://api.groq.com/openai/v1",
model: "meta-llama/llama-4-maverick-17b-128e-instruct"
});
async function main() {
try {
const fs = require('fs');
const content = fs.readFileSync('non-existent-file.txt', 'utf8');
console.log(content);
} catch (error) {
await decaFix.suggestFix(error);
}
}
main();
ES Modules (React, Next.js, etc.)
import { config } from 'dotenv';
import { DecaFix } from 'deca-fix';
config();
const decaFix = new DecaFix({
apiKey: process.env.GROQ_API_KEY,
baseUrl: "https://api.groq.com/openai/v1",
model: "meta-llama/llama-4-maverick-17b-128e-instruct"
});
function MyComponent() {
const handleApiCall = async () => {
try {
const response = await fetch('/api/non-existent-endpoint');
const data = await response.json();
} catch (error) {
await decaFix.suggestFix(error);
}
};
return (
<button onClick={handleApiCall}>Make API Call</button>
);
}
export default MyComponent;
How It Works
DecaFix uses LLMs (specifically Llama 4 Maverick by default) to analyze JavaScript/TypeScript errors and provide code fixes. It:
- Captures the error and its stack trace
- Identifies the most relevant part of the stack trace
- Uses AI to generate a suggested fix
- Outputs the suggestion to the console
Configuration Options
When initializing DecaFix, you can provide the following options:
const decaFix = new DecaFix({
apiKey: process.env.GROQ_API_KEY,
baseUrl: "https://api.groq.com/openai/v1",
model: "meta-llama/llama-4-maverick-17b-128e-instruct",
});
Dependencies
- deca-chat: The base chat interface used by DecaFix
- dotenv: For loading environment variables
License
MIT