Skip to content

Sidcom-AB/aloha-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍍 Aloha Framework Marketplace

A modern documentation marketplace for web frameworks with AI-first MCP integration

Discover, explore, and share framework documentation in a beautiful marketplace. No more table_of_contents.json - just push your docs to GitHub and let Auto-Discovery handle the rest!

✨ Features

  • πŸš€ Framework Marketplace - Beautiful gallery of framework documentations
  • πŸ” Auto-Discovery - Automatically finds and categorizes .md and .schema.json files
  • πŸ€– MCP Server - Claude Code integration for AI assistance
  • 🌐 GitHub Native - Direct loading from GitHub repositories
  • 🎨 Modern UI - Stunning pill-style navigation with smooth animations
  • πŸ” Private Repo Support - Per-repository token authentication
  • πŸ“š Smart Categorization - Folder structure becomes navigation

πŸš€ Quick Start

npm install
npm start

Visit http://localhost:3000 to see the marketplace!

πŸ“š How It Works

No More table_of_contents.json! πŸŽ‰

The system uses Auto-Discovery to automatically find and organize your documentation:

your-repo/
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ getting-started/        β†’ "Getting Started" section
β”‚   β”‚   β”œβ”€β”€ introduction.md
β”‚   β”‚   └── installation.md
β”‚   β”œβ”€β”€ components/             β†’ "Components" section
β”‚   β”‚   β”œβ”€β”€ button.schema.json
β”‚   β”‚   └── card.schema.json
β”‚   β”œβ”€β”€ api/                    β†’ "API" section
β”‚   β”‚   └── methods.md
β”‚   └── aloha.json             β†’ Optional metadata

Optional: aloha.json for Customization

Add an aloha.json file for custom metadata and ordering:

{
  "title": "My Amazing Framework",
  "description": "The best framework ever",
  "logo": "assets/logo.png",
  "categories": {
    "getting-started": {
      "title": "πŸš€ Quick Start",
      "order": 1
    },
    "components": {
      "title": "🧩 Components",
      "order": 2
    }
  }
}

🎯 Adding Your Framework

Via the Marketplace UI

  1. Click "+ Add Framework" button
  2. Enter your GitHub repository URL
  3. (Optional) Add GitHub token for private repos
  4. Click Auto-Discover to validate
  5. Submit!

What Gets Auto-Discovered

  • Markdown Files (.md) β†’ Documentation pages
  • Schema Files (.schema.json) β†’ Component definitions
  • Folder Names β†’ Navigation categories
  • File Names β†’ Page titles (prettified)

πŸ€– MCP Integration

Connect with Claude Code

{
  "mcpServers": {
    "aloha": {
      "command": "node",
      "args": ["server/index.js"],
      "cwd": "/path/to/aloha-framework"
    }
  }
}

MCP Routing Hierarchy

  • / β†’ Access all frameworks
  • /framework-id β†’ Specific framework
  • /framework-id/child β†’ Sub-framework

RAG search works hierarchically - searching downward in the tree only.

πŸ“ Project Structure

aloha-framework/
β”œβ”€β”€ server/
β”‚   └── modules/
β”‚       β”œβ”€β”€ auto-discovery.js      # Smart doc detection
β”‚       β”œβ”€β”€ github-loader.js       # GitHub API client
β”‚       β”œβ”€β”€ repository-manager.js  # Framework management
β”‚       └── mcp-router.js          # Hierarchical routing
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ index.html                 # Marketplace
β”‚   β”œβ”€β”€ framework.html             # Doc viewer
β”‚   └── css/
β”‚       └── navbar-pill.css        # Beautiful navigation
└── config/
    └── repositories.json          # Stored frameworks

πŸ”§ Component Schema Format

For components, use the standard JSON Schema format:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Button Component",
  "description": "A versatile button component",
  "tagName": "x-button",
  
  "properties": {
    "variant": {
      "type": "string",
      "enum": ["primary", "secondary"],
      "description": "Button style variant"
    }
  },
  
  "events": [
    {
      "name": "click",
      "description": "Fired on click"
    }
  ],
  
  "examples": [
    {
      "title": "Basic Button",
      "code": "<x-button>Click me</x-button>"
    }
  ]
}

🌟 Best Practices

DO's βœ…

  • Use descriptive folder names (they become categories)
  • Keep related docs in the same folder
  • Add aloha.json for custom branding
  • Include examples in your schemas
  • Use meaningful file names

DON'Ts ❌

  • Don't use table_of_contents.json (deprecated)
  • Don't nest folders too deep (max 3 levels)
  • Don't mix docs with source code
  • Don't forget descriptions in schemas

πŸ”Œ API Endpoints

Endpoint Description
GET / Marketplace homepage
GET /api/repositories List all frameworks
POST /api/repos Add new framework
POST /api/discover Auto-discover docs
GET /api/repos/:id Framework details
GET /:framework-id View framework docs

πŸ› οΈ Configuration

Repository Storage

Frameworks are stored in config/repositories.json:

{
  "repositories": [
    {
      "id": "my-framework",
      "name": "My Framework",
      "url": "https://github.com/user/repo/tree/main/docs",
      "encryptedToken": "...",  // For private repos
      "enabled": true
    }
  ]
}

Environment Variables

# Optional - for higher GitHub API rate limits
GITHUB_TOKEN=ghp_your_token_here

# Server port
PORT=3000

🚒 Deployment

Docker

FROM node:18
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]

Vercel/Netlify

Deploy the public folder as static site and server as serverless functions.

🀝 Contributing

We love contributions! Feel free to:

  1. Add your framework to the marketplace
  2. Improve the UI/UX
  3. Add new features
  4. Report bugs

πŸ“„ License

MIT - Use freely in your projects!


Built with 🍍 by the Aloha team for the developer community

About

Aloha Docs - Framework Documentation and MCP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published