Skip to content

K-is-SAD/Github

Repository files navigation

Nebula ✨

Nebula Logo

Transform Code into Comprehensive Documentation with AI

Next.js MongoDB Clerk TailwindCSS

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.

🎬 Demos & Resources

Demo Videos

1. Full Demo Video:

View Full Demo Video

2. Pitch Video:

View Full Pitch Video

Project Repositories

Nebula Frontend

Main repository with Next.js frontend components

View Repository

Nebula Backend

Backend API services and database connections

View Repository

Nebula Contracts

Smart contracts for Web3 functionality

View Repository

Nebula DApp

Decentralized application interface

View Repository

Your code tells a story. We just make sure everyone understands it.

Nebula transforms complex code into clear, comprehensive documentation that makes your projects accessible to everyone.

πŸ“‘ Table of Contents

πŸš€ Overview

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.

Why Nebula?

  • πŸ“Š 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

πŸ”₯ Key Features

πŸ€– AI-Powered Repository Analysis

Deep analysis of code structure, dependencies, and patterns using advanced machine learning models to extract meaningful insights.

πŸ“ Automated README Generation

Create professional README files with all necessary sections structured according to best practices in documentation.

πŸ“š Technical Article Creation

Generate detailed technical articles about implementation, architecture decisions, and code patterns found in your repository.

πŸ—‚οΈ Content Organization

Categorize documentation by type and purpose, making it easy to find specific information about your codebase.

✏️ Section-Based Editing

Easily edit specific sections of your documentation without having to rewrite everything from scratch.

πŸ‘οΈ Preview Mode

See rendered markdown as you work, ensuring your documentation looks great before publishing.

πŸ“₯ Export Functionality

Download documentation in markdown format for easy integration into your GitHub repositories.

πŸ“œ Repository History

Access previously generated documentation for all your repositories in one centralized location.

πŸŒ“ Dark/Light Mode Support

Comfortable viewing in any environment with seamless theme switching to match your preferences.

πŸ’¬ AI-Powered Chat

Interact with your codebase through natural language queries to quickly find information and generate documentation.

πŸ”— Social Media Integration

Generate professional posts for LinkedIn, Twitter, and other platforms to showcase your projects effectively.

πŸ’» Tech Stack

Next.js
Next.js
React
React
TailwindCSS
TailwindCSS
Node.js
Node.js
Express
Express
MongoDB
MongoDB
Clerk
Clerk Auth
AI/ML
Custom NLP Models
Vercel
Vercel
Railway
Railway
React Markdown
React Markdown
Lucide Icons
Lucide Icons
Solidity
Solidity
ThirdWeb
ThirdWeb
TypeScript
TypeScript

πŸ—οΈ System Architecture

Architecture Overview

Nebula follows a modern microservices architecture with the following key components:

Frontend (Next.js)

User interface for repository analysis and content generation

Backend API (Node.js)

Handles authentication, data management, and content storage

AI Service

Processes code repositories and generates documentation content

Database Layer

MongoDB for data persistence and vector database for embeddings

Data Flow Diagram

Nebula Architecture

Database Schema

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
Loading

Key Components

Authentication System

Nebula uses Clerk for secure user authentication with support for multiple providers:

  • Email/Password
  • OAuth (GitHub, Google)
  • Session management

Repository Analysis

The system analyzes repositories through:

  • Code structure parsing
  • Dependency analysis
  • Feature extraction
  • Technology stack identification

Content Generation

AI-powered content generation includes:

  • README documents
  • Technical articles
  • Social media posts
  • Project presentations
```

πŸ“₯ Installation

Prerequisites

  • Node.js v16.x or later
  • MongoDB instance (local or cloud)
  • Clerk account for authentication
  • Git

Step 1: Clone the repository

# Clone the repository
git clone https://github.com/K-is-SAD/Github

# Navigate to project directory
cd Github

Step 2: Install dependencies

# Install all required packages
npm install

Step 3: Configure environment

# Create environment file from example
cp .env.example .env

# Open the file and add your credentials
# nano .env or open in your favorite editor

Step 4: Start development server

# Run the development server
npm run dev

# The app will be available at http://localhost:3000

Required Environment Variables

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

πŸ“– Usage

πŸš€ Quick Start Guide

Get started with Nebula in just a few steps

1

Sign In

2

Add Repository

3

Analyze

4

Generate Content

5

Export

πŸ” Analyzing a Repository

1

Sign in with your account using Clerk authentication

2

Navigate to the editor page from the main navigation menu

3

Click "Set Repository URL" and enter or select a GitHub repository URL from the dropdown

4

Wait for analysis as the system analyzes the repository and generates documentation

5

Review and edit the generated content as needed before saving or exporting

6

Save or export your documentation for future reference or immediate use

✏️ Editing Documentation

1. Edit Mode

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

2. Preview Mode

Toggle to "Preview" mode to see how your markdown will render when published

Click the Eye icon in the editor to switch to preview mode

3. Section-Based Editing

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

4. Save & Export

Save changes with the "Save" button or export to markdown with the "Export" button

Look for these buttons at the bottom of the editor interface

πŸ“‚ Managing Repository Content

1

Access content from the sidebar to view previously generated documentation

2

Browse by category to find specific types of documentation (READMEs, Articles, Social Media, etc.)

3

View, copy, or delete individual documents as needed for your workflow

4

Delete all contents for a repository if you need to start fresh with new analysis

πŸ“ Project Structure

Root Structure

β”œβ”€β”€ 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 folder

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 directory

public/
β”œβ”€β”€ file.svg
β”œβ”€β”€ globe.svg
β”œβ”€β”€ logo.png
β”œβ”€β”€ next.svg
β”œβ”€β”€ vercel.svg
β”œβ”€β”€ window.svg
└── images/
    └── video.webp

πŸ”Œ API Reference

GET /api/allrepos

  • 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"
      }
    ]

POST /api/analyze

  • 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"]
    }

GET /api/readme-content/:repoUrl

  • 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"
            }
          ]
        }
      ]
    }

πŸ” FAQ

How do I set up a repository for documentation?

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.

Tip: You can also paste a GitHub URL directly if the repository isn't in your history yet.

Why isn't my markdown preview displaying correctly?

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.

Example: Use ```javascript for JavaScript code blocks.

