Contributing to Quikturn Logos
February 20, 2026 · View on GitHub
We welcome, appreciate, and applaud all contributions!
Getting Started
Prerequisites
Setup
# Clone the repository
git clone https://github.com/quikturn-sdk/Logos.git
cd Logos
# Install dependencies
pnpm install
# Build the core SDK
pnpm build
# Run tests
pnpm test
Project Structure
This is a pnpm monorepo:
| Package | Path | Description |
|---|---|---|
@quikturn/logos | . | Core SDK — URL builder, browser client, server client, web component |
@quikturn/logos-react | packages/react | React components — QuikturnLogo, LogoCarousel, LogoGrid |
@quikturn/logos-next | packages/next | Next.js integration — QuikturnImage (next/image wrapper), server helpers |
@quikturn/logos-vue | packages/vue | Vue 3 components |
@quikturn/logos-svelte | packages/svelte | Svelte 5 components |
@quikturn/logos-angular | packages/angular | Angular standalone components with signal inputs |
Development Workflow
Building
# Build core SDK (required before building framework packages)
pnpm build
# Build a specific package
pnpm --filter @quikturn/logos-react build
Testing
# Run core SDK tests
pnpm test
# Run a specific package's tests
pnpm --filter @quikturn/logos-vue test
# Watch mode
pnpm test:watch
Linting and Type Checking
# Run both typecheck and lint
pnpm check
# Or individually
pnpm typecheck
pnpm lint
Submitting Changes
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Ensure tests pass (
pnpm test) - Ensure types and lint pass (
pnpm check) - Commit using conventional commits (e.g.,
feat:,fix:,docs:) - Open a pull request
Commit Convention
We use conventional commits to automate versioning and changelogs:
feat: ...— new feature (minor version bump)fix: ...— bug fix (patch version bump)docs: ...— documentation onlychore: ...— maintenance (no release)feat!: ...— breaking change (major version bump)
Code Style
- TypeScript strict mode
- No runtime dependencies in the core SDK
- Each framework package re-implements beacon and href validation locally
- Coverage thresholds: 90% branches, 95% lines/functions/statements
Reporting Issues
Found a bug or have a feature request? Open an issue.
License
By contributing, you agree that your contributions will be licensed under the MIT License.