Readability Guidelines
This document provides guidelines for improving the readability of DeepLint documentation. Following these guidelines ensures that documentation is accessible, engaging, and easy to understand for all users.
General Principles
User-Centric Approach
Focus on the user's needs and goals
Organize content based on user tasks rather than system architecture
Consider different user personas (beginners, experienced developers, etc.)
Anticipate common questions and provide answers
Plain Language
Use clear, concise language
Avoid unnecessary technical jargon
Define technical terms when they must be used
Use active voice and present tense
Keep sentences and paragraphs short
Visual Hierarchy
Use headings and subheadings to create a clear structure
Use lists and tables to organize information
Use whitespace effectively
Highlight important information
Reducing Technical Jargon
Identifying Jargon
Technical jargon includes:
Acronyms and abbreviations
Domain-specific terminology
Internal project terminology
Complex technical concepts
When to Use Technical Terms
Use technical terms when:
The term is widely understood by the target audience
The term is necessary for precision
The term is defined when first introduced
There is no simpler alternative
When to Avoid Technical Terms
Avoid technical terms when:
A simpler alternative exists
The term is not essential for understanding
The term is internal jargon not familiar to users
The documentation is aimed at beginners
Examples of Jargon Replacement
"Utilize"
"Use"
"Implement"
"Create" or "Build"
"Instantiate"
"Create"
"Terminate"
"End" or "Stop"
"Functionality"
"Feature"
"LLM Context"
"Code Analysis Context"
Before and After Examples
Before (With Jargon)
To utilize the context builder, instantiate a ContextBuilder object and invoke the buildContext method. The method returns a Promise that resolves to a ContextBuildResult object containing the LLM context and associated metadata.
After (Without Jargon)
To use the context builder, create a ContextBuilder object and call the buildContext method. This method returns a Promise with the analysis results and related information.
Adding Practical Examples
Types of Examples
Include different types of examples:
Basic examples: Simple, focused examples for beginners
Common use cases: Examples that solve real-world problems
Advanced examples: More complex examples for experienced users
Troubleshooting examples: Examples that show how to fix common issues
Example Structure
Structure examples consistently:
Context: Explain when and why to use this approach
Code: Show the example code
Explanation: Explain what the code does
Result: Show the expected output or result
Variations: Show alternative approaches (optional)
Example: Adding Examples to Documentation
Basic Example
### Basic Usage
To analyze staged changes in your Git repository:
```bash
deeplint
```
This command will analyze the files you've staged with git add
and show any issues found.
Output:
INFO: Running DeepLint on staged changes...
INFO: Context built with 3 changed files
INFO: Analysis complete: No issues found
#### Common Use Case Example
```markdown
### Analyzing Specific Files
If you want to analyze specific files instead of staged changes:
```bash
deeplint --unstaged src/main.ts src/utils.ts
This is useful when you want to check files before staging them or when working on specific parts of your codebase.
Output:
INFO: Running DeepLint on specified files...
INFO: Context built with 2 files
INFO: Analysis complete: 1 issue found
WARN: Potential issue in src/utils.ts:42 - Unused variable 'config'
## Improving Visual Elements
### Diagrams
Use diagrams to explain:
- Workflows and processes
- System architecture
- Relationships between components
- Concepts that are difficult to explain in text
#### Diagram Best Practices
- Keep diagrams simple and focused
- Use consistent colors and shapes
- Include a legend if necessary
- Provide a text explanation alongside the diagram
- Use Mermaid for diagrams that can be maintained in Markdown
#### Example: Workflow Diagram
```markdown
<div data-gb-custom-block data-tag="mermaid">
graph TD
A[Stage Changes] -->|git add| B[Run DeepLint]
B --> C{Issues Found?}
C -->|Yes| D[Review Issues]
D --> E[Fix Issues]
E --> A
C -->|No| F[Commit Changes]
</div>
This diagram shows the typical workflow when using DeepLint with Git:
1. Stage your changes using `git add`
2. Run DeepLint to analyze the staged changes
3. If issues are found, review and fix them, then stage the fixes
4. If no issues are found, commit your changes
Tables
Use tables to present:
Comparison of options or features
Configuration settings
Command line arguments
Structured data
Table Best Practices
Use clear column headers
Align content for readability
Keep tables simple (avoid nested tables)
Use consistent formatting
Provide context before the table
Example: Command Options Table
| Option | Description | Default | Example |
| ------------ | ----------------------------- | ------- | --------------------- |
| `--context` | Context depth (light or deep) | `light` | `--context=deep` |
| `--unstaged` | Include unstaged changes | `false` | `--unstaged` |
| `--debug` | Enable debug output | `false` | `--debug` |
| `--dump` | Dump context to a file | - | `--dump=context.json` |
Screenshots and Images
Use screenshots and images to show:
UI elements and interactions
Expected output
Visual concepts
Step-by-step processes
Image Best Practices
Use clear, high-quality images
Crop images to focus on relevant content
Add annotations or highlights when necessary
Include alt text for accessibility
Optimize images for web viewing
Example: Screenshot with Annotation

_Figure 1: DeepLint output highlighting an unused variable in src/utils.ts_
Implementation Guidelines
When implementing these readability improvements:
Start with user-facing documentation (Getting Started guides, README, etc.)
Focus on one section at a time to maintain consistency
Test with different audiences to ensure clarity
Update examples when the API or behavior changes
Use the style guide to maintain consistent formatting
Checklist for Enhancing Readability
Use this checklist when reviewing documentation for readability:
Conclusion
By following these guidelines, we can create documentation that is more readable, accessible, and helpful for all users. Remember that the goal of documentation is to help users understand and use DeepLint effectively, regardless of their technical background or experience level.
Last updated