First off, thanks for taking the time to contribute! 🎉
Kore is an open-source Kubernetes IDE built with Tauri v2 (Rust) and Svelte 5 (TypeScript). We welcome contributions from everyone—whether you're coding manually or using AI agents.
Before you start, ensure you have the following installed:
- Node.js (v20+) & pnpm
- Rust (Stable)
- Docker (Optional, for local Kubernetes testing)
-
Fork and Clone the repository.
-
Install Frontend Dependencies:
pnpm install
-
Install Backend Dependencies:
cd src-tauri cargo fetch cd ..
-
Run Development Server:
pnpm tauri dev
src/: Svelte 5 frontend (UI, Stores, Components).lib/stores/: State management (Runes).lib/components/: Reusable UI components.routes/: Application pages and layout.
src-tauri/: Rust backend.src/k8s.rs: Kubernetes API logic.src/cluster_manager.rs: Database and state management.
We value stability. Please run tests before submitting a PR.
- Frontend Unit Tests:
pnpm test:unit - Frontend Coverage:
pnpm test:coverage - E2E Tests:
pnpm test(Playwright) - Backend Tests:
cd src-tauri && cargo test
We heavily utilize AI in the development of Kore. If you are using an AI agent:
- Read the Context: Make sure your agent reads
AGENTS.mdandREADME.mdfirst. This file contains critical architectural rules and patterns. - Use Svelte 5 Runes: Ensure your agent generates Svelte 5 code (using
$state,$derived,$effect) and NOT Svelte 4/3 syntax (stores,let:exports). - Follow the Pattern:
- Backend: Use the macros in
k8s.rsfor new resources. - Frontend: Use
WorkloadListcomponent for resource tables.
- Backend: Use the macros in
- Verify Code: AI makes mistakes. Always verify:
- Imports are correct.
- Types match between Rust (Backend) and TypeScript (Frontend).
- Unused variables are removed.
- Clean Up: Don't leave "Todo" comments or placeholders unless necessary.
- Code Style:
- Rust: Run
cargo fmtandcargo clippy. - TypeScript: Run
pnpm check(svelte-check) andpnpm lint.
- Rust: Run
- Commits: We use Conventional Commits.
feat: add awesome featurefix: resolve crash on startupdocs: update readme
- Pull Requests:
- Describe your changes clearly.
- Link to any related issues.
- Ensure CI passes.
Join us in building the fastest Kubernetes IDE! If you have questions, open a Discussion or an Issue.