dev-guidelines
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
Skill by robertolupi
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.
About
Reviews
Write a reviewNo 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
- 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
write-blog-post
robertolupi
Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
ui-design
robertolupi
Guidelines for the Sonic Glitch design system, theme variables, and multi-theme readability (dark, light, high-contrast)
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
git-commits
robertolupi
Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
using-python
robertolupi
How to run Python scripts and install packages in the deep-cuts project
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-analysis-pass
robertolupi
Checklist and guide for adding a new analysis pass to the trait-based modular pipeline
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-ipc-command
robertolupi
Pattern for adding a new Tauri IPC command (request/response or push event) in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
bump-dev-version
robertolupi
Bump the app version in Cargo.toml after a release to start the next dev cycle
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
db-migration
robertolupi
Safe pattern for adding SQLite schema migrations in the deep-cuts Rust/rusqlite_migration stack
SkillCFreshness: C★ 7Claude Code +9
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
- Repository
- github.com/robertolupi/deep-cuts
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from robertolupi
- 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
write-blog-post
robertolupi
Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules.
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
git-commits
robertolupi
Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9
Cite this page
dev-guidelines skill. Agent Mart. https://agentmart.dev/skills/robertolupi-dev-guidelines (last updated 2026-10-24)