π€ Contributing
Thank you for contributing to nfsfu234-tour-guide! Every bug fix, feature, and doc improvement makes a difference.
π οΈ Getting Started
1. Fork & Clone
git clone https://github.com/nforshifu234dev/nfsfu234-tour-guide.git
cd nfsfu234-tour-guide2. Install Dependencies
npm install3. Create a Branch
git checkout -b feat/your-feature-name
# or
git checkout -b fix/your-bug-fix
# or
git checkout -b docs/what-you-updatedπ Project Structure
nfsfu234-tour-guide/
βββ src/
β βββ index.tsx # Main Tour component
β βββ index.d.ts # TypeScript definitions
βββ dist/ # Build output (auto-generated)
βββ README.md # Main documentation
βββ CHANGELOG.md # Version history
βββ MIGRATION.md # v0.x β v1.0 guide
βββ package.jsonπ§ Development Workflow
Build the Package
npm run buildTest Locally
# Link the package
npm link
# In your test project
npm link @nfsfu234/tour-guide
# Test your changes
npm run devVerify Build Before PR
npm run build
# Check dist/ folder is generated correctlyβοΈ Commit Convention
We use Conventional CommitsΒ β this drives automated versioning via standard-version.
| Prefix | Version Bump | Example |
|---|---|---|
feat: | Minor (0.2.x β 0.3.0) | feat: add RTL support |
fix: | Patch (0.2.21 β 0.2.22) | fix: tooltip off-screen on mobile |
docs: | None | docs: update README examples |
chore: | None | chore: update dependencies |
refactor: | None | refactor: simplify positioning logic |
BREAKING CHANGE: | Major (0.x β 1.0.0) | In commit body |
Good commit examples:
git commit -m "feat: add keyboard navigation support"
git commit -m "fix: welcome screen backdrop scrolls on mobile"
git commit -m "docs: add SaaS onboarding example"
git commit -m "chore: bump typescript to 5.4"Breaking change:
git commit -m "feat: redesign theme API
BREAKING CHANGE: removed className props, use customTheme instead"π Submitting a Pull Request
1. Push Your Branch
git push origin feat/your-feature-name2. Open a PR on GitHub
- Target:
mainbranch - Title: Follow conventional format β
feat: add Xorfix: resolve Y - Description template:
## What Changed
- Brief description of changes
## Why
- The problem this solves
## Testing
- [ ] Builds successfully (`npm run build`)
- [ ] Tested in a real project
- [ ] TypeScript types updated if needed
- [ ] README updated if needed
Closes #1233. Automated Checks
- β Build must pass
- β PR title must be conventional commit format
- β Changelog auto-generated on merge
π± First-Time Contributors
New to open source? Youβre in the right place! π
- Look for
good first issuelabels - Comment on an issue: βIβd like to work on this!β
- Ask questions β no judgment here π
π― High Priority Areas
Things weβd love help with:
- βΏ Accessibility β ARIA labels, keyboard navigation, screen reader support
- π± Mobile β Better positioning on small screens
- π i18n β Built-in language utilities
- π¨ Themes β More built-in theme presets
- β Tests β Unit and integration test coverage
- π Docs β Examples, guides, tutorials
π Reporting Bugs
Before opening an issue:
- Check existing issuesΒ
- Test with the latest version
Bug report should include:
- Library version (
npm list @nfsfu234/tour-guide) - React version
- Browser & OS
- Minimal code example
- Error messages / screenshots
π‘ Feature Requests
Open an issue with the enhancement label. Include:
- What: The feature you want
- Why: The problem it solves
- How: Optional β your proposed implementation
π Code of Conduct
Be respectful, inclusive, and collaborative. We follow the Contributor CovenantΒ .
π Thank You
Your contributions make nfsfu234-tour-guide better for developers worldwide.
Built with β€οΈ by NFORSHIFU234 DevΒ and contributors like you.
Last updated on