Thank you for your interest in contributing KiwiTalk! This documentation contains
- project summary and design goals of KiwiTalk
- how to setup development environment
- how to add new feature or fix bugs
Before you start, checkout community's Code of Conduct and if you'd like, join Discord server.
For detailed project strcuture, checkout ARCHITECTURE.md.
KiwiTalk is open-source alternative KakaoTalk
client.
The project is currently focusing on supporting OS where official client does not run.
KiwiTalk currently has following design goals:
- Lightweight: Uses only necessary resources, unload when it is not used
- Portable: Easily move user data between devices
- Fast: App runs performant, responsive and parallel
- Modular: Split large codes into replacable modules
Note: Official client & server is proprietary and undocumented, so A lot of experiments need to be done. This means a lot of code can be changed quickly over time.
KiwiTalk is tauri
project. Please follow Tauri development prerequisites.
pnpm
is being used to run various commands and frontend package management.
If you don't have pnpm installed, please follow pnpm installation guide.
Install frontend dependencies using command:
pnpm install
To launch KiwiTalk uses command below:
pnpm run dev
If you are running on Windows Subsystem for Linux, follow Microsoft official document.
Storybook is used for designing gui components. To run storybook uses command below:
pnpm run storybook
Also checkout KiwiTalk UI Mockup.
Navigate to issues page and finds issues tagged with Status: Available
.
If you are first, it is good to starts with issues tagged with good first issue
.
- Login to Github and fork KiwiTalk repository. Clone forked repository using
git clone https://github.com/<username>/KiwiTalk.git
Note: Change <username>
to your Github username.
- Enter to repository directory
cd KiwiTalk
- Make changes, commit and push. For example:
git add *
git commit -m "feat: implement new feature"
git push
Note: Commit messages follow Conventional Commits
- Create pull request to dev branch. Pull requests