Skip to content

kiskee/Dreamdocs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Dreamdocs Demo

🌟 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

  1. Get your free API key from Groq Console
  2. Open Command Palette (Ctrl+Shift+P)
  3. Run "Set Groq API Key"
  4. 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!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published