Thank you for your interest in contributing to our project! This guide will help you get started with the development process.
- Bun installed on your system
- Fork the repository
- Clone your fork:
git clone https://github.com/TimMikeladze/devbar.git - Navigate to the project directory:
cd devbar - Install dependencies:
bun install - Start development:
bun run dev
Run bun run dev - This starts a Bun + React preview app at http://localhost:3847 to test components in real-time.
- Create a new branch:
git checkout -b feature/your-feature-name - Start development mode:
bun run dev - Make your changes and test them live in the preview app
- Check code style and formatting:
bun run lintandbun run format - Build the project:
bun run build - Commit your changes using the conventions below
- Push your branch to your fork
- Open a pull request
The Open Graph image at app/public/og-v3.png is generated from the HTML template in scripts/og-image.html. After editing the template, regenerate the PNG with bun run og (renders at 2x via Playwright, downscaled to 1200x630, written as an opaque RGB PNG with no alpha channel — X is unreliable with alpha-channel PNGs) and commit both files.
Social crawlers cache the image by URL and rarely re-fetch it, so a redesign that keeps the same filename will keep showing the old preview. When the artwork changes meaningfully, bump the version suffix (og-v3.png → og-v4.png) in scripts/generate-og.ts, in the og:image, og:image:secure_url, twitter:image, and JSON-LD image tags in app/index.html, and in the redirect and header entries in vercel.json.
The screenshots in docs/images/ are generated, not hand-taken. Start the landing page (bun run --cwd app dev --port 5178, after a bun run build so it picks up the current toolbar) and run bun run screenshots. The script drives the real toolbar over that page with Playwright and starts its own throwaway devbar server on port 3190, so the Agent tab shows a project claiming the page rather than whatever server happens to be running on the machine. Set PW_CHROMIUM if Playwright's own Chromium download is missing, and commit the regenerated PNGs alongside the change that made them stale.
The README links the images by their raw.githubusercontent URL rather than a relative path, because npm renders the same file and does not resolve relative image paths — docs/ is not in the published files list either way.
We follow Conventional Commits for clear and structured commit messages:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changes (formatting, etc.)refactor:Code changes that neither fix bugs nor add featuresperf:Performance improvementstest:Adding or updating testschore:Maintenance tasks, dependencies, etc.
- Update documentation if needed
- Ensure all tests pass
- Address any feedback from code reviews
- Once approved, your PR will be merged
Please be respectful and constructive in all interactions within our community.
If you have any questions, please open an issue for discussion.
Thank you for contributing to devbar!