Skip to main content
Glama

AutoDev Codebase MCP Server

by anrgct
simple-demo.ts3.4 kB
#!/usr/bin/env node /** * Simple demo script that showcases the codebase library without external dependencies * This script demonstrates basic functionality without requiring Ollama or Qdrant */ import path from 'path' import { createNodeDependencies } from '../adapters/nodejs' import { CodeIndexManager } from '../code-index/manager' import createSampleFiles from './create-sample-files'; // Configuration const DEMO_FOLDER = path.join(process.cwd(), 'demo-simple') async function main() { console.log('🚀 Starting Simple Autodev Codebase Demo') console.log('📁 Demo folder:', DEMO_FOLDER) console.log('=' .repeat(50)) try { // 1. Create Node.js dependencies with minimal config const dependencies = createNodeDependencies({ workspacePath: DEMO_FOLDER, storageOptions: { globalStoragePath: path.join(process.cwd(), '.autodev-storage'), }, loggerOptions: { name: 'Simple-Demo', level: 'info', timestamps: true, colors: true }, configOptions: { configPath: path.join(DEMO_FOLDER, '.autodev-config.json'), defaultConfig: { isEnabled: false, // Disable to avoid requiring external services isConfigured: false, embedder: { provider: "openai", apiKey: '', model: 'text-embedding-3-small', dimension: 1536, } } } }) // 2. Check if demo folder exists, create if not const demoFolderExists = await dependencies.fileSystem.exists(DEMO_FOLDER) if (!demoFolderExists) { console.log('📁 Creating demo folder...') const fs = require('fs') fs.mkdirSync(DEMO_FOLDER, { recursive: true }) // Create some sample files for demonstration await createSampleFiles(dependencies.fileSystem, DEMO_FOLDER) } // 3. Initialize configuration console.log('⚙️ Initializing configuration...') await dependencies.configProvider.loadConfig() // 4. Demonstrate basic functionality without indexing console.log('📊 Testing basic file system operations...') await demonstrateFileSystem(dependencies.fileSystem, DEMO_FOLDER) console.log('✅ Demo completed successfully!') console.log('Note: To enable full indexing, you need to:') console.log('1. Start Ollama service: ollama serve') console.log('2. Start Qdrant service: docker run -p 6333:6333 qdrant/qdrant') console.log('3. Use the full run-demo.ts script') } catch (error) { console.error('❌ Error in demo:', error) process.exit(1) } } async function demonstrateFileSystem(fileSystem: any, demoFolder: string) { console.log('📖 Reading sample files...') const files = ['hello.js', 'utils.py', 'README.md'] for (const filename of files) { const filePath = path.join(demoFolder, filename) const exists = await fileSystem.exists(filePath) if (exists) { const content = await fileSystem.readFile(filePath) const text = new TextDecoder().decode(content) const lines = text.split('\n').length console.log(` 📄 ${filename}: ${lines} lines, ${content.length} bytes`) } else { console.log(` ❌ ${filename}: Not found`) } } } // Run the demo if (require.main === module) { main().catch(console.error) } export { main as runSimpleDemo }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anrgct/autodev-codebase'

If you have feedback or need assistance with the MCP directory API, please join our Discord server