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.
33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
+++
|
|
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.rs`** — `cmd_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). |