KubeAgentic Website
KubeAgentic Website
This directory contains the GitHub Pages website for KubeAgentic, built with Jekyll and hosted at https://KubeAgentic-Community.github.io/kubeagentic
.
🌐 Website Structure
kubeagentic/ # Repository root
├── _config.yml # Jekyll configuration
├── Gemfile # Ruby dependencies
├── index.md # Homepage
├── docs/ # Documentation pages
│ └── index.md # Main documentation
├── examples.md # Examples and use cases
├── local-testing.md # Local testing guide
├── api-reference.md # API reference
└── website-README.md # This file
🚀 Quick Start
Local Development
- Install Ruby and Jekyll:
# macOS brew install ruby gem install bundler jekyll # Ubuntu/Debian sudo apt-get install ruby-full build-essential zlib1g-dev gem install bundler jekyll
- Install Dependencies:
bundle install
- Start Local Server:
bundle exec jekyll serve
- View Website: Open http://localhost:4000 in your browser
GitHub Pages Deployment
The website is automatically deployed when you push to the main branch.
- Enable GitHub Pages:
- Go to repository Settings → Pages
- Source: Deploy from a branch
- Branch: main / (root)
- Configure Custom Domain (optional):
echo "kubeagentic.example.com" > CNAME
- Update Repository URL:
Edit
_config.yml
:url: "https://KubeAgentic-Community.github.io" repository: KubeAgentic-Community/kubeagentic github_username: KubeAgentic-Community
📁 Content Management
Adding New Documentation
- Create Markdown File:
# For main docs touch docs/new-guide.md # For standalone pages touch new-page.md
- Add Front Matter:
--- layout: page title: Page Title permalink: /path/to/page/ --- # Your content here
- Update Navigation:
Edit
_config.yml
: ```yaml header_pages:- index.md
- docs/index.md
- new-page.md # Add your page ```
Updating Examples
- Edit Examples Page:
vim examples.md
- Add New Example:
## New Example Title Description of the example... ```yaml # YAML configuration
```
API Reference Updates
The API reference should be updated when:
- New fields are added to the Agent CRD
- Field validation rules change
- New API versions are released
vim api-reference.md
🎨 Customization
Theme Customization
The website uses the default Minima theme. To customize:
- Override Layouts:
mkdir -p _layouts cp $(bundle show minima)/_layouts/default.html _layouts/ # Edit _layouts/default.html
- Custom CSS:
mkdir -p assets/css cat > assets/css/style.scss << 'EOF' --- --- @import "minima"; /* Custom styles */ .highlight { background-color: #f0f8ff; } EOF
- Custom JavaScript:
mkdir -p assets/js # Add your JavaScript files
Color Scheme
Edit _config.yml
to add custom variables:
minima:
skin: dark # or auto, classic
🔧 Configuration
Jekyll Configuration
Key settings in _config.yml
:
# Site settings
title: KubeAgentic
description: Deploy and manage AI agents on Kubernetes
baseurl: ""
url: "https://your-username.github.io"
# Build settings
markdown: kramdown
highlighter: rouge
theme: minima
# Plugins
plugins:
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tag
# Collections (for organizing content)
collections:
docs:
output: true
permalink: /:collection/:name/
GitHub Pages Settings
For optimal GitHub Pages performance:
# In _config.yml
exclude:
- vendor/
- Gemfile
- Gemfile.lock
- node_modules/
- "*.go"
- go.mod
- go.sum
- Dockerfile*
- Makefile
- .git/
- .gitignore
- bin/
- scripts/
📝 Content Guidelines
Writing Style
- Concise: Keep explanations clear and brief
- Practical: Include working examples and code snippets
- Structured: Use consistent heading hierarchy
- Accessible: Explain technical concepts clearly
Code Examples
Always include complete, working examples:
# ✅ Good: Complete example
apiVersion: ai.example.com/v1
kind: Agent
metadata:
name: example-agent
spec:
provider: openai
model: gpt-4
systemPrompt: "You are a helpful assistant."
apiSecretRef:
name: openai-secret
key: api-key
# ❌ Bad: Incomplete example
spec:
provider: openai
# Missing required fields
Screenshots
When adding screenshots:
- Optimize Images:
mkdir -p assets/images # Add optimized images
- Reference in Markdown:

🚦 Testing
Local Testing
- Content Validation:
# Check for broken links bundle exec jekyll build bundle exec htmlproofer ./_site --check-html --check-opengraph
- Performance Testing:
# Test build time time bundle exec jekyll build # Test site speed lighthouse http://localhost:4000
Automated Testing
GitHub Actions workflow (.github/workflows/pages.yml
):
name: Deploy GitHub Pages
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: 3.0
- run: |
gem install bundler
bundle install
bundle exec jekyll build
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: $
publish_dir: ./_site
🔍 SEO Optimization
Meta Tags
The website automatically includes SEO tags via jekyll-seo-tag
. Customize in front matter:
---
title: Page Title
description: Page description for search engines
image: /assets/images/social-preview.png
---
Sitemap
Automatically generated via jekyll-sitemap
plugin at /sitemap.xml
.
Analytics
Add Google Analytics (optional):
# In _config.yml
google_analytics: UA-XXXXXXXX-X
📊 Maintenance
Regular Updates
- Content Review: Monthly review of documentation for accuracy
- Dependency Updates: Keep Jekyll and gems updated
- Link Checking: Verify external links are still valid
- Performance Monitoring: Check site speed and responsiveness
Updating Dependencies
# Update Gemfile.lock
bundle update
# Update Jekyll
bundle update jekyll
# Update all gems
bundle update --all
Monitoring
- GitHub Pages Status: Check GitHub repository Insights → Traffic
- Analytics: Monitor page views and user behavior
- Performance: Regular Lighthouse audits
🐛 Troubleshooting
Common Issues
Build failures:
# Clear Jekyll cache
bundle exec jekyll clean
# Rebuild with verbose output
bundle exec jekyll build --verbose
Plugin errors:
# Check plugin compatibility
bundle exec jekyll doctor
# Update plugins
bundle update jekyll-feed jekyll-sitemap jekyll-seo-tag
Styling issues:
# Force regenerate CSS
rm -rf _site
bundle exec jekyll build
GitHub Pages Limitations
- Repository size: Max 1GB
- File size: Max 100MB per file
- Build time: Max 10 minutes
- Monthly bandwidth: 100GB
Alternative Hosting
If GitHub Pages limitations are reached:
- Netlify:
# netlify.toml [build] command = "bundle exec jekyll build" publish = "_site"
- Vercel:
# vercel.json { "buildCommand": "bundle exec jekyll build", "outputDirectory": "_site" }
🤝 Contributing
Content Contributions
- Fork the repository
- Create a feature branch:
git checkout -b docs/new-feature
- Edit documentation files
- Test locally:
bundle exec jekyll serve
- Submit a pull request
Style Guide
- Use
###
for section headings within pages - Include code examples for all features
- Add front matter to all pages
- Use consistent terminology
- Optimize images before adding
📚 Resources
Jekyll Documentation
GitHub Pages
Minima Theme
For technical questions about the website, please open an issue in the KubeAgentic repository.