Thank you for your interest in contributing to Mindwtr! This guide will help you get started.
Be kind, respectful, and constructive. We're all here to build something useful together.
Found a bug? Open an issue with:
Have an idea? Open a feature request with:
See [Developer Guide] for full setup instructions.
git clone https://github.com/dongdongbh/Mindwtr.git
cd Mindwtr
bun install
bun desktop:dev # or bun mobile:start
git checkout -b feature/your-feature-name
# or
git checkout -b fix/bug-description
# Run all tests
bun test
# Test desktop
bun desktop:dev
# Test mobile
bun mobile:start
Write clear, descriptive commit messages:
feat: add recurring task support for yearly recurrence
- Added yearly option to recurrence selector
- Updated createNextRecurringTask to handle yearly
- Added tests for yearly recurrence
Commit prefixes:
feat: — New featurefix: — Bug fixdocs: — Documentationstyle: — Formattingrefactor: — Code refactoringtest: — Adding testschore: — Maintenancegit push origin feature/your-feature-name
Then open a pull request on GitHub.
any types# All tests
bun test
# Watch mode
bun test --watch
# Specific file
bun test store.test.ts
Keep tests focused
:::typescript
describe('addTask', () => {
it('should add task to inbox by default', async () => {
await addTask('New task');
expect(tasks).toContainEqual(
expect.objectContaining({ title: 'New task', status: 'inbox' })
);
});
});
Mindwtr/
├── apps/
│ ├── cloud/ # Sync server
│ ├── desktop/ # Tauri desktop app
│ └── mobile/ # Expo mobile app
├── packages/
│ └── core/ # Shared business logic
├── docs/ # Documentation
├── wiki/ # Wiki source files
└── .github/ # CI/CD workflows
| Change Type | Location |
|---|---|
| Business logic | packages/core/src/ |
| Desktop UI | apps/desktop/src/ |
| Mobile UI | apps/mobile/app/ |
| Translations | packages/core/src/i18n-translations.ts |
| Documentation | docs/ or wiki/ |
Edit packages/core/src/i18n-translations.ts:
export const translations = {
en: {
'new.key': 'English text',
},
zh: {
'new.key': '中文文本',
},
};
Language type (in i18n-types.ts)Releases are automated via GitHub Actions:
package.jsonCHANGELOG.md is updatedInstallationMetadata is an object (not a list) with DefaultInstallLocation setContributors are recognized in:
Thank you for helping make Mindwtr better! 🙏
Wiki: Architecture
Wiki: Core API
Wiki: Developer Guide
Wiki: FAQ
Wiki: Home
Wiki: _Sidebar