Skip to content

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:

  1. Check if the issue already exists in the issue tracker
  2. Create a new issue with a clear description
  3. Include specific file references and line numbers if applicable

Submitting Changes ​

  1. Fork the repository

  2. Create a feature branch

    bash
    git checkout -b feature/your-feature-name
  3. Make your changes

    • Follow the existing document structure and style
    • Ensure all links work correctly
    • Use proper markdown formatting
  4. 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-fix
  5. Test locally

    bash
    make install
    make dev

    The development server will open automatically at localhost:5173

  6. Commit your changes

    bash
    git add .
    git commit -m "Brief description of changes"
  7. Push to your fork

    bash
    git push origin feature/your-feature-name
  8. Create 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 ​

markdown
\`\`\`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 ​

bash
# 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-fix

Before Committing ​

Always run formatting and linting before committing:

bash
make format && make lint-fix

This ensures consistent formatting across all documentation.

Building the Documentation ​

Prerequisites ​

  • Node.js (v18 or higher)
  • npm (v9 or higher)

Build Commands ​

bash
# 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 clean

Questions? ​

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.