First off, thank you for considering contributing to DevOps Daily! 🎉 It's people like you that make DevOps Daily such a great resource for the community.
- Code of Conduct
- Getting Started
- How Can I Contribute?
- Content Guidelines
- Development Workflow
- Pull Request Process
- Style Guides
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior by opening an issue or contacting the project maintainers.
We're building a welcoming community where everyone can learn and contribute, regardless of experience level.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/devops-daily.git cd devops-daily - Install dependencies:
pnpm install
- Create a branch for your changes:
git checkout -b feature/your-feature-name
- Start the development server:
npm run dev
We're always looking for quality DevOps content! You can contribute:
- Blog Posts: Share your knowledge on DevOps topics
- Guides: Create comprehensive multi-part guides
- Exercises: Design hands-on practical exercises
- Quizzes: Create interactive quizzes
- News: Curate and share DevOps news
Before creating bug reports, please check existing issues. When creating a bug report, include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Your environment (OS, browser, Node version)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- A clear and descriptive title
- Detailed description of the proposed feature
- Why this enhancement would be useful
- Possible implementation approach (optional)
Look for issues labeled:
good first issue- Great for newcomershelp wanted- We need help with thesebug- Bug fixes neededenhancement- New features
- Location:
content/posts/<name-of-post>.md - Example:
content/posts/understanding-docker-networking.md
Front Matter Structure:
---
title: 'How to Fix Docker: Permission Denied'
excerpt: "Getting a 'permission denied' error when using Docker can be frustrating. Here's how to fix it."
category:
name: 'Docker'
slug: 'docker'
date: '2024-11-15'
publishedAt: '2024-11-15T09:00:00Z'
updatedAt: '2024-11-15T09:00:00Z'
readingTime: '6 min read'
author:
name: 'Your Name'
slug: 'your-name'
tags:
- Docker
- Troubleshooting
- Linux
- DevOps
---
Your content starts here. Note: The H1 heading comes from the title in front matter.Content Best Practices:
- Write clear, concise, and actionable content
- Include practical examples and code snippets
- Use proper markdown formatting
- Add relevant images (optimized for web)
- Proofread for grammar and spelling
- Focus on providing value to readers
- Location:
content/guides/<guide-name>/ - Structure:
- Introduction:
content/guides/<guide-name>/index.md - Parts:
content/guides/<guide-name>/01-part-one.md,02-part-two.md, etc.
- Introduction:
Introduction File Front Matter:
---
title: 'Complete Guide to Kubernetes'
description: 'A comprehensive guide to mastering Kubernetes'
category:
name: 'Kubernetes'
slug: 'kubernetes'
publishedAt: '2024-11-15T09:00:00Z'
updatedAt: '2024-11-15T09:00:00Z'
author:
name: 'Your Name'
slug: 'your-name'
tags:
- Kubernetes
- Containers
- Orchestration
---Part File Front Matter:
---
title: 'Kubernetes Fundamentals'
description: 'Understanding the basics of Kubernetes'
order: 1
---- Location:
content/exercises/<exercise-name>.md - Purpose: Hands-on practical exercises for skill development
- Location:
content/quizzes/<quiz-name>.md - Validation: Run
npm run quiz:validateto validate quiz structure
If you're contributing content, add your author info:
Location: content/authors/<your-slug>.md
---
name: 'Your Name'
slug: 'your-name'
bio: 'DevOps Engineer passionate about automation and cloud technologies'
avatar: '/images/authors/your-name.jpg'
social:
twitter: 'https://twitter.com/yourhandle'
github: 'https://github.com/yourhandle'
linkedin: 'https://linkedin.com/in/yourhandle'
---Check content/categories/ for existing categories. If you need a new category, create:
Location: content/categories/<category-slug>.md
---
name: 'Docker'
slug: 'docker'
description: 'All about Docker containers and containerization'
---# Start development server
npm run dev
# Run linting
npm run lint
# Fix linting issues
npm run lint:fix
# Format code
npm run format
# Check formatting
npm run check-format# Full build with image generation
npm run build
# Fast build (skip image generation)
npm run build:fast# Validate quizzes
npm run quiz:validate
# Generate RSS feed
npm run generate-feed
# Generate search index
npm run generate-search-index
# Generate post images
npm run generate:images:parallel-
Update your fork with the latest changes from main:
git checkout main git pull upstream main
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following the style guides
-
Test your changes locally:
npm run dev npm run lint npm run format
-
Commit your changes:
git add . git commit -m "feat: add your feature description"
Follow Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting)refactor:Code refactoringtest:Adding testschore:Maintenance tasks
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub:
- Provide a clear title and description
- Reference any related issues
- Include screenshots for UI changes
- Ensure all checks pass
- A maintainer will review your PR
- Address any requested changes
- Once approved, your PR will be merged
- Your contribution will be acknowledged in the release notes
- TypeScript: Use TypeScript for all new code
- Formatting: Run
npm run formatbefore committing - Linting: Run
npm run lintto check for issues - Components: Use functional components with hooks
- Naming: Use descriptive, camelCase variable names
- Comments: Write clear comments for complex logic
- Use ATX-style headers (
#syntax) - Include blank lines between sections
- Use fenced code blocks with language identifiers
- Keep lines under 120 characters when possible
- Use relative links for internal references
Follow Conventional Commits:
type(scope): subject
body
footer
Example:
feat(posts): add Docker networking guide
- Added comprehensive Docker networking guide
- Included practical examples
- Added diagrams for better understanding
Closes #123
Contributors are recognized in:
- GitHub contributors page
- Release notes
- Author pages (for content contributors)
- GitHub Issues: Ask a question
- Discussions: Check GitHub Discussions
By contributing to DevOps Daily, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to DevOps Daily! Your efforts help the entire DevOps community. ��