Contributing to ERC-8004 Documentation
Thank you for your interest in contributing to the ERC-8004 documentation!
How to Contribute
Reporting Issues
If you find errors, inconsistencies, or have suggestions for improvements:
- Check if the issue already exists in the issue tracker
- Create a new issue with a clear description
- Include specific file references and line numbers if applicable
Submitting Changes
Fork the repository
Create a feature branch
bashgit checkout -b feature/your-feature-nameMake your changes
- Follow the existing document structure and style
- Ensure all links work correctly
- Use proper markdown formatting
Format and lint your changes
bash# Auto-format all Markdown files make format # Check for linting issues make lint # Auto-fix linting issues make lint-fixTest locally
bashmake install make devThe development server will open automatically at localhost:5173
Commit your changes
bashgit add . git commit -m "Brief description of changes"Push to your fork
bashgit push origin feature/your-feature-nameCreate a Pull Request
- Provide a clear description of your changes
- Reference any related issues
Documentation Standards
File Naming
- Use lowercase with hyphens for file names:
my-document.md - Exception: Special files use UPPERCASE:
README.md,CONTRIBUTING.md,LICENSE - Number prefixes for sequential documents:
01-first-topic.md,02-second-topic.md
Writing Style
- Use clear, concise language
- Include code examples where appropriate
- Add links to related sections
- Keep line length reasonable (around 80-100 characters)
Markdown Guidelines
- Use ATX-style headers (
#instead of underlines) - Include blank lines before and after headers
- Use fenced code blocks with language specifiers
- Use relative links for internal documentation
Code Examples
\`\`\`solidity
// Include language identifier
function example() public returns (bool) {
return true;
}
\`\`\`Formatting and Linting
This project uses Prettier for automatic formatting and markdownlint for linting Markdown files.
Formatting Tools
Prettier automatically handles:
- Removing trailing spaces
- Normalizing blank lines
- Formatting tables
- Consistent line breaks
markdownlint ensures:
- Consistent heading styles
- Proper list formatting
- No duplicate headings at the same level
- Compliance with Markdown best practices
Usage
# Format all Markdown files (auto-fix formatting)
make format
# Check formatting without modifying files
make format-check
# Lint Markdown files
make lint
# Auto-fix linting issues
make lint-fixBefore Committing
Always run formatting and linting before committing:
make format && make lint-fixThis ensures consistent formatting across all documentation.
Building the Documentation
Prerequisites
- Node.js (v18 or higher)
- npm (v9 or higher)
Build Commands
# Install dependencies
make install
# Start development server (with hot reload)
make dev
# Build static site
make build
# Preview built site
make preview
# Clean build artifacts
make cleanQuestions?
If you have questions about contributing, please open an issue or reach out to the maintainers.
License
By contributing, you agree that your contributions will be licensed under the MIT License.