Thank you for contributing to Forge Space Brand Guide, the official brand identity library and design system documentation. This guide covers everything you need to know to submit high-quality contributions.
All contributors are expected to be respectful, constructive, and professional. Harassment or exclusionary behavior will not be tolerated.
git clone https://github.com/Forge-Space/brand-guide.git
cd brand-guide
npm installgit checkout -b feat/my-feature
# or
git checkout -b fix/issue-descriptionBranch naming conventions:
feat/*- New features or brand assetsfix/*- Bug fixes or visual correctionschore/*- Maintenance tasksdocs/*- Documentation updatesrefactor/*- Code refactoring
npm run lint
npm run build # Builds both Astro site and npm library
npm testBrand Guide serves two purposes:
- Astro site - Public brand documentation at brand.forgespace.co
- npm library -
@forgespace/brand-guidefor programmatic brand identity access
Changes should consider both use cases.
- TypeScript only - All new code must be TypeScript
- Function size - Keep functions under 50 lines
- Cyclomatic complexity - Maximum complexity of 10 per function
- Line width - Maximum 100 characters per line
- No comments - Write self-documenting code unless clarification is absolutely necessary
When adding or modifying brand assets:
- Export all logo variants in SVG, PNG (2048px), and WEBP (2048px) formats
- Ensure accessibility: minimum WCAG AA contrast ratios
- Follow naming conventions:
{brand}-{variant}-{tint}.{ext}(e.g.,forge-wordmark-purple.svg) - Update
src/identity.tswith new variants - Add usage examples to relevant Astro pages
- Minimum 80% test coverage for TypeScript utilities
- Test brand identity structure and type exports
- Validate asset generation scripts
# Run all tests
npm test
# Build and validate outputs
npm run buildBefore opening a PR, ensure:
npm run lint # ESLint passes
npm run build # Both Astro site and npm library build
npm test # All tests passUse Conventional Commits:
feat: add Modern Horn monochrome purple palette
fix: correct WCAG contrast ratio for secondary color
refactor: simplify brand identity export structure
chore: regenerate PNG/WEBP assets with sharp
docs: add repository branding guidelines
Types: feat, fix, docs, refactor, test, perf, chore, ci, style
- Code follows TypeScript standards (functions <50 lines, complexity <10)
- Brand assets exported in all required formats (SVG, PNG, WEBP)
- Tests added for new functionality with ≥80% coverage
- All tests pass:
npm test - Lint checks pass:
npm run lint - Both builds succeed:
npm run build(Astro + library) - CHANGELOG.md updated under
[Unreleased]section - README.md updated if brand identity or public API changed
- Commit messages follow conventional commit format
- Push your branch:
git push origin feat/my-feature - Open a PR against
main - Fill in the PR template with:
- Summary of changes
- Visual previews (for brand asset changes)
- Test plan
- Breaking changes (if any)
- Request a review from a maintainer
- Automated CI runs lint, type-check, build, tests, and security scans
- Maintainer review checks visual quality, brand consistency, and documentation
- Approval requires CI passing + at least 1 maintainer approval
- Merge is done by a maintainer using squash merge
Typical review turnaround: 2–5 business days.
Open a GitHub Discussion or file an issue.