Contributing
How to contribute to UAIF.
Getting Started
- Fork the repository
- Clone your fork
- Install dependencies
- Create a branch
- Make your changes
- Run tests
- Submit a pull request
bash
# Fork and clone
git clone https://github.com/your-username/uaif.git
cd uaif
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm testDevelopment Workflow
Building
bash
pnpm build # Build all packages
pnpm build --watch # Watch modeTesting
bash
pnpm test # Run all tests
pnpm test -- watch # Watch modeLinting
bash
pnpm lint # Check for issues
pnpm lint:fix # Auto-fix issuesFormatting
bash
pnpm format # Format code
pnpm format:check # Check formattingProject Structure
uaif/
├── packages/
│ ├── core/ # Core contracts, types, registry
│ ├── cli/ # CLI tool
│ └── adapters/ # Framework adapters
├── docs/ # Documentation
├── fixtures/ # Test fixture projects
└── .workspace/ # Development artifactsCode Style
- TypeScript strict mode
interfaceovertypefor object shapesconstoverlet, nevervar- Optional chaining (
?.) and nullish coalescing (??) - Conventional commits
Commit Convention
type(scope): message
feat(core): add new contract type
fix(clerk): handle session expiry
docs(readme): update installation guide
test(registry): add provider testsPull Request Process
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md
- Request review
License
By contributing, you agree that your contributions will be licensed under the MIT License.