Nebula transforms complicated repositories into elegant documentation with AI-powered analysis. It automatically generates professional READMEs, technical articles, and social media content from your code, saving countless hours of manual documentation work. With just a URL, unlock comprehensive insights into any repository's architecture, features, and implementation details.
Nebula transforms complex code into clear, comprehensive documentation that makes your projects accessible to everyone.
Nebula is a powerful documentation generation tool that analyzes GitHub repositories and creates comprehensive documentation automatically. The platform uses advanced AI to understand code structure, extract meaningful insights, and generate various documentation formats that are ready to use.
The application addresses the challenge developers face when needing to create and maintain documentation for their projects. Instead of spending hours writing READMEs, technical articles, and other documentation, Nebula allows you to generate professional content with just one click.
- π Save Time: Reduce documentation time from hours to minutes
- π Improve Developer Experience: Make your projects more accessible to contributors
- π€ Enhance Collaboration: Clear documentation facilitates better team collaboration
- π Increase Project Visibility: Well-documented repos attract more users and contributors
Deep analysis of code structure, dependencies, and patterns using advanced machine learning models to extract meaningful insights.
Create professional README files with all necessary sections structured according to best practices in documentation.
Generate detailed technical articles about implementation, architecture decisions, and code patterns found in your repository.
Categorize documentation by type and purpose, making it easy to find specific information about your codebase.
Easily edit specific sections of your documentation without having to rewrite everything from scratch.
See rendered markdown as you work, ensuring your documentation looks great before publishing.
Download documentation in markdown format for easy integration into your GitHub repositories.
Access previously generated documentation for all your repositories in one centralized location.
Comfortable viewing in any environment with seamless theme switching to match your preferences.
Interact with your codebase through natural language queries to quickly find information and generate documentation.
|
Next.js |
React |
TailwindCSS |
Node.js |
Express |
|
MongoDB |
Clerk Auth |
Custom NLP Models |
Vercel |
Railway |
|
React Markdown |
Lucide Icons |
Solidity |
ThirdWeb |
TypeScript |
Nebula follows a modern microservices architecture with the following key components:
erDiagram
User {
string id PK
string clerkId UK
string email UK
string name
string username
string avatar
string githubUsername
object preferences
date createdAt
date updatedAt
}
RepoSummaryModel {
string id PK
string userId FK
string repoUrl
array files
string projectIdea
string projectSummary
object techStacks
string[] keyFeatures
string[] potentialIssues
string feasibility
date createdAt
date updatedAt
}
RepoEmbeddingModel {
string id PK
string userId FK
string repoUrl
string pageContent
number[] embeddings
date createdAt
date updatedAt
}
ReadmeContent {
string id PK
string userId FK
string repoUrl
array posts
date createdAt
date updatedAt
}
User ||--o{ RepoSummaryModel : creates
User ||--o{ RepoEmbeddingModel : owns
User ||--o{ ReadmeContent : generates
RepoSummaryModel ||--o{ RepoEmbeddingModel : hasEmbeddings
RepoSummaryModel ||--o{ ReadmeContent : hasReadmeContent
Nebula uses Clerk for secure user authentication with support for multiple providers:
- Email/Password
- OAuth (GitHub, Google)
- Session management
The system analyzes repositories through:
- Code structure parsing
- Dependency analysis
- Feature extraction
- Technology stack identification
- Node.js v16.x or later
- MongoDB instance (local or cloud)
- Clerk account for authentication
- Git
# Clone the repository
git clone https://github.com/K-is-SAD/Github
# Navigate to project directory
cd Github# Create environment file from example
cp .env.example .env
# Open the file and add your credentials
# nano .env or open in your favorite editor| Variable Name | Description | Where to Get It |
|---|---|---|
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Public key for Clerk authentication | Clerk Dashboard |
CLERK_SECRET_KEY |
Secret key for Clerk authentication | Clerk Dashboard |
MONGODB_URI |
MongoDB connection string | MongoDB Atlas or local installation |
WEBHOOK_SECRET |
Secret for webhook verification | Generate a random string |
API_URL |
Backend API URL | Your backend deployment URL |
NEXT_PUBLIC_PYTHON_BACKEND_URL |
Python backend service URL | Python backend deployment URL |
Get started with Nebula in just a few steps
Sign In
Add Repository
Analyze
Generate Content
Export
Sign in with your account using Clerk authentication
Navigate to the editor page from the main navigation menu
Click "Set Repository URL" and enter or select a GitHub repository URL from the dropdown
Wait for analysis as the system analyzes the repository and generates documentation
Review and edit the generated content as needed before saving or exporting
Save or export your documentation for future reference or immediate use
Use the "Edit" mode to modify content with a full-featured markdown editor
Click the Code icon in the editor to switch to edit mode
Edit individual sections or the entire document based on your needs
Click on any section in the sidebar to focus on editing just that part
Access content from the sidebar to view previously generated documentation
Browse by category to find specific types of documentation (READMEs, Articles, Social Media, etc.)
View, copy, or delete individual documents as needed for your workflow
Delete all contents for a repository if you need to start fresh with new analysis
βββ components.json
βββ eslint.config.mjs
βββ next-env.d.ts
βββ next.config.ts
βββ package.json
βββ postcss.config.mjs
βββ README.md
βββ requirements.txt
βββ tsconfig.json
βββ public/
βββ src/
src/
βββ middleware.ts
βββ app/ # Next.js App Router
β βββ api/ # API Routes
β β βββ allrepos/
β β βββ chat/
β β βββ delete-all-contents/
β β βββ editor/
β β βββ purchaseProduct/
β β βββ readme-content/
β β βββ reposummary/
β β βββ webhooks/
β βββ chat/ # Chat page
β βββ codebase/ # Codebase page
β βββ editor/ # Editor page
β βββ faqs/ # FAQs page
β βββ payments/ # Payments page
β βββ pricing/ # Pricing page
β βββ profile/ # User profile page
β βββ readme/ # README page
β βββ sign-in/ # Sign-in page
β βββ sign-up/ # Sign-up page
βββ assets/ # Static assets and data
β βββ data.ts
β βββ faq.ts
βββ components/ # React components
β βββ theme-provider.tsx
β βββ codeBlock/
β βββ codeBlockMobile/
β βββ grids/
β βββ Header/
β βββ sidebar/
β βββ toggle/
β βββ ui/ # UI components
βββ formats/ # Template formats
β βββ articleTemplate.md
β βββ hackathonPresentationTemplate.md
β βββ linkedInTemplate.txt
β βββ pitchTemplate.txt
β βββ readmeTemplate.md
β βββ XTemplate.txt
βββ lib/ # Library code and utilities
β βββ connectDatabase.ts
β βββ utils.ts
β βββ db/ # Database operations
β βββ dbutils/ # Database utilities
βββ models/ # Database models
β βββ ReadmeContent.ts
β βββ repoEmbeddings.ts
β βββ reposummary.ts
β βββ User.ts
βββ payments/ # Payment integration
β βββ lemonsqueezy.ts
βββ prompts/ # AI prompts for content generation
β βββ findkeywords_prompt.ts
β βββ generateArticle_pompt.ts
β βββ generateLinkedIn_prompt.ts
β βββ generatePitch_prompt.ts
β βββ generatePPT_prompt.ts
β βββ generateReadme_prompt.ts
β βββ generateX_prompt.ts
β βββ getCategory_prompt.ts
βββ utils/ # Utility functions
βββ findkeywords.ts
βββ generateArticle.ts
βββ generateLinkedin.ts
βββ generatePitch.ts
βββ generatePPTContent.ts
βββ generateReadme.ts
βββ generateTweet.ts
βββ getCategory.ts
βββ jsonConverter.ts
public/
βββ file.svg
βββ globe.svg
βββ logo.png
βββ next.svg
βββ vercel.svg
βββ window.svg
βββ images/
βββ video.webp
- Description: Fetch all repositories for authenticated user
- Parameters: None
- Headers:
Authorization: Bearer <token> - Response: Array of repository objects
- Example:
[ { "id": "1", "name": "repo-name", "url": "https://github.com/user/repo", "description": "Repository description" } ]
- Description: Analyze a GitHub repository
- Body:
{ "repoUrl": "https://github.com/{{username}}/{{repo}}" } - Response: Analysis results
- Example Response:
{ "id": "analysis-123", "summary": "Project summary...", "techStack": ["React", "Node.js"], "features": ["Feature 1", "Feature 2"] }
- Description: Get README content for a repository
- Parameters: Repository URL encoded in the path
- Response: Array of README content objects grouped by category
- Example Response:
{ "success": true, "data": [ { "_id": "category1", "posts": [ { "_id": "post1", "content": "# Heading\nContent...", "createdAt": "2023-04-20T12:00:00Z" } ] } ] }
Click the "Set Repository URL" button at the top of the editor and select from your previously analyzed repositories in the dropdown. Once connected, you'll see the repository URL displayed as a pill below the selector.
Make sure you're using proper markdown syntax. If code blocks aren't rendering, verify they have the correct triple backtick format with language specification. You can toggle between "Edit" and "Preview" modes using the buttons at the top of the editor.
```javascript for JavaScript code blocks.
Click the "Save" button at the bottom of the editor. When successfully saved, you'll briefly see a green "Saved" confirmation message appear. Your content will be stored under the selected repository and category.
Yes! Click the "Export" button at the bottom left of the editor to download your content as a markdown (.md) file. The file will be named based on your document title with spaces replaced by hyphens.
When content is generated or loaded, it's automatically divided into logical sections based on markdown headings. You can edit each section independently, and changes will be reflected in the full document preview.
Yes, Nebula supports private repositories if you connect your GitHub account and have appropriate access permissions. You'll need to authenticate with GitHub when analyzing private repositories.
Nebula supports all major programming languages including JavaScript, TypeScript, Python, Java, C++, Go, Rust, PHP, Ruby, and many more. The AI model is trained on a wide variety of codebases.
Navigate to the Chat page, select your repository, and start asking questions about your codebase. The AI will respond based on its analysis of your repository structure, code patterns, and documentation.
Nebula integrates with blockchain technology to provide decentralized documentation services:
Turn your documentation into NFTs that can be owned, transferred, and monetized.
Nebula uses several smart contracts to power its Web3 functionality:
| Contract Name | Purpose | Network |
|---|---|---|
| DocRegistry | Manages documentation ownership and access rights | Ethereum |
| NebulaAccess | Controls access to premium features through token gating | Polygon |
| ContentNFT | NFT collection for documentation ownership | Ethereum/Polygon |
For more information about the Web3 implementation, check out our demo video:
Watch Web3 DemoFrom individual developers to enterprise teams, we have flexible pricing options to match your requirements
- 5 repositories
- Basic README generation
- Standard templates
- 7-day history
- Community support
- 20 repositories
- Advanced README templates
- Technical article generation
- Social media content
- 30-day history
- Priority support
- Unlimited repositories
- Custom templates
- Team collaboration tools
- API access
- Unlimited history
- Dedicated support
- SSO integration
Contact our sales team for custom enterprise pricing tailored to your organization's needs.
Contact SalesWe welcome contributions from the community to help make Nebula even better! There are many ways you can contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Report bugs through GitHub Issues with steps to reproduce, expected behavior, and actual behavior.
Suggest new features or improvements through GitHub Issues with detailed descriptions.
See the contributing guidelines for more details.
This project is licensed under the MIT License - a permissive license that allows you to freely use, modify, distribute, and private use the software with very limited restrictions.
Copyright (c) 2024 TEAM OPCODE
Have questions, suggestions, or just want to chat about Nebula? We'd love to hear from you!
We're constantly improving Nebula based on your feedback. Have suggestions or found a bug? Let us know!


