b5 is an early-stage work-in-progress project, and all kinds of contributions are welcome! This guide will help you get started with contributing to the project.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/peilingjiang/b5/llms.txt
Use this file to discover all available pages before exploring further.
Ways to Contribute
There are many ways to contribute to b5:- Report bugs and issues
- Suggest new features and improvements
- Improve documentation
- Fix bugs and implement features
- Create and share example projects
- Improve UI/UX design
- Add new blocks and functionality
- Write tests
Getting Started
Read the documentation
Familiarize yourself with the project:
- Development Setup - Set up your local environment
- Architecture - Understand the codebase structure
- Code of Conduct - Review community guidelines
Set up your development environment
Follow the Development Setup guide to clone and run the project locally.
Find something to work on
Look for issues labeled
good first issue or help wanted in the GitHub repository.Reporting Issues
Found a bug or have a feature request?From the Editor
Click the link at the top left corner of the editor to report issues directly from the application.From GitHub
Create a new issue at github.com/peilingjiang/b5/issues/newWhat to Include
When reporting issues, please include:- Clear description of the problem or suggestion
- Steps to reproduce (for bugs)
- Expected behavior vs actual behavior
- Screenshots or recordings if applicable
- Browser and OS information
- Error messages from the browser console
For bugs, try to create a minimal reproduction case. This helps maintainers understand and fix the issue faster.
Making Changes
Workflow
Make your changes
- Write your code
- Test your changes thoroughly
- Ensure existing functionality still works
- Add tests if applicable
Commit your changes
Code will be automatically formatted on commit using Prettier.Write clear, descriptive commit messages.
Code Style
Code formatting is handled automatically! The project uses Prettier with pre-commit hooks.
simple-git-hookstriggers on commitlint-stagedruns on staged files- Prettier formats
*.{js,jsx,ts,tsx,json,md,html,css}files
Pull Request Guidelines
When creating a pull request:- Title: Clear and descriptive (e.g., “Add log block for inline logging”, “Fix wire rendering bug”)
- Description: Explain what changes you made and why
- Reference issues: Link related issues (e.g., “Fixes #123”)
- Screenshots: Include before/after screenshots for UI changes
- Testing: Describe how you tested your changes
Development Best Practices
Testing Your Changes
-
Run the development server:
-
Test in the browser:
- Test on
localhost:3000 - Try different scenarios and edge cases
- Test with various example files
- Test on
-
Run tests (if available):
-
Test the production build:
Working with Submodules
If your changes involve the b5.js submodule:b5.js is a separate repository. You may need to create a pull request there as well.
Project Roadmap
Current development priorities and to-dos:b5 Core
- Cover most original p5.js functionalities
- Bring videos, images, sounds into the canvas
logblock for inline logging (instead of console)
b5Iterateobject for streaming multiple data through one wire- Error system with type checking and visual feedback
- Output shape objects from drawing blocks
- Custom object creation system
- Integration with more libraries
- Posenet library workflow
Interface
- User preferences
- Quick start guide
- File and section sharing
- Quick preview embed for websites
- Multi-language support
- Multi-block selection and operations
- Undo/redo (
Cmd/Ctrl + Z) - Copy/paste (
Cmd/Ctrl + C/V) - Open viewer in separate tab
- Accessibility improvements
Sharing Example Projects
Created something cool with b5? Share it!- Save your project:
Cmd/Ctrl + Sto download as JSON - Create an issue or discussion with:
- Description of your project
- Screenshot or recording
- The JSON file
- Your project may be added to the example files in the editor!
src/examples/ and can be loaded from the Files icon in the editor.
Getting Help
Questions and Discussions
- GitHub Discussions: Ask questions, share ideas, get feedback
- GitHub Issues: For bug reports and feature requests
- Editor feedback link: Top left corner of the editor
Code Review
When you submit a pull request:- Maintainers will review your code
- They may request changes or ask questions
- Be responsive to feedback
- Don’t take criticism personally - it’s about improving the code!
Recognition
Contributors are valued and recognized:- All contributors are acknowledged in the project
- Significant contributions may be highlighted
- Building a collaborative and inclusive community
No Contribution is Too Small
Even small contributions make a difference:- Fixing typos in documentation
- Improving error messages
- Adding code comments
- Reporting bugs
- Suggesting improvements
Academic Citations
If you use b5 in academic work, please cite:Peiling Jiang. 2023. Positional Control in Node-Based Programming. In Extended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems (CHI EA ‘23), April 23–28, 2023, Hamburg, Germany. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3544549.3585878