Thank you for your interest in contributing to Snapfeed! This document provides guidelines and information about contributing to this project.
- Fork and clone the repository
- Install dependencies:
npm install - Build all packages:
npm run build - Run tests:
npm test
packages/
client/ @microsoft/snapfeed — browser client library
server/ @microsoft/snapfeed-server — Hono + SQLite backend
examples/
python/ FastAPI + SQLite example
This is an npm workspaces monorepo. Common commands:
# Build everything
npm run build
# Build a specific package
npm run build --workspace=packages/client
npm run build --workspace=packages/server
# Run tests
npm test
# Lint & format
npx biome check --write .
# Start the dev server
npm run dev --workspace=packages/server- Create a feature branch from
main - Make your changes
- Ensure
npm run buildandnpm testpass - Run
npx biome ci .to check formatting and linting - Submit a pull request
- Keep PRs focused — one feature or fix per PR
- Include tests for new functionality
- Update documentation if your changes affect the public API
- Follow existing code style (enforced by Biome)
- Use the Bug Report template for bugs
- Use the Feature Request template for ideas
- Check existing issues before creating a new one
This project has adopted the Microsoft Open Source Code of Conduct. See CODE_OF_CONDUCT.md for details.
By contributing, you agree that your contributions will be licensed under the MIT License.