DocSmith
January 16, 2026 Β· View on GitHub
AI-powered documentation generation tool built on the Aigne Framework.
Features
DocSmith is a complete documentation generation system that provides:
- π Generate comprehensive documentation from code repositories, text files, and media resources
- ποΈ Build organized documentation structures and documentation sites
- π Intelligently analyze workspace content and generate structured documentation
- π Convert code/project content into readable documentation
- π Multi-language support and documentation localization
- πΌοΈ Automatic generation and updating of documentation images
- π€ One-click publishing to multiple platforms
Supports generating:
- Technical documentation
- User guides
- API references
- Tutorials and examples
- Product documentation
User Intent Analysis
DocSmith automatically analyzes workspace content to infer:
- Target audience - Primary readers of the documentation (developers, operators, end users, etc.)
- Use cases - Context in which users consult the documentation (first contact, development integration, troubleshooting, etc.)
- Documentation focus - Documentation type (user guide, API reference, quick start, architecture overview, etc.)
Inference results are presented to users for confirmation, with support for multiple rounds of adjustments until satisfied.
Structure Confirmation Mechanism
Before generating documentation, DocSmith displays the planned documentation structure:
- Total number of documents and hierarchy
- Title, description, and source files for each document
- Clear emoji indicators for quick browsing
Users can:
- Delete/add documents
- Adjust hierarchy (merge, split, adjust parent-child relationships)
- Modify content scope
Actual content generation begins only after user confirms the structure.
Project Structure
aigne-doc-smith/
βββ aigne.yaml # Aigne framework configuration
βββ package.json # Project dependencies and metadata
βββ CLAUDE.md # Claude Code project description
βββ README.md # This file
β
βββ agents/ # Specialized Agents
β βββ bash-executor/ # Bash command execution agent
β βββ clear/ # Configuration cleanup agent
β βββ content-checker/ # Content checking agent
β βββ generate-images/ # Image generation agent
β βββ localize/ # Documentation localization agent
β βββ publish/ # Documentation publishing agent
β βββ save-document/ # Document saving agent
β βββ structure-checker/ # Structure checking agent
β βββ update-image/ # Image update agent
β
βββ skills/ # Skill definitions
β βββ doc-smith/ # DocSmith Skill
β βββ SKILL.md # Skill main document
β βββ references/ # Reference documents
β
βββ skills-entry/ # Aigne framework entry configuration
β βββ doc-smith/
β βββ index.yaml # Main entry configuration
β βββ prompt.md # Prompt template
β
βββ utils/ # Utility library
β βββ config.mjs # Configuration management
β βββ docs.mjs # Document processing
β βββ git.mjs # Git operations
β βββ image-utils.mjs # Image utilities
β βββ workspace.mjs # Workspace management
β βββ ... # More utilities
β
βββ scripts/ # Helper scripts
βββ ...
Quick Start
1. Install Aigne CLI
npm install -g @aigne/cli
2. Start DocSmith
Run directly in your project root:
cd my-project
aigne doc
On first execution, Aigne CLI will automatically install DocSmith and start the interactive documentation generation process.
Automatic Initialization:
DocSmith will automatically:
- Detect the current project
- Create workspace in
.aigne/doc-smith/directory - Generate config.yaml configuration file
Completed During Conversation:
DocSmith will guide you through:
- Ask for output language (if not specified)
- Analyze project content
- Infer user intent
- Plan documentation structure
- Generate structured Markdown documentation
3. Generated Directory Structure
my-project/
βββ .aigne/
β βββ doc-smith/ # DocSmith workspace
β βββ config.yaml # Configuration file
β βββ intent/ # User intent
β βββ planning/ # Documentation structure planning
β βββ docs/ # Generated documentation
β β βββ overview.md
β β βββ getting-started.md
β β βββ api/
β β βββ authentication.md
β βββ cache/ # Temporary data
βββ (other project files...)
4. Independent Workspace Mode (Optional)
To separate documentation project from source code, use independent workspace:
# Create independent workspace
mkdir my-docs
cd my-docs
aigne doc
Independent mode supports multiple data source configuration:
# config.yaml
sources:
- name: "main"
type: local-path
path: "../my-project"
- name: "other-repo"
type: git-clone
url: "https://github.com/example/repo.git"
branch: "main"
Core Features
Documentation Generation
- Intelligent analysis of source code and project structure
- Automatic inference of user intent and target audience
- Generation of structured Markdown documentation
- Support for documentation hierarchy planning and confirmation
Image Management
- Automatic generation of documentation images
- Image placeholder system support
- Batch update and edit images
- Multiple image generation model support
Multi-language Support
- Documentation localization and translation
- Multi-language documentation structure management
- Automatic synchronization of different language versions
Publishing and Deployment
- One-click publishing to multiple platforms
- Custom publishing configuration support
- Documentation site building and deployment
Development
Install Dependencies
pnpm install
Code Quality
Project uses Biome for code linting and formatting:
# Check code
pnpm run lint
# Auto fix
pnpm run lint:fix
Modifying Agents
To add or modify agents:
- Create or modify agent in
agents/directory - Register new agent in
aigne.yaml - Write agent prompts and configuration files
Modifying Utility Functions
To extend or optimize utility functions:
- Add or modify utility functions in
utils/directory - Ensure ES module syntax (
.mjsfiles) - Import and use where needed
Tech Stack
- Aigne Framework - AI agent orchestration framework
- Node.js - Runtime environment (ES modules)
- pnpm - Package manager
- Biome - Code linting and formatting
- YAML - Configuration and data format
Notes
- Ensure Node.js (v18+) and pnpm are installed
- Ensure Git is installed (for submodule and version management)
- Anthropic API key or other LLM provider configuration required
- Image generation features require corresponding API key configuration
Migration Guide
If you previously used an older version (.aigne/doc-smith/ directory structure), we recommend:
- Create a new workspace directory
- Regenerate documentation
- Old version data can be manually migrated to the new workspace directory structure
Version
Current version: 0.9.11
Support
For issues or suggestions, please open an issue in the project.
Author
Arcblock - blocklet@arcblock.io
GitHub: @blocklet
License
Elastic-2.0 License