Skip to content
Agentmart
Submit a tool

dev-guidelines

Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo

Skill by robertolupi

IndexedAGPL-3.0★ 7
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/robertolupi-dev-guidelines

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dev-guidelines

What's inside

Skill name
dev-guidelines
Description
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
License
AGPL-3.0
Instructions
96 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Development Guidelines & Playbook

## 1. Starting the app

The dev build requires `ACOUSTID_CLIENT_KEY` to be set in the shell — it is baked in at compile time via `option_env!()`. The value lives in `src-tauri/.cargo/config.toml`, so you don't need to remember it:

```bash
export ACOUSTID_CLIENT_KEY=$(grep ACOUSTID_CLIENT_KEY src-tauri/.cargo/config.toml | grep -o '"[^"]*"' | tr -d '"')
npm run tauri dev
```

Or expand inline:

```bash
ACOUSTID_CLIENT_KEY=$(grep ACOUSTID_CLIENT_KEY src-tauri/.cargo/config.toml | grep -o '"[^"]*"' | tr -d '"') npm run tauri dev
```

Release builds (`npm run tauri build`) pick up secrets from `.cargo/config.toml` automatically and do not need the manual export.

```bash
npm run tauri dev          # normal start (Vite HMR + Rust compilation)
npm run dev                # Vite only (frontend preview, no Tauri/Rust)
```

**Do not** invoke `vite` or `cargo tauri` directly — always go through `npm run`.

### ⚠️ Stale binary problem

`npm run tauri dev` sometimes serves a **stale Rust binary** — it may not recompile even when source files have changed. Symptoms: code fixes appear to have no effect, or analysis results are inconsistent with source changes.

**Diagnose: check if the binary is older than the source:**

```bash
stat -f "%Sm %N" src-tauri/target/debug/deep-cuts
stat -f "%Sm %N" src-tauri/src/embeddings.rs   # or whichever file was changed
```

If the binary timestamp is **earlier** than the source file, it's stale.

**Fix: force a rebuild before launching:**

```bash
cargo build --manifest-path src-tauri/Cargo.toml
npm run tauri dev
```

This is especially important after editing files in `src-tauri/src/` (e.g. `embeddings.rs`, `analysis.rs`) where a stale binary produces silently wrong results with no error message.

## 2. Frontend layout

The frontend lives at the **project root** (not a `frontend/` subdirectory). All `npm` commands run from the root:

```bash
npm run build
npm run check       # svelte-check + TypeScript
npm run check:watch
```

Svelte 5 enforces strict `{@const}` placement — these must be immediate children of block tags (`{#each}`, `{#if}`, etc.), not DOM elements.

## 3. Running tests

```bash
# Rust: persistence, scanner, DSP
cargo test --manifest-path src-tauri/Cargo.toml
```

Frontend tests use Vitest + `@testing-library/svelte` + jsdom. Run them with:

```bash
npm test           # single run
npm run test:watch # watch mode
```

Test files live alongside source files as `*.test.ts` (e.g. `src/lib/components/Foo.test.ts`). The full stack — `vitest`, `@testing-library/svelte`, `@testing-library/jest-dom`, `jsdom` — is already installed.

## 4. Database path

On macOS, the SQLite database lives at:
```
~/Library/Application Support/com.rlupi.deep-cuts/deep_cuts.db
```

See `skills/query-db/SKILL.md` for query patterns and safety rules.

## 5. Tauri configuration

`src-tauri/tauri.conf.json` — app identifier is `com.rlupi.deep-cuts`, product name is `Deep Cuts`.

## 6. Python is tools-only

The app has no Python runtime dependency and no `run_dev.py`. Runtime development is driven through `npm run tauri`.

Python is used for tools, experiments, model export, and validation scripts under `tools/`. When a task needs Python, read `skills/using-python/SKILL.md` and use the project virtualenv (`tools/.venv/bin/python`) instead of system Python.

From robertolupi/deep-cuts, AGPL-3.0.

More from robertolupi/deep-cuts

Signals

Stars
7
Forks
1
Open issues
0
Last commit (this folder)
Jun 6, 2026 (4 months ago)
Last release
Jun 8, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
AGPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from robertolupi

Cite this page

dev-guidelines skill. Agent Mart. https://agentmart.dev/skills/robertolupi-dev-guidelines (last updated 2026-10-24)