How do I save my content?

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.

Note: Content is autosaved periodically, but manual saving ensures all changes are preserved.

Can I export my documentation?

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.

Pro Tip: You can directly copy the markdown to your clipboard using the copy button in the preview mode.

How does section-based editing work?

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.

Benefit: This makes managing large documents much more efficient.

Can I use Nebula for private repositories?

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.

Security Note: Your repository code is analyzed securely and never shared with third parties.

What programming languages does Nebula support?

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.

Best Results: JavaScript, TypeScript, Python, and Java currently have the most accurate analysis.

How do I chat with my codebase?

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.

Try asking: "Explain how the authentication flow works" or "What are the main features?"

⛓️ Web3 Integration

Blockchain-Powered Documentation Platform

Nebula Web3 Project Overview

Nebula's Web3 integration architecture showing core components and value proposition

Blockchain Features

Nebula integrates with blockchain technology to provide decentralized documentation services:

πŸ“œ NFT Documentation

Turn your documentation into NFTs that can be owned, transferred, and monetized.

πŸ’° Token-Based Access

Control access to premium documentation features through token ownership.

πŸ”„ Decentralized Storage

Store documentation on decentralized networks for permanent availability.

Smart Contracts

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 Demo

πŸ“Έ Screenshots

Experience Nebula in Action

Repository Analysis Dashboard

Repository Analysis Dashboard

AI-powered analysis of your repository structure and code patterns.

Documentation Editor

Documentation Editor

Feature-rich markdown editor with preview mode and section-based editing.

AI Chat Interface

AI Chat Interface

Chat with your codebase to get insights and generate documentation.

Web3 Integration

Web3 Integration

Blockchain integration for documentation ownership and access control.

πŸ›£οΈ Roadmap

Q2 2025

GitHub Integration Phase

  • GitHub integration for direct commit of documentation
  • PR-based workflow for documentation updates
  • Repository webhook integration
Q3 2025

Collaboration Features

  • Team collaboration features
  • Custom template builder
  • Advanced document versioning
Q4 2025

Advanced AI Features

  • AI-powered documentation recommendations
  • Support for additional documentation formats (PDF, HTML)
  • Enhanced code analysis with security insights
Q1 2026

Global Expansion

  • Multilingual documentation generation
  • API for third-party integrations
  • Developer plugins for popular IDEs

πŸ’° Pricing Plans

Choose the Right Plan for Your Documentation Needs

From individual developers to enterprise teams, we have flexible pricing options to match your requirements

Free

$0

Perfect for individual developers

  • 5 repositories
  • Basic README generation
  • Standard templates
  • 7-day history
  • Community support
Get Started Free
POPULAR

Pro

$19/month

For professional developers

  • 20 repositories
  • Advanced README templates
  • Technical article generation
  • Social media content
  • 30-day history
  • Priority support
Upgrade to Pro

Enterprise

Custom

For teams and organizations

  • Unlimited repositories
  • Custom templates
  • Team collaboration tools
  • API access
  • Unlimited history
  • Dedicated support
  • SSO integration
Contact Sales

Need a custom solution?

Contact our sales team for custom enterprise pricing tailored to your organization's needs.

Contact Sales

πŸ‘₯ Contributing

We welcome contributions from the community to help make Nebula even better! There are many ways you can contribute:

Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🐞 Bug Reports

Report bugs through GitHub Issues with steps to reproduce, expected behavior, and actual behavior.

πŸ’‘ Feature Requests

Suggest new features or improvements through GitHub Issues with detailed descriptions.

πŸ“ Documentation

Help improve our documentation, fix typos, clarify instructions, or add examples.

See the contributing guidelines for more details.

πŸ‘¨β€πŸ’» Contributors

Thanks to all our contributors!

πŸ“œ License

MIT License

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

View Full License

πŸ“¬ Contact

Get in Touch

Have questions, suggestions, or just want to chat about Nebula? We'd love to hear from you!

Support & Feedback

We're constantly improving Nebula based on your feedback. Have suggestions or found a bug? Let us know!

Nebula Logo

Built with ❀️ by TEAM OPCODE

Β© 2025 Nebula. All rights reserved.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5