You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB

+++ title = "nbd init: add cache.db to .nbd/.gitignore" priority = 5 status = "todo" ticket_type = "task" dependencies = [] +++

Problem

.nbd/cache.db is a Turso/libsql SQLite cache file created automatically by list_tickets_cached. It should never be committed to git. Currently nbd init does not create a .gitignore to exclude it.

Implementation

src/main.rscmd_init

After ensure_tickets_dir succeeds, write (or append to) .nbd/.gitignore:

cache.db

Use idempotent logic: read the file if it exists, check whether cache.db is already listed, and only append/create if it is absent. This keeps nbd init safe to run multiple times.

Suggested helper (can be inline in cmd_init):

  1. Read .nbd/.gitignore if it exists.
  2. If cache.db is not a line in the file, append cache.db\n.
  3. If the file does not exist, create it with cache.db\n.

The JSON output for --json should include a gitignore key indicating the path that was created/updated (or unchanged).

tests/integration.rs

Add a test that runs nbd init and asserts .nbd/.gitignore contains cache.db. Run nbd init a second time and assert the file is unchanged (idempotent).