Welcome to the iExec documentation contribution guide! This guide explains how to effectively participate in the development and improvement of the documentation.
- Node.js: Version 22 or higher
- npm: Comes bundled with Node.js
- Git: For version control
- Vale (optional): For documentation quality checks
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/documentation.git cd documentation -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Create a branch:
git checkout -b feature/your-feature-name
-
Make your changes
-
Test locally:
npm run dev
-
Commit your changes:
git add . git commit -m "Add: description of your changes"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request
We recommend using VitePress native container syntax instead of the Vue component for better compatibility and simplicity.
::: info Your informational content here... :::
::: tip Helpful tips and suggestions... :::
::: warning Important warnings and cautions... :::
::: danger Critical warnings and error messages... :::The Container component extends VitePress default containers with additional
styling, but should only be used when you need specific custom behavior:
<Container variant="success" title="Success">
Your content here...
</Container>
<Container variant="info" title="Information">
Informational content...
</Container>
<Container variant="danger" title="Warning">
Warning message...
</Container>success: Success style with green borderinfo: Informational style (default)danger: Warning style with red border
The Banner component is perfect for creating attractive page headers with
gradient styling.
<Banner>
## Your Section Title
Description of your section with elegant styling.
</Banner>- Automatic gradient background
- Rounded borders
- Optimized for h2 titles
- Responsive and accessible
Use this component to create cards with defined borders and soft backgrounds.
<CardWithBorder>
### Card Title
Your card content with border. Ideal for highlighting important information.
- Point 1
- Point 2
- Point 3
</CardWithBorder>- Defined border with theme colors
- Soft background
- Generous padding (2rem)
- Rounded corners
For more subtle cards without visible borders.
<CardWithoutBorder>
### Card Content
This card has no border but maintains a soft background for readability.
</CardWithoutBorder>- No visible border
- Soft background to contrast with page
- Moderate padding (1.5rem)
- Minimalist style
- VitePress Containers (
::: info,::: tip, etc.): Preferred for notes, warnings, and informational messages - Banner: For important section headers
- CardWithBorder: To highlight important content
- CardWithoutBorder: To group content subtly
- Container Component: Only when you need the specific "success" variant not available in VitePress native containers
<Banner>
## Installation Guide
</Banner>
::: info Prerequisites Make sure you have Node.js installed before continuing.
:::
<CardWithBorder>
### Step 1: Installation
\```bash npm install \```
</CardWithBorder>
<CardWithoutBorder>
### Step 2: Configuration
Create your `.env` file based on `.env.example`.
</CardWithoutBorder>
::: tip Success! Your installation is now complete! :::src/
βββ components/ # Reusable Vue components
βββ get-started/ # Getting started guides
βββ guides/ # Detailed guides
βββ protocol/ # Protocol documentation
βββ references/ # API references
βββ assets/ # Images and resources
To maintain consistency, use these parameter names:
protectedData: '0x123abc...'protectedDataAddress: '0x123abc...'authorizedApp: '0x456def...'authorizedUser: '0x789cba...'userAddress: '0x789cba...'appWhitelist: '0xba46d6...'owner: '0xa0c15e...'newOwner: '0xc5e9f4...'renterAddress: '0x246bdf...'subscriberAddress: '0x246bdf...'workerpool: '0xa5de76...'taskId: '0x7ac398...'
Follow these patterns for commit messages:
Add: new feature or contentUpdate: modify existing contentFix: correct errors or issuesRemove: delete obsolete contentDocs: documentation-only changes
Examples:
Add: CardWithBorder component usage guide
Update: VitePress container recommendations
Fix: broken links in getting started guide
macOS:
brew install Vale/tap/valeLinux (Snap):
snap install valeWindows:
choco install vale# Download external configurations
vale sync
# Check all documentation files
vale src/
# Check specific files
vale src/get-started/helloWorld/1-overview.md
# Get detailed output
vale --output=line src/
# Generate comprehensive report with statistics
vale --output=line src/ > vale-report.txt 2>&1Vale checks for:
- Language clarity and conciseness
- Terminology consistency
- Professional tone
- Accessibility best practices
To work with Hello World pages, create a .env file:
cp .env.example .envFill with your values:
VITE_REOWN_PROJECT_ID=your_project_id_here- Go to https://dashboard.reown.com/
- Create an account if necessary
- Click "Create Project"
- Fill in project information
- Copy the "Project ID" to your
.env
# Build the project
npm run build
# Check syntax
npm run lint
# Documentation tests with Vale
vale src/- Development server runs without errors
- Vale reports no critical errors
- All links work
- Components display correctly
- Content is accessible and responsive
- π Documentation
- π¬ Discord Community
- π Issue Tracker
- Read existing documentation before contributing to understand the style and structure
- Always test locally before submitting a PR
- Use appropriate components to maintain visual consistency
- Write descriptive commit messages
- Ask for help if you're unsure about something
- Prefer VitePress native containers (
::: info,::: tip, etc.) over Vue components when possible
Thank you for contributing to improve the iExec documentation! π
