Skip to content

Repository files navigation

Kivra

Kivra logo

Build. Fail. Remember.

Kivra is a desktop-first developer memory app. It registers local projects, captures command runs, stores logs and detected errors, and keeps resolution notes searchable.

For a product overview, visit the Kivra organization profile.

Run Locally

Install dependencies:

pnpm install

Run the real desktop app:

pnpm desktop:tauri:dev

Use this mode when testing project folder selection, project scanning, file reading, and command execution. Those features need the native desktop layer.

Run the browser UI preview:

pnpm dev

This mode is only for checking the React interface. Native actions are disabled in the browser preview.

Optional Supabase Sync

Create apps/desktop/.env from apps/desktop/.env.example:

VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=

When Supabase is configured, GitHub OAuth and cloud sync are enabled. Without those values, Kivra continues to work as a local-only desktop app.

For desktop OAuth, add this redirect URL in Supabase Auth settings:

http://127.0.0.1:3000/auth/callback

Verify

pnpm build
cargo check --manifest-path apps/desktop/native/Cargo.toml

External Log Capture

Kivra captures logs from registered local projects through zsh shell integration. Install or refresh the integration with:

pnpm trace:install-shell

Open a new terminal or IDE terminal after installing it. Then run any command from a cwd inside a registered project:

flutter run
pnpm build
python -m pytest
mvn test

Captured stdout/stderr events are written to:

~/.kivra/captured-runs

The captured-run file contract is owned by packages/protocol. Shell capture, JetBrains capture, and the desktop reader should follow the same protocol version and JSON file layout.

Check the current capture status with:

pnpm trace:diagnose /path/to/project

JetBrains Run/Debug Capture

Kivra also includes a JetBrains IDE plugin for Run/Debug configurations. It writes the same captured-run files under ~/.kivra/captured-runs, so the desktop app can display IDE-run logs without the command being launched from a terminal. The plugin stays in plugins/jetbrains because it is an IDE extension, not a standalone Kivra app.

Build the local plugin ZIP:

pnpm jetbrains:build

Install the ZIP from plugins/jetbrains/build/distributions in a JetBrains IDE. The plugin only captures projects already registered in Kivra.

License

Kivra is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See the LICENSE file and licensing notes for details.

About

A desktop-first developer memory platform.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages