First off, thank you for considering contributing to this project!
We use GitHub flow, so all code changes happen through pull requests.
- Fork the repo and create your branch from
master. - Make your changes and add tests if applicable.
- Ensure the test suite passes.
- Ensure your code lints.
- Issue that pull request!
This project uses:
- pnpm for package management
- Turbo for monorepo build orchestration
- Tauri for desktop app development
- Next.js for web frontend
- Node.js 20+
- pnpm 10+
- Rust (for Tauri development)
# Clone the repository
git clone https://github.com/odest/tntstack.git
cd tntstack
# Install dependencies
pnpm install
# Start development
pnpm devpnpm dev- Start development servers for all appspnpm build- Build all apps and packagespnpm lint- Run ESLint on all packagespnpm check-types- Run TypeScript type checkingpnpm clean- Clean all build outputspnpm tauri- Run Tauri CLI commands
├── apps/
│ ├── native/ # Tauri + Next.js desktop app
│ └── web/ # Next.js web app
├── packages/
│ ├── ui/ # Shared UI components
│ ├── i18n/ # Shared internationalization
│ ├── eslint-config/ # Shared ESLint configuration
│ └── typescript-config/ # Shared TypeScript configuration
└── .github/ # GitHub workflows and templates
- Update the README.md with details of changes to the interface (if applicable).
- Update version numbers in package.json files following SemVer.
- The PR will be merged once you have the sign-off of at least one maintainer.
- Use TypeScript for all new code
- Follow the existing code style (we use Prettier and ESLint)
- Write meaningful commit messages
- Keep PRs focused and atomic
We use GitHub issues to track public bugs. Report a bug by opening a new issue with our bug report template.
We welcome feature requests! Please open an issue with our feature request template.
This project is licensed under the MIT License. See the LICENSE file for details.