# Writing Style Guide User-friendly writing standards for software manuals. ## Core Principles ### 1. User-Centered Write for the user, not the developer. **Do**: - "Click the **Save** button to save your changes" - "Enter your email address in the login form" **Don't**: - "The onClick handler triggers the save mutation" - "POST to /api/auth/login with email in body" ### 2. Action-Oriented Focus on what users can **do**, not what the system does. **Do**: - "You can export your data as CSV" - "To create a new project, click **New Project**" **Don't**: - "The system exports data in CSV format" - "A new project is created when the button is clicked" ### 3. Clear and Direct Use simple, straightforward language. **Do**: - "Select a file to upload" - "The maximum file size is 10MB" **Don't**: - "Utilize the file selection interface to designate a file for uploading" - "File size constraints limit uploads to 10 megabytes" ## Tone ### Friendly but Professional - Conversational but not casual - Helpful but not condescending - Confident but not arrogant **Examples**: | Too Casual | Just Right | Too Formal | |------------|------------|------------| | "Yo, here's how..." | "Here's how to..." | "The following procedure describes..." | | "Easy peasy!" | "That's all you need to do." | "The procedure has been completed." | | "Don't worry about it" | "You don't need to change this" | "This parameter does not require modification" | ### Second Person Address the user directly as "you". **Do**: "You can customize your dashboard..." **Don't**: "Users can customize their dashboards..." ## Structure ### Headings Use clear, descriptive headings that tell users what they'll learn. **Good Headings**: - "Getting Started" - "Creating Your First Project" - "Configuring Email Notifications" - "Troubleshooting Login Issues" **Weak Headings**: - "Overview" - "Step 1" - "Settings" - "FAQ" ### Procedures Number steps for sequential tasks. ```markdown ## Creating a New User 1. Navigate to **Settings** > **Users**. 2. Click the **Add User** button. 3. Enter the user's email address. 4. Select a role from the dropdown. 5. Click **Save**. The new user will receive an invitation email. ``` ### Features/Options Use bullet lists for non-sequential items. ```markdown ## Export Options You can export your data in several formats: - **CSV**: Compatible with spreadsheets - **JSON**: Best for developers - **PDF**: Ideal for sharing reports ``` ### Comparisons Use tables for comparing options. ```markdown ## Plan Comparison | Feature | Free | Pro | Enterprise | |---------|------|-----|------------| | Projects | 3 | Unlimited | Unlimited | | Storage | 1GB | 10GB | 100GB | | Support | Community | Email | Dedicated | ``` ## Content Types ### Conceptual (What Is) Explain what something is and why it matters. ```markdown ## What is a Workspace? A workspace is a container for your projects and team members. Each workspace has its own settings, billing, and permissions. You might create separate workspaces for different clients or departments. ``` ### Procedural (How To) Step-by-step instructions for completing a task. ```markdown ## How to Create a Workspace 1. Click your profile icon in the top-right corner. 2. Select **Create Workspace**. 3. Enter a name for your workspace. 4. Choose a plan (you can upgrade later). 5. Click **Create**. Your new workspace is ready to use. ``` ### Reference (API/Config) Detailed specifications and parameters. ```markdown ## Configuration Options ### `DATABASE_URL` - **Type**: String (required) - **Format**: `postgresql://user:password@host:port/database` - **Example**: `postgresql://admin:secret@localhost:5432/myapp` Database connection string for PostgreSQL. ``` ## Formatting ### Bold Use for: - UI elements: Click **Save** - First use of key terms: **Workspaces** contain projects - Emphasis: **Never** share your API key ### Italic Use for: - Introducing new terms: A *workspace* is... - Placeholders: Replace *your-api-key* with... - Emphasis (sparingly): This is *really* important ### Code Use for: - Commands: Run `npm install` - File paths: Edit `config/settings.json` - Environment variables: Set `DATABASE_URL` - API endpoints: POST `/api/users` - Code references: The `handleSubmit` function ### Code Blocks Always specify the language. ```javascript // Example: Fetching user data const response = await fetch('/api/user'); const user = await response.json(); ``` ### Notes and Warnings Use for important callouts. ```markdown > **Note**: This feature requires a Pro plan. > **Warning**: Deleting a workspace cannot be undone. > **Tip**: Use keyboard shortcuts to work faster. ``` ## Screenshots ### When to Include - First time showing a UI element - Complex interfaces - Before/after comparisons - Error states ### Guidelines - Capture just the relevant area - Use consistent dimensions - Highlight important elements - Add descriptive captions ```markdown *The dashboard displays all your projects with their status.* ``` ## Examples ### Good Section Example ```markdown ## Inviting Team Members You can invite colleagues to collaborate on your projects. ### To invite a team member: 1. Open **Settings** > **Team**. 2. Click **Invite Member**. 3. Enter their email address. 4. Select their role: - **Admin**: Full access to all settings - **Editor**: Can edit projects - **Viewer**: Read-only access 5. Click **Send Invite**. The person will receive an email with a link to join your workspace. > **Note**: You can have up to 5 team members on the Free plan. ``` ## Language Guidelines ### Avoid Jargon | Technical | User-Friendly | |-----------|---------------| | Execute | Run | | Terminate | Stop, End | | Instantiate | Create | | Invoke | Call, Use | | Parameterize | Set, Configure | | Persist | Save | ### Be Specific | Vague | Specific | |-------|----------| | "Click the button" | "Click **Save**" | | "Enter information" | "Enter your email address" | | "An error occurred" | "Your password must be at least 8 characters" | | "It takes a moment" | "This typically takes 2-3 seconds" | ### Use Active Voice | Passive | Active | |---------|--------| | "The file is uploaded" | "Upload the file" | | "Settings are saved" | "Click **Save** to keep your changes" | | "Errors are displayed" | "The form shows any errors" |