First off, thank you for considering contributing to devdocx! It's people like you that make this documentation resource better for everyone. π
This project is participating in Hacktoberfest 2025! We welcome contributions from developers of all skill levels.
- Register at hacktoberfest.com
- Make 4 quality pull requests during October
- Get your PR merged to count towards Hacktoberfest!
Note: Please make sure your contributions are meaningful and follow our guidelines. Spam PRs will be marked as invalid or spam.
- Code of Conduct
- How Can I Contribute?
- Getting Started
- Contribution Guidelines
- Pull Request Process
- Style Guide
- Good First Issues
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Add docs for new libraries/frameworks (Next.js, React, TypeScript, etc.)
- Expand existing documentation with more examples
- Create new cheatsheets
- Fix typos or grammatical errors
- Add more code examples
- Improve explanations
- Add diagrams or visualizations
- Update outdated information
- Add more interview questions with detailed answers
- Add real-world scenario questions
- Add coding challenges
- Add search functionality
- Add interactive mode
- Improve error handling
- Add syntax highlighting
- Report bugs via issues
- Fix existing bugs
- Suggest better organization
- Add navigation improvements
- Create index pages
- Node.js (v14 or higher)
- npm or yarn
- Git
- A code editor (VS Code recommended)
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/devdocx.git cd devdocx -
Add upstream remote:
git remote add upstream https://github.com/GreenHacker420/devdocx.git
-
Install dependencies:
npm install
-
Create a new branch:
git checkout -b feature/your-feature-name
Test the CLI tool:
# Link the package locally
npm link
# Test the CLI
devdocx javascript/arrays
devdocx express/middleware-
File Naming
- Use lowercase with hyphens:
array-methods.md,async-await.md - Be descriptive and concise
- Use lowercase with hyphens:
-
Markdown Format
# Topic Title Brief description of the topic. ## Subtopic Explanation... ### Example ```javascript // Code example with comments const example = "Clear and working code";
Output:
Expected output -
Code Examples
- Must be working and tested
- Include comments explaining key parts
- Show expected output when relevant
- Use real-world examples when possible
-
Content Quality
- Clear and concise explanations
- Beginner-friendly but comprehensive
- Include both basic and advanced examples
- Add warnings for common pitfalls
- Link to related topics
# Topic Name
Brief overview of what this topic covers (2-3 sentences).
## What is [Topic]?
Detailed explanation of the concept.
## Basic Example
```javascript
// Simple, clear example
const example = "code";-
Use Case 1
// Example code -
Use Case 2
// Example code
// More complex exampleβ οΈ Pitfall 1: Explanation and how to avoidβ οΈ Pitfall 2: Explanation and how to avoid
- β Best practice 1
- β Best practice 2
## π Pull Request Process
1. **Update your fork**:
```bash
git fetch upstream
git checkout main
git merge upstream/main
-
Create a feature branch:
git checkout -b feature/amazing-feature
-
Make your changes:
- Follow the style guide
- Test your changes
- Add comments where necessary
-
Commit your changes:
git add . git commit -m "Add: Brief description of changes"
Commit Message Format:
Add:for new features/docsFix:for bug fixesUpdate:for improvementsDocs:for documentation changesRefactor:for code refactoring
-
Push to your fork:
git push origin feature/amazing-feature
-
Create a Pull Request:
- Go to your fork on GitHub
- Click "New Pull Request"
- Fill in the PR template
- Link any related issues
- My code follows the style guidelines
- I have tested my changes locally
- All examples are working and tested
- I have added comments for complex code
- My commit messages are clear and descriptive
- I have updated the README if needed
- My changes don't break existing functionality
- Use ATX-style headers (
#instead of underlines) - Use fenced code blocks with language specified
- Use bold for emphasis, italic for light emphasis
- Use
backticksfor inline code - Add blank lines between sections
JavaScript:
// Use const/let, not var
const myVariable = "value";
// Use descriptive names
const userAuthentication = async (credentials) => {
// Clear comments for complex logic
const token = await generateToken(credentials);
return token;
};
// Use modern ES6+ syntax
const { name, email } = user;docs/
βββ topic/
β βββ basic-concept.md
β βββ advanced-concept.md
β βββ subtopic.md
Look for issues labeled:
good first issue- Perfect for newcomersdocumentation- Documentation improvementshelp wanted- We need your help!hacktoberfest- Hacktoberfest-friendly issues
- Fix typos - Easy way to start!
- Add code comments - Help explain existing code
- Improve examples - Make them more clear
- Add output examples - Show what code produces
- Write tests - Ensure examples work
Before submitting a bug report:
- Check existing issues
- Try to reproduce the bug
- Collect information about your environment
When submitting a bug report, include:
- Clear title and description
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Environment details (OS, Node version, etc.)
When suggesting an enhancement:
- Use a clear and descriptive title
- Provide detailed description
- Explain why this enhancement would be useful
- Provide examples if possible
- Open an issue with the
questionlabel - Check existing issues and documentation
- Be respectful and patient
Contributors will be:
- Listed in our README
- Mentioned in release notes
- Part of the devdocx community!
- GitHub Issues: For bugs and features
- Discussions: For questions and ideas
- Email: [Your contact if you want to add]
Your contributions make devdocx better for everyone. Whether it's a typo fix or a major feature, every contribution matters!
Happy Contributing! π
This document is inspired by open-source contribution guidelines and adapted for devdocx.