Dreamdocs ✨
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.

🌟 Features
- 🤖 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
🚀 Quick Start
1. Install
Search for "Dreamdocs" in VS Code Extensions or install from VS Code Marketplace
2. Setup Your Dreams
- Get your free API key from Groq Console
- Open Command Palette (
Ctrl+Shift+P)
- Run "Set Groq API Key"
- Enter your magical key
3. Start Dreaming!
Ctrl+Shift+D - Dream up JSDoc documentation
Ctrl+Shift+C - Whisper inline comments
Ctrl+Shift+N - Refactor naming
Ctrl+Shift+L - Add smart debug logs (NEW!) 🐛
📖 Dream Examples
JSDoc Dreams
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
}
Inline Dreams
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);
Naming Dreams
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;
}
Debug Dreams 🐛
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 };
}
🎯 Supported Languages
- JavaScript
- TypeScript
- More languages coming to your dreams soon!
⚙️ Dream Commands
| 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 |
🔧 Configuration
No complex setup needed! Just set your API key and let the dreams begin.
🤝 Join the Dream
Found a bug or have a dream feature request?
📄 License
MIT License - see LICENSE file for details.
🙏 Dream Team
- 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!