Configuration
Project Configuration
Create a claudux.json in your project root to configure project-specific settings:
{
"project": {
"name": "Your Awesome Project",
"type": "javascript"
}
}Supported Project Types
Claudux auto-detects project types, but you can override detection:
| Type | Detection Pattern | Example |
|---|---|---|
ios | *.xcodeproj, Project.swift | iOS/macOS apps |
nextjs | next.config.js, "next" in package.json | Next.js apps |
react | "react" in package.json | React apps |
nodejs | "@types/node" in package.json | Node.js backends |
javascript | package.json exists | JavaScript projects |
rust | Cargo.toml | Rust projects |
python | pyproject.toml, setup.py | Python projects |
go | go.mod | Go projects |
java | pom.xml, build.gradle | Java projects |
generic | Default fallback | Any project |
Documentation Preferences
Generate a claudux.md file to capture documentation preferences:
claudux templateThis creates a preferences file that guides documentation generation. Example structure:
# Site
- title: My Project
- description: A brief project description
- nav items: Guide, Features, API
- logo: auto-detect
# Structure
- include: guide, features, api, examples
- omit: advanced, enterprise
- sidebar: unified across all pages
# Pages
- must-have: /guide/, /guide/installation, /api/
- ordering: custom groups
- naming: Title Case, emojis enabled
# Links
- external: GitHub, npm (auto-detected)
- base path: local '/' with CI overrideEnvironment Variables
Model Selection
Control which Claude model to use:
# Force Opus (more capable, slower)
FORCE_MODEL=opus claudux update
# Force Sonnet (default, faster)
FORCE_MODEL=sonnet claudux updateVerbosity Control
Claudux is verbose by default. Control output level:
# Quiet mode (errors only)
claudux -q update
# Default verbose mode
claudux updatePre-set Directives
Set a default message for documentation updates:
CLAUDUX_MESSAGE="Focus on API documentation" claudux updateContent Protection
Protected Paths
Claudux automatically protects sensitive directories and files:
Protected directories:
notes/,private/.git/,node_modules/,vendor/target/,build/,dist/
Protected file patterns:
*.env,*.key,*.pem*.p12,*.keystore
Skip Markers
Protect specific content sections with skip markers:
Markdown files:
<!-- skip -->
This content will never be modified by claudux
<!-- /skip -->Code files:
// skip
const SECRET_CONFIG = {
apiKey: "secret"
};
// /skipSupported languages:
- JavaScript/TypeScript:
// skip...// /skip - Python:
# skip...# /skip - Swift:
// skip...// /skip - Go:
// skip...// /skip - Rust:
// skip...// /skip
VitePress Configuration
The generated docs/.vitepress/config.ts uses these patterns:
Base Path Policy
Local development:
base: '/' // Always use root for localCI deployment:
export DOCS_BASE='/claudux/' # Set in CI environmentSidebar Configuration
Claudux generates unified sidebars that appear on all pages:
sidebar: {
'/': [...items], // Root path (homepage)
'/guide/': [...items], // Guide section
'/features/': [...items] // Features section
}Auto-detected Features
- Social links: GitHub repo, npm package
- Logo: Searches for logo/icon files
- Edit links: Points to GitHub source
- Search: Local full-text search enabled
Advanced Configuration
Custom Templates
Override default templates by project type:
- Copy from
lib/templates/{type}/config.json - Modify documentation structure
- Place in your project root as
claudux.json
Link Validation
Control link checking behavior:
claudux update --strict # Fail on any broken linksBuilt-in validation checks:
- Internal page links
- Anchor links within pages
- External URL accessibility
- Asset references
CI/CD Integration
GitHub Actions example:
- name: Generate Documentation
run: |
npm install -g claudux
export DOCS_BASE='/my-project/'
claudux update --strict
- name: Deploy to Pages
uses: actions/deploy-pages@v1
with:
artifact_name: docs
path: docs/.vitepress/distTroubleshooting Configuration
Permission errors:
sudo chown -R $(whoami) ~/.npmMissing dependencies:
claudux check # Diagnose issuesModel authentication:
claude config get # Verify auth status
claude config # Re-authenticate if needed