# MkDocs Configuration for Tenets Documentation
# https://www.mkdocs.org/user-guide/configuration/
# ==============================================================================
# SITE INFORMATION
# ==============================================================================
site_name: Tenets
site_description: MCP server for context that feeds your prompts. Intelligent code context aggregation + automatic guiding principles injection. 100% local, works with Cursor, Claude, Windsurf.
site_url: https://tenets.dev
site_author: Johnny Dunn
copyright: >
Copyright © 2024-2025 <a href="https://manic.agency" target="_blank" rel="noopener">manic.agency</a> · Built by <a href="https://jddunn.github.io" target="_blank" rel="noopener">Johnny Dunn</a>
# ==============================================================================
# DIRECTORIES
# ==============================================================================
docs_dir: docs
site_dir: site
use_directory_urls: true
strict: false # Keep false to allow warnings
# ==============================================================================
# REPOSITORY
# ==============================================================================
repo_name: jddunn/tenets
repo_url: https://github.com/jddunn/tenets
edit_uri: edit/main/docs/
# ==============================================================================
# THEME CONFIGURATION
# ==============================================================================
theme:
name: material
custom_dir: docs/overrides
language: en
# Logo and Branding - handled by custom partial in overrides/partials/logo.html
# logo: commented out - using custom partial for theme-aware logo switching
favicon: favicon/favicon.ico
# Typography
font:
text: Inter
code: JetBrains Mono
# Icons
icon:
repo: fontawesome/brands/github
edit: material/file-edit-outline
admonition:
note: octicons/tag-16
abstract: octicons/checklist-16
info: octicons/info-16
tip: octicons/squirrel-16
success: octicons/check-16
question: octicons/question-16
warning: octicons/alert-16
failure: octicons/x-circle-16
danger: octicons/zap-16
bug: octicons/bug-16
example: octicons/beaker-16
quote: octicons/quote-16
# Color Schemes - USING CUSTOM PRIMARY
palette:
# Light mode
- media: '(prefers-color-scheme: light)'
scheme: default
primary: custom # CRITICAL: Keep this as 'custom' for your theme
accent: amber
toggle:
icon: material/weather-night
name: Switch to dark mode
# Dark mode
- media: '(prefers-color-scheme: dark)'
scheme: slate
primary: custom # CRITICAL: Keep this as 'custom' for your theme
accent: amber
toggle:
icon: material/weather-sunny
name: Switch to light mode
# Features - NO HEADER AUTOHIDE
features:
# Navigation
# - navigation.instant # DISABLED - can cause click issues
# - navigation.instant.prefetch # DISABLED
# - navigation.instant.progress # DISABLED
- navigation.tracking
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- navigation.expand
- navigation.path
- navigation.prune
- navigation.indexes
- navigation.top
- navigation.footer
# Table of Contents - RIGHT SIDEBAR
- toc.follow # TOC follows scroll
# REMOVED toc.integrate - keeps TOC as right sidebar
# Search
- search.suggest
- search.highlight
- search.share
# Content
- content.code.copy
- content.code.select
- content.code.annotate
- content.tabs.link
- content.tooltips
# ==============================================================================
# PLUGINS - PRODUCTION READY
# ==============================================================================
plugins:
# Search functionality
- search:
lang: en
# Auto-generated API docs
- gen-files:
scripts:
- docs/gen_api.py
- literate-nav:
implicit_index: true
tab_length: 4
nav_file: SUMMARY.md
# section-index disabled - conflicts with generated API docs
# - section-index
- mkdocstrings:
enabled: true
default_handler: python
handlers:
python:
paths: ['.'] # Current directory
inventories:
- https://docs.python.org/3/objects.inv
options:
# TOC and Navigation
show_source: false # Don't load source by default
show_root_heading: true
show_root_toc_entry: true # Show in TOC
show_object_full_path: false
show_category_heading: true
show_symbol_type_heading: true # Show Class/Function labels
show_symbol_type_toc: true # Include type in TOC
members_order: source
group_by_category: true # Group by type
show_submodules: false # Don't auto-expand submodules
docstring_style: google
docstring_section_style: spacy # Simpler rendering
merge_init_into_class: true
show_if_no_docstring: false
separate_signature: true
line_length: 80
show_signature_annotations: true
signature_crossrefs: false # Prevent cross-ref overhead
filters: ['!^_', '!^test']
inherited_members: false # Don't process inherited
preload_modules: [] # Don't preload anything
# Git revision dates
- git-revision-date-localized:
enabled: true
type: timeago
enable_creation_date: true
fallback_to_build_date: true
enable_git_follow: false
enable_parallel_processing: false
# Minification for production
- minify:
minify_html: true
minify_js: true
minify_css: true
htmlmin_opts:
remove_comments: true
remove_empty_space: true
# Note: MkDocs Material generates sitemap.xml automatically
# ==============================================================================
# MARKDOWN EXTENSIONS - FULL SET FOR API DOCS
# ==============================================================================
markdown_extensions:
# Python Markdown
- abbr
- admonition
- attr_list
- def_list
- footnotes
- md_in_html
- meta
- tables
- toc:
permalink: true
permalink_title: Link to this section
slugify: !!python/object/apply:pymdownx.slugs.slugify
kwds:
case: lower
toc_depth: 3 # Full depth for API docs
# PyMdown Extensions
- pymdownx.arithmatex:
generic: true
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.critic
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
use_pygments: true
auto_title: true
linenums: true
linenums_style: pymdownx-inline
- pymdownx.inlinehilite
- pymdownx.keys
- pymdownx.magiclink:
repo_url_shorthand: true
user: jddunn
repo: tenets
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.snippets:
base_path:
- docs
check_paths: true
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
combine_header_slug: true
slugify: !!python/object/apply:pymdownx.slugs.slugify
kwds:
case: lower
- pymdownx.tasklist:
custom_checkbox: true
clickable_checkbox: true
- pymdownx.tilde
# ==============================================================================
# EXTRA CONFIGURATION
# ==============================================================================
extra:
# Disable generator meta tag
generator: false
# Version provider (optional - uncomment if needed)
# version:
# provider: mike
# default: stable
# Analytics
analytics:
provider: google
property: !ENV GOOGLE_ANALYTICS_ID
feedback:
title: Was this page helpful?
ratings:
- icon: material/emoticon-happy-outline
name: This page was helpful
data: 1
note: Thanks for your feedback!
- icon: material/emoticon-sad-outline
name: This page could be improved
data: 0
note: Thanks for your feedback!
# Microsoft Clarity
clarity: !ENV CLARITY_PROJECT_ID
# Social links
social:
- icon: fontawesome/brands/github
link: https://github.com/jddunn/tenets
name: Tenets on GitHub
color: '#FFD600' # Torch yellow
- icon: fontawesome/brands/discord
link: https://discord.gg/DzNgXdYm
name: Join our Discord
- icon: fontawesome/brands/python
link: https://pypi.org/project/tenets/
name: Tenets on PyPI
# Feature flags (optional)
# feature:
# tabs: true
# instant: true
# ==============================================================================
# EXTRA CSS - ORGANIZED STRUCTURE
# ==============================================================================
extra_css:
# Core styles (working properly)
- styles/variables.css
- styles/accessibility.css # Skip links, focus styles, reduced motion
- styles/header.css # Consolidated header styles with nav, animations, logo fixes, and torch
- styles/buttons.css
- styles/cards.css
- styles/footer.css
- styles/animations.css
- styles/hero.css
- styles/terminal.css
- styles/back-to-top.css
- styles/image-modal.css
- styles/mobile.css
- styles/victorian.css
- styles/neumorphic.css
- styles/see-it-in-action.css
- styles/toast.css # Toast notifications for copy buttons
- styles/overrides.css
# DISABLED - These cause issues:
# - styles/header.css # Original has search focus trap issue
# - styles/search.css # May conflict with Material search
# - styles/main.css # May have global overrides
# LIKELY PROBLEMATIC - Test these carefully:
# - styles/main.css # May have global overrides
# - styles/search.css # May conflict with Material search
# - styles/navigation.css # May interfere with clicks
# Theme styles to test:
# - styles/victorian.css
# - styles/neumorphic.css
# - styles/footer.css
# - styles/buttons.css
# - styles/cards.css
# - styles/hero.css
# - styles/terminal.css
# - styles/back-to-top.css
# - styles/see-it-in-action.css
# - styles/search.css # LIKELY CULPRIT
# - styles/image-modal.css
# - styles/mobile.css
# - styles/overrides.css
# ==============================================================================
# EXTRA JAVASCRIPT - ORGANIZED STRUCTURE
# ==============================================================================
extra_javascript:
# Essential functionality (no search conflicts)
- js/theme-toggle.js
- js/copy-buttons.js
- js/back-to-top.js
- js/terminal.js
- js/mobile-menu.js
- js/image-modal.js
- js/lantern.js # Torch animation
- js/see-it-in-action.js
- js/install-tabs.js # Install option tabs
# - js/main.js # DISABLED - might cause search issues
# - js/architecture-diagram.js
# - https://unpkg.com/@phosphor-icons/web@2.0.3/src/index.js
# ==============================================================================
# NAVIGATION - COMPLETE STRUCTURE
# ==============================================================================
nav:
- MCP Server:
- Overview: MCP.md
- Cursor Setup: cursor-mcp.md
- Claude Desktop Setup: claude-mcp.md
- Getting Started:
- Quick Start: quickstart.md
- Installation: installation.md
- Tutorial: tutorial.md
- User Guide:
- CLI Reference: CLI.md
- Supported Languages: supported-languages.md
- Best Practices: best-practices.md
- Examples: examples.md
- Architecture:
- Overview: ARCHITECTURE.md
- System Overview: architecture/system-overview.md
- Core Architecture: architecture/core-architecture.md
- NLP/ML Pipeline: architecture/nlp-pipeline.md
- File Scanning: architecture/file-scanning.md
- Code Analysis: architecture/code-analysis.md
- Ranking System: architecture/ranking-system.md
- Git Integration: architecture/git-integration.md
- Context Management: architecture/context-management.md
- Session Management: architecture/session-management.md
- Storage & Caching: architecture/storage-caching.md
- Performance: architecture/performance.md
- Configuration: architecture/configuration.md
- CLI & API: architecture/cli-api.md
- Security: architecture/security.md
- Testing: architecture/testing.md
- Guiding Principles: architecture/guiding-principles.md
- Output & Visualization: architecture/output-visualization.md
- MCP Integration: architecture/mcp-integration-plan.md
- Roadmap: architecture/roadmap.md
- API Reference: api/
- Blog:
- blog/index.md
- Why Context Matters: blog/why-context-matters.md
- MCP Explained: blog/mcp-explained.md
- Cursor & Claude Setup: blog/cursor-claude-setup.md
- About: about.md
- FAQ: faq.md
- Enterprise: enterprise.md
- Legal:
- Privacy Policy: privacy.md
- Terms of Service: terms.md
# ==============================================================================
# WATCH - Development auto-reload
# ==============================================================================
watch:
- docs
- README.md
- CHANGELOG.md