Getting Started
Get up and running with Hermes in minutes
Getting Started
Welcome to Hermes - a professional, production-ready documentation website kit built with Astro. This guide will help you get started with building your documentation site in just a few minutes.
What is Hermes?
Hermes is a complete documentation template designed for:
- Developer tools and APIs
- SDKs and libraries
- SaaS products with documentation needs
- Open-source projects
- AI tools and platforms
It comes with everything you need out of the box: search, dark mode, versioning, MDX support, and more.
Prerequisites
Before you begin, make sure you have:
- Node.js 18+ installed (Download Node.js)
- A package manager (npm, yarn, or pnpm)
- A code editor (VS Code recommended)
- Basic familiarity with Markdown and JavaScript/TypeScript
Quick Start
1. Clone or Download
If youβre using this as a template:
git clone https://github.com/mrebati/hermes-docs-kit.git
cd hermes-docs-kit
Or if youβve purchased/downloaded the kit, extract it and navigate to the directory.
2. Install Dependencies
Choose your preferred package manager:
# Using npm
npm install
# Using yarn
yarn install
# Using pnpm (recommended)
pnpm install
3. Start the Development Server
npm run dev
# or
yarn dev
# or
pnpm dev
The development server will start at http://localhost:4321. Open this URL in your browser to see your documentation site.
4. Make Your First Change
- Open
src/content/docs/getting-started.mdx(this file!) - Make a small edit to see the changes live
- The page will automatically reload in your browser
π Congratulations! Youβre now running Hermes locally.
Project Structure
Understanding the project structure will help you customize your documentation:
hermes-docs-kit/
βββ src/
β βββ components/ # Reusable Astro components
β β βββ mdx/ # MDX-specific components (Callout, Tabs, etc.)
β β βββ Header.astro # Site header
β β βββ Footer.astro # Site footer
β β βββ Sidebar.astro # Navigation sidebar
β β βββ ... # Other components
β βββ content/ # Your documentation content
β β βββ docs/ # Documentation pages (.mdx files)
β β βββ blog/ # Blog posts (optional)
β βββ layouts/ # Page layouts
β β βββ BaseLayout.astro
β β βββ DocLayout.astro
β βββ lib/ # Utility functions
β β βββ navigation.ts # Navigation helpers
β β βββ search.ts # Search functionality
β β βββ utils.ts # General utilities
β βββ pages/ # Astro pages (routing)
β β βββ index.astro # Homepage
β β βββ docs/ # Documentation pages
β β βββ blog/ # Blog pages
β βββ styles/ # Global styles
β βββ config.ts # Site configuration
βββ public/ # Static assets (images, favicons, etc.)
βββ astro.config.mjs # Astro configuration
βββ tailwind.config.mjs # Tailwind CSS configuration
βββ package.json # Dependencies and scripts
Customization
Update Site Information
Edit src/config.ts to customize your site:
export const siteConfig = {
name: 'Your Project Name',
title: 'Your Documentation',
description: 'Your project description',
url: 'https://your-domain.com',
author: {
name: 'Your Name',
email: 'your@email.com',
url: 'https://yourwebsite.com',
},
github: {
repo: 'your-username/your-repo',
editBaseUrl: 'https://github.com/your-username/your-repo/edit/main',
},
// ... more settings
};
Customize Colors
Edit tailwind.config.mjs to match your brand:
theme: {
extend: {
colors: {
primary: {
50: '#f0f9ff',
100: '#e0f2fe',
// ... customize your color palette
900: '#0c4a6e',
},
},
},
}
Add Your Logo
- Add your logo to
public/logo.svg(or.png) - Update
src/components/Header.astroto use your logo
Creating Content
Add a New Documentation Page
Use the CLI script:
npm run new:page my-page-name
Or manually create a file in src/content/docs/:
---
title: My New Page
description: A brief description
order: 5
---
# My New Page
Your content here...
The page will automatically appear in the navigation sidebar based on the order field.
Using MDX Components
Hermes includes powerful MDX components. Hereβs an example:
import { Callout, Tabs, CodeBlock } from '@components/mdx';
<Callout type="info" title="Pro Tip">
This is an informational callout!
</Callout>
<Tabs items={['JavaScript', 'TypeScript', 'Python']}>
<div>JavaScript code here</div>
<div>TypeScript code here</div>
<div>Python code here</div>
</Tabs>
See the API Reference for all available components.
Next Steps
Now that youβre set up, hereβs what to do next:
- Read the Installation Guide for detailed setup instructions
- Check out the API Reference to learn about all features
- Explore the Guides for advanced customization
- Customize your site with your branding and content
- Deploy to Vercel, Netlify, or your preferred hosting platform
Getting Help
- π Check the documentation
- π¬ Join our community discussions
- π Report issues on GitHub
- π§ Contact: mrebati@rebati.net
Common Questions
Q: How do I change the theme colors?
A: Edit tailwind.config.mjs and update the primary color palette.
Q: Can I use my own domain?
A: Yes! Update the url in src/config.ts and configure your hosting provider.
Q: How do I add search?
A: Search is enabled by default. For Algolia integration, see the Guides.
Q: Can I customize the navigation?
A: Yes! Navigation is auto-generated from your content files. Use the order and parent fields in frontmatter to organize it.
Ready to build something amazing? Letβs continue to the Installation Guide!