Thank you for your interest in contributing to LangForge Documentation! This guide will help you get started and ensure your contributions align with our standards.
- Fix typos, grammar, or formatting issues
- Add missing examples or clarify existing ones
- Improve navigation and organization
- Add new tutorials or guides
- Translate content to other languages
- Fix bugs in the documentation platform
- Add new features (search, analytics, etc.)
- Improve performance and accessibility
- Enhance the build system
- Report bugs or broken links
- Suggest new features or improvements
- Request new examples or tutorials
- Node.js 16+ and npm 8+
- Git
- Text editor (VS Code recommended)
- Basic knowledge of Markdown
-
Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/langforge-docs.git cd langforge-docs -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser
http://localhost:3000
langforge-docs/
├── docs/ # Documentation content
│ ├── getting-started/ # Beginner guides
│ ├── examples/ # Code examples
│ ├── guides/ # How-to guides
│ └── components/ # Component docs
├── server.js # Express server
├── tests/ # Test files
├── .github/ # GitHub workflows
└── scripts/ # Build scripts
- Clear and concise: Use simple, direct language
- Action-oriented: Start with verbs ("Create", "Build", "Configure")
- Code-heavy: Include working examples for everything
- Visual: Use diagrams, tables, and formatting effectively
- Use
#for main headings,##for sections,###for subsections - Include code blocks with proper language highlighting
- Add alt text for images:
 - Use tables for structured data
- Include emoji for visual appeal (sparingly)
- Working code: All examples must be tested and functional
- Complete examples: Include all necessary imports and setup
- Comments: Explain complex parts
- Multiple languages: Provide Python and TypeScript when possible
Example format:
# Install: pip install langchain openai
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
# Initialize the LLM
llm = OpenAI(temperature=0.7, api_key="your-key")
# Create a prompt template
template = PromptTemplate(
input_variables=["topic"],
template="Explain {topic} in simple terms"
)
# Generate response
response = llm(template.format(topic="machine learning"))
print(response)- Describe the problem or improvement
- Discuss approach with maintainers
- Get approval before starting work
git checkout -b feature/your-feature-name- Follow our style guidelines
- Add tests for new functionality
- Update documentation as needed
npm run lint # Check code style
npm test # Run tests
npm run build # Test build processUse conventional commit format:
git commit -m "docs: add RAG system example"
git commit -m "fix: resolve broken link in quickstart"
git commit -m "feat: add search functionality"- Fill out the PR template completely
- Link to related issues
- Add screenshots for UI changes
- Request review from maintainers
Before submitting your PR, ensure:
- Code follows style guidelines (ESLint passes)
- All tests pass (
npm test) - Documentation is updated
- Examples are tested and working
- No breaking changes (or documented)
- PR title follows conventional commits
- PR description explains the changes
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run specific test file
npm test -- tests/api.test.js- Test all new functionality
- Include edge cases
- Use descriptive test names
- Follow existing test patterns
- Installation guides
- Quick start tutorials
- Basic concepts
- Working code samples
- Step-by-step tutorials
- Real-world use cases
- How-to articles
- Best practices
- Troubleshooting
- API documentation
- Configuration options
- Advanced topics
We welcome translations! Here's how to contribute:
- Check existing translations in the
/docs/translations/folder - Create language folder:
/docs/translations/es/(for Spanish) - Translate core pages first: README, getting-started, basic examples
- Maintain structure: Keep the same folder structure as English docs
- Update navigation: Add language links to navigation
- Friendly and approachable: Write like you're helping a colleague
- Professional: Maintain technical accuracy
- Encouraging: Help users feel confident
- Inclusive: Use inclusive language and examples
- Headers: Use sentence case (not title case)
- Code: Always use syntax highlighting
- Links: Use descriptive link text
- Lists: Use parallel structure
- Emphasis: Use bold for important terms, italics for emphasis
- Follow ESLint configuration
- Use Prettier for formatting
- Write self-documenting code
- Include JSDoc comments for functions
- Optimize images and assets
- Minimize bundle size
- Use lazy loading where appropriate
- Test on mobile devices
- Use semantic HTML
- Include alt text for images
- Ensure keyboard navigation works
- Test with screen readers
bug: Something isn't workingenhancement: New feature or improvementdocumentation: Documentation changesgood first issue: Good for newcomershelp wanted: Extra attention neededquestion: Further information requested
Contributors are recognized in several ways:
- Contributors list: Added to README.md
- Release notes: Mentioned in release announcements
- Hall of fame: Featured on documentation site
- Swag: LangForge stickers and swag for significant contributions
- Questions: Open a GitHub Discussion
- Bug reports: Create an issue
- Feature requests: Use our feature request template
- Real-time chat: Join our Discord community
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make LangForge Documentation better for everyone! 🚀