An AI-powered assistant for Solana development, integrated with Solana Playground.
- Smart Contract Generation: Transform ideas into production-ready Rust code.
- Playground Expert: Get guidance on Solana Playground features.
- Interactive Learning: Master Solana concepts through natural dialogue.
- Code Companion: Instant help with code reviews and debugging.
- Quick Answers: Context-aware responses about Solana development.
- Development Guide: AI-powered recommendations for best practices.
- Frontend: React + TypeScript + Vite + TailwindCSS
- Backend: Node.js + Express + TypeScript + FastAPI
- Database: PostgreSQL with Prisma ORM
- AI: LangChain + OpenAI
- Vector Store: Qdrant
git clone https://github.com/ThisChirag/solana-ai-agent
cd solana-pg-assistant
Create .env
files:
DATABASE_URL="postgresql://..."
OPENAI_API_KEY="your-key"
QDRANT_URL="http://localhost:6333"
GITHUB_CLIENT_ID="your-id"
GITHUB_CLIENT_SECRET="your-secret"
VITE_BACKEND_URL="http://localhost:3000"
# Install API dependencies
cd api
pnpm install
# Install Frontend dependencies
cd ../frontend
pnpm install
# Install Embeddings Generator dependencies
cd ../embeddings-generator
pnpm install
cd api
npx prisma migrate dev
cd embeddings-generator
pnpm tsc
node dist/index.js
# Start API server
cd api
pnpm dev
# Start Frontend
cd frontend
pnpm dev
api/ # Backend API
├── src/
├── controllers/ # Request handlers
├── services/ # Business logic
├── utils/ # Helper functions
frontend/ # React frontend
├── src/
├── components/ # UI components
├── routes/ # Page routes
embeddings-generator/ # Knowledge base processor
- Chat Interface: Implements real-time conversation with code highlighting.
- Vector Search: Uses Qdrant for semantic search of Solana documentation.
- Smart Contract Generation: AI-powered code generation with context.
- History Tracking: Maintains chat history in PostgreSQL.
- GitHub OAuth for authentication (will add gradually)
- Environment variable protection
- Input sanitization
- Rate limiting (in progress)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.