Thank you for your interest in contributing to LogicStamp! This document provides guidelines and instructions for contributing.
This project follows a Code of Conduct. By participating, you agree to uphold it.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/logicstamp.dev.git cd logicstamp.dev - Add upstream remote:
git remote add upstream https://github.com/original-owner/logicstamp.dev.git
- Create a branch from
main:git checkout main git pull upstream main git checkout -b feature/your-feature-name
This repository uses a simple feature → main branching model for both:
- LogicStamp Bundle (npm package)
- LogicStamp Site (
logicstamp.dev)
There is no develop branch. All changes go through short‑lived feature branches into main.
Branches:
main– always release‑readyfeature/*,fix/*,docs/*– short‑lived branches for work
Typical flow:
-
Create a feature branch from
main:git checkout main git pull origin main git checkout -b feature/short-description
-
Do the work, commit, and push:
git add . git commit -m "feat: short description" git push origin feature/short-description
-
Open a Pull Request targeting
main. -
After review and passing checks, merge into
mainand delete the branch.
Releasing to npm:
When you want to publish a new version:
# From main, with a clean working tree
git checkout main
git pull origin main
# Bump version (pick one)
npm version patch # or: minor / major
# Push commit + tag
git push --follow-tags
# Publish to npm
npm publishmain always reflects what is currently released (or ready to be released), and Git tags map to npm versions.
The site uses the same feature → main model, but "releases" are deployments.
Branches:
main– deployed to production via Vercelfeature/*– new sections, design tweaks, docs changes
Typical flow:
-
Create a feature branch from
main:git checkout main git pull origin main git checkout -b feature/update-landing-copy
-
Make changes, commit, and push the branch.
-
Open a PR targeting
main. -
Vercel creates a preview deployment for the PR.
-
If the preview looks good and checks pass, merge into
main. -
maindeploys automatically to production.
No develop branch is needed; PR previews act as the staging environment.
main branch protection (recommended):
- Require pull request reviews (at least 1 approval)
- Require status checks (lint, tests, build, etc.) to pass
- Require branches to be up to date before merging
- Disallow force pushes and deletions
Branch naming:
feature/add-xfix/bug-ydocs/update-z
Commit messages:
We follow Conventional Commits:
feat:new featurefix:bug fixdocs:docs-only changesstyle:formatting-only changesrefactor:internal refactorstest:testschore:tooling / maintenanceperf:performance improvementsci:CI/CD changes
Best Practices:
- Keep branches short‑lived – merge within days, not weeks.
- One change per branch – avoid mixing unrelated work.
- Sync with
mainregularly –git pull --rebase origin mainon feature branches. - Always use PRs – even for maintainers.
- Use preview deploys (site) to validate UX and docs before merging.
- Tag bundle releases on
mainso they map cleanly to npm versions.
This lightweight strategy keeps both repos simple while still being safe and review‑friendly.
-
Make your changes in your feature branch
-
Write clear commit messages following Conventional Commits:
feat:for new featuresfix:for bug fixesdocs:for documentationstyle:for formattingrefactor:for code refactoringtest:for testschore:for maintenance
-
Keep commits focused: Each commit should represent a logical change
-
Test your changes: Ensure all tests pass and the app runs correctly
-
Push your branch to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request:
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select your branch and target
main - Fill out the PR template
-
PR Requirements:
- Clear description of changes
- Reference related issues (e.g., "Fixes #123")
- Ensure CI checks pass
- Request review from maintainers
-
Respond to feedback: Be open to suggestions and make requested changes
- Node.js >= 18.18.0
- npm, yarn, or pnpm
npm installnpm run devVisit http://localhost:3000
npm run build
npm startnpm run type-checknpm run lint- Use TypeScript for all new code
- Avoid
anytypes - use proper types orunknown - Follow existing code style and patterns
- Use functional components with hooks
- Follow Next.js 14 App Router conventions
- Use TypeScript for component props
- Use Tailwind CSS for styling
- Follow existing design patterns
- Ensure responsive design
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Follow existing code formatting
-
Update your branch: Rebase or merge from
mainbefore submitting -
Write a good PR description:
- What changes were made
- Why the changes were needed
- How to test the changes
- Screenshots (if UI changes)
-
Ensure quality:
- Code follows project standards
- Tests pass (if applicable)
- No console errors or warnings
- Documentation updated (if needed)
-
Be patient: Maintainers will review your PR as soon as possible
When reporting bugs, please include:
- Clear description of the issue
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment (OS, Node version, browser)
- Screenshots (if applicable)
For feature requests:
- Clear description of the feature
- Use case and motivation
- Proposed solution (if any)
- Alternatives considered
- Open an issue for questions
- Check existing issues and discussions
- Review documentation in the
docsfolder
Contributors will be recognized in:
- CONTRIBUTORS.md (if created)
- Release notes
- Project documentation
Thank you for contributing to LogicStamp! 🎉