Contributing
Relevant source files
The following files were used as context for generating this wiki page:
Contributing to the Acode Plugin Docs involves improving the development guide and technical documentation for Acode plugins. This project provides comprehensive documentation, examples, and API guides to assist developers in building and extending the Acode editor.
Effective collaboration relies on following established communication channels and maintaining strict code quality standards defined by the project's tooling. Contributors help maintain a vibrant community of developers by providing accurate tutorials and guides.
Sources: Readme.md:3-5, index.md:21-36, tutorials/index.md:1-12
Contribution Workflow
Before submitting any changes, you must communicate your intentions to the maintainers. This process ensures smooth collaboration and avoids duplicate efforts or conflicting changes.
- Identify Improvement: Locate a bug, outdated information, or a missing tutorial.
- Open an Issue: Create a new issue on the GitHub repository describing the proposed changes or additions.
- Collaborate: Wait for feedback or approval before beginning the implementation phase.
Sources: Readme.md:7-9
The following diagram illustrates the standard contribution lifecycle:
The flowchart shows the progression from identifying a documentation need to submitting a final Pull Request.
Sources: Readme.md:7-9, package.json:6-8
Technical Stack and Tooling
The documentation project utilizes a modern web stack for building and maintaining the static site. Contributors must interact with several tools to ensure the project remains stable and readable.
Documentation Framework
The project uses Vitepress as the documentation generator and Vue for interactive components. Features like the Command Palette and QuickTools documentation rely on these technologies for rendering and navigation.
Sources: package.json:15-18, index.md:1-10
Code Quality Tools
The project enforces strict coding standards using Biome. This tool handles linting, formatting, and general code health checks.
Sources: package.json:14, biome.json:1-35
| Tool | Usage | Purpose |
|---|---|---|
| Biome | Linting & Formatting | Ensures consistent code style and catches errors. |
| Vitepress | Documentation Engine | Renders Markdown files into a static website. |
| Lucide Vue Next | Iconography | Provides visual symbols for the user guide. |
| Sources: package.json:14-22 |
Development Environment Setup
To contribute changes, you must set up the development environment locally. The project provides several scripts in package.json to manage the build process and preview changes.
- Install dependencies using your preferred package manager.
- Use
npm run docs:devto start a local development server with hot-reloading. - Access the preview to verify how Markdown content and Mermaid diagrams render.
Sources: package.json:9-11
Available Scripts
| Script | Command | Action |
|---|---|---|
lint | biome lint --write | Fixes linting issues automatically. |
format | biome format --write | Standardizes code formatting. |
check | biome check --write | Runs both linting and formatting checks. |
docs:dev | vitepress dev | Starts the local development environment. |
docs:build | vitepress build | Generates the static site for production. |
| Sources: package.json:6-11 |
Code and Content Standards
All contributions must adhere to the configuration defined in biome.json. The project strictly enforces these rules to maintain a uniform codebase.
- Indentation: Use tabs for indentation.
- Quotes: Use double quotes for JavaScript strings.
- Imports: Enable automatic organization of imports.
- Recommended Rules: Follow all Biome "recommended" linting rules.
Sources: biome.json:12-32
{
"formatter": {
"enabled": true,
"indentStyle": "tab"
},
"javascript": {
"formatter": {
"quoteStyle": "double"
}
}
}
Example of formatting rules applied to all contributions.
Sources: biome.json:12-25
Content Guidelines
When contributing to specific sections, follow these structural requirements:
Tutorials and Guides
Tutorials should help new users understand Acode features or plugin development. Ensure that all new tutorials are indexed in the tutorials/index.md file.
Sources: tutorials/index.md:3-12
API Documentation
For plugin-related APIs, ensure content is technically precise and linked correctly to the Plugin API Guide.
Sources: tutorials/index.md:10-12
The documentation update flow follows this sequence:
The sequence diagram details the local verification steps required before a contributor submits changes.
Sources: package.json:6-11
Contributing ensures the Acode ecosystem remains accessible to all developers. By maintaining high standards in documentation, you support the rapid development and distribution of plugins within the community.
Sources: index.md:21-36, tutorials/index.md:3-7