Transform your code into beautifully documented dreams!
Experience the magic of AI-powered documentation with Dreamdocs. Turn your silent code into eloquent, professional documentation that speaks volumes. Powered by Groq AI for lightning-fast, context-aware comment generation.
- 🤖 AI-Powered Magic: Leverages Groq's ultra-fast AI models
- 📝 Dream JSDoc: Complete function documentation with
@param,@returns,@throws, and@example - 💭 Thoughtful Comments: Smart inline explanations that make your code speak
- 🔄 Smart Refactoring: Automatically improve variable and function names with AI
- ⚡ Instant Dreams: Lightning-fast generation with simple shortcuts
- 🎯 Mind Reader: Understands your code's intent and context
- 🔒 Secure Vault: API key stored safely in VS Code's secret storage
Search for "Dreamdocs" in VS Code Extensions or install from VS Code Marketplace
- Get your free API key from Groq Console
- Open Command Palette (
Ctrl+Shift+P) - Run "Set Groq API Key"
- Enter your magical key
Ctrl+Shift+D- Dream up JSDoc documentationCtrl+Shift+C- Whisper inline commentsCtrl+Shift+N- Refactor namingCtrl+Shift+L- Add smart debug logs (NEW!) 🐛
Place your cursor inside any function and press Ctrl+Shift+D:
// Before - Silent code
async function createUser(userData, options) {
// Your mysterious function
}
// After - Dreams come true ✨
/**
* Creates a new user account with the provided user data and configuration options.
* @param {Object} userData - The user information object containing personal details
* @param {string} userData.name - The user's full name
* @param {string} userData.email - The user's email address
* @param {Object} options - Configuration options for user creation
* @param {boolean} options.sendWelcomeEmail - Whether to send a welcome email
* @returns {Promise<User>} A promise that resolves to the created user object
* @throws {ValidationError} When user data validation fails
* @throws {DatabaseError} When database operation fails
* @example
* const user = await createUser(
* { name: 'John Doe', email: 'john@example.com' },
* { sendWelcomeEmail: true }
* );
*/
async function createUser(userData, options) {
// Your mysterious function
}Place your cursor on any line and press Ctrl+Shift+C:
// Before - Cryptic code
const hashedPassword = await bcrypt.hash(password, 10);
// After - Crystal clear ✨
// Hash the password using bcrypt with a salt rounds of 10 for security
const hashedPassword = await bcrypt.hash(password, 10);Place your cursor inside any function and press Ctrl+Shift+N:
// Before - Cryptic names
function calc(a, b, c) {
let x = a * b;
let y = x + c;
return y;
}
// After - Crystal clear names ✨
function calculateProductAndSum(baseAmount, multiplier, additionalFee) {
const product = baseAmount * multiplier;
const total = product + additionalFee;
return total;
}Place your cursor inside any function and press Ctrl+Shift+L:
// Before - Silent debugging
async function processPayment(amount, userId) {
const user = getUserById(userId);
if (!user) {
throw new Error('User not found');
}
const balance = user.getBalance();
if (balance < amount) {
return { success: false, reason: 'insufficient_funds' };
}
const result = chargeCard(user.cardId, amount);
return { success: true, transactionId: result.id };
}
// After - Smart debug logs ✨
async function processPayment(amount, userId) {
console.log('🚀 [processPayment] Starting with:', { amount, userId });
const user = getUserById(userId);
console.log('👤 [processPayment] User lookup result:', { found: !!user, userId });
if (!user) {
console.error('❌ [processPayment] User not found:', { userId });
throw new Error('User not found');
}
const balance = user.getBalance();
console.log('💰 [processPayment] Current balance:', { balance, required: amount });
if (balance < amount) {
console.warn('⚠️ [processPayment] Insufficient funds:', { balance, amount });
return { success: false, reason: 'insufficient_funds' };
}
const result = chargeCard(user.cardId, amount);
console.log('✅ [processPayment] Payment successful:', { transactionId: result.id });
return { success: true, transactionId: result.id };
}- JavaScript
- TypeScript
- More languages coming to your dreams soon!
| Command | Shortcut | Description |
|---|---|---|
| Generate JSDoc Comment | Ctrl+Shift+D |
Dreams up comprehensive JSDoc documentation |
| Generate Inline Comment | Ctrl+Shift+C |
Whispers explanatory comments into existence |
| Refactor Naming | Ctrl+Shift+N |
Transforms cryptic names into meaningful ones |
| Add Smart Debug Logs | Ctrl+Shift+L |
Adds intelligent debug logs at critical points |
| Remove Debug Logs | - | Cleans up all debug logs from your code |
| Set Groq API Key | - | Configure your magical API key |
| Test Groq Connection | - | Verify your connection to the dream realm |
No complex setup needed! Just set your API key and let the dreams begin.
Found a bug or have a dream feature request?
MIT License - see LICENSE file for details.
- Powered by Groq AI for ultra-fast inference
- Built with ✨ and dreams for the developer community
⭐ If Dreamdocs makes your code dreams come true, please star us on GitHub!