| title | Contributing | ||||||
|---|---|---|---|---|---|---|---|
| description | Guidelines for code contributions, non-code contributions, development workflow, coding standards, testing, and community expectations | ||||||
| category | Community | ||||||
| version | 1.0.0 | ||||||
| last_updated | 2026-04-10 | ||||||
| autor | Contributing | ||||||
| audience | contributor, developer | ||||||
| contribution_types |
|
||||||
| tags |
|
Thank you for your interest in contributing to PromptBasic IDE! This document provides guidelines and information for contributors.
- Bug fixes
- New features
- Performance improvements
- Code refactoring
- Documentation improvements
- Bug reports
- Feature requests
- Testing
- Design feedback
- Community support
- Tutorial creation
- FAQ updates
- API documentation
- Troubleshooting guides
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/your-username/promptbasic-ide.git cd promptbasic-ide - Set up upstream remote:
git remote add upstream https://github.com/tholewis/promptbasic-ide.git
- Install dependencies:
npm install
- Create a feature branch:
git checkout -b feature/your-feature-name
- Check existing issues on GitHub
- Look for issues labeled
good first issueorhelp wanted - Comment on the issue to indicate you're working on it
git checkout -b feature/issue-number-description
# or
git checkout -b bugfix/issue-number-description- Write clear, concise commit messages
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
# Run the development server
npm run dev
# Run tests (when available)
npm test
# Build for production
npm run buildgit add .
git commit -m "feat: add new control type - slider"
git push origin feature/your-feature-name- Go to your fork on GitHub
- Click "Compare & pull request"
- Fill out the pull request template
- Reference any related issues
- Use modern ES6+ syntax
- Follow React best practices
- Use functional components with hooks
- Consistent naming conventions (camelCase for variables, PascalCase for components)
- Add JSDoc comments for complex functions
import React, { useState } from 'react';
/**
* A customizable button control for the IDE
* @param {Object} props - Component properties
* @param {string} props.text - Button text
* @param {Function} props.onClick - Click handler
*/
const ButtonControl = ({ text, onClick }) => {
const [isPressed, setIsPressed] = useState(false);
const handleClick = () => {
setIsPressed(true);
onClick();
setTimeout(() => setIsPressed(false), 150);
};
return (
<button
className={`button-control ${isPressed ? 'pressed' : ''}`}
onClick={handleClick}
>
{text}
</button>
);
};
export default ButtonControl;Follow conventional commit format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featuresfix: Bug fixesdocs: Documentationstyle: Code style changesrefactor: Code refactoringtest: Testingchore: Maintenance
Examples:
feat: add slider control component
fix: resolve button click event handling
docs: update API reference for new endpoints
- Write tests for utility functions
- Test component rendering and interactions
- Mock external dependencies (API calls)
- Test complete user workflows
- Verify API integration
- Check error handling
- Test in multiple browsers
- Verify responsive design
- Check accessibility
- Add JSDoc comments to functions and components
- Document complex algorithms
- Explain non-obvious code decisions
- Update docs for new features
- Add examples and tutorials
- Keep screenshots current
- Code follows the style guide
- All tests pass
- Documentation is updated
- Commit messages are clear
- Branch is up to date with main
Please fill out the pull request template with:
- Description of changes
- Related issues
- Testing instructions
- Screenshots (if UI changes)
- Breaking changes (if any)
- Automated checks run (linting, tests)
- Code review by maintainers
- Requested changes addressed
- Approval and merge
When reporting bugs, include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Browser/OS information
- Screenshots or videos
- Console errors
For new features, provide:
- Use case description
- Why it's needed
- How it should work
- Mockups or examples (if applicable)
- Treat all contributors with respect
- Constructive criticism only
- Help newcomers learn
- Use clear, concise language
- Provide context for questions
- Be patient with responses
- Give credit where due
- Acknowledge contributions
- Celebrate successes
- README.md - Project overview
- Architecture - Technical details
- API Reference - Backend documentation
- Troubleshooting - Common issues
- GitHub Issues: For bugs and features
- GitHub Discussions: For questions and ideas
- Email: For private matters
Contributors are recognized in:
- GitHub repository contributors list
- CHANGELOG.md for significant contributions
- Project documentation acknowledgments
Thank you for contributing to PromptBasic IDE! Your efforts help make programming more accessible to everyone.