···11+# SQLite databases
22+*.db
33+*.db?*
44+*.db-journal
55+*.db-wal
66+*.db-shm
77+88+# Daemon runtime files
99+daemon.lock
1010+daemon.log
1111+daemon.pid
1212+bd.sock
1313+sync-state.json
1414+last-touched
1515+1616+# Local version tracking (prevents upgrade notification spam after git ops)
1717+.local_version
1818+1919+# Legacy database files
2020+db.sqlite
2121+bd.db
2222+2323+# Worktree redirect file (contains relative path to main repo's .beads/)
2424+# Must not be committed as paths would be wrong in other clones
2525+redirect
2626+2727+# Merge artifacts (temporary files from 3-way merge)
2828+beads.base.jsonl
2929+beads.base.meta.json
3030+beads.left.jsonl
3131+beads.left.meta.json
3232+beads.right.jsonl
3333+beads.right.meta.json
3434+3535+# Sync state (local-only, per-machine)
3636+# These files are machine-specific and should not be shared across clones
3737+.sync.lock
3838+sync_base.jsonl
3939+export-state/
4040+4141+# NOTE: Do NOT add negation patterns (e.g., !issues.jsonl) here.
4242+# They would override fork protection in .git/info/exclude, allowing
4343+# contributors to accidentally commit upstream issue databases.
4444+# The JSONL files (issues.jsonl, interactions.jsonl) and config files
4545+# are tracked by git by default since no pattern above ignores them.
+81
.beads/README.md
···11+# Beads - AI-Native Issue Tracking
22+33+Welcome to Beads! This repository uses **Beads** for issue tracking - a modern, AI-native tool designed to live directly in your codebase alongside your code.
44+55+## What is Beads?
66+77+Beads is issue tracking that lives in your repo, making it perfect for AI coding agents and developers who want their issues close to their code. No web UI required - everything works through the CLI and integrates seamlessly with git.
88+99+**Learn more:** [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
1010+1111+## Quick Start
1212+1313+### Essential Commands
1414+1515+```bash
1616+# Create new issues
1717+bd create "Add user authentication"
1818+1919+# View all issues
2020+bd list
2121+2222+# View issue details
2323+bd show <issue-id>
2424+2525+# Update issue status
2626+bd update <issue-id> --status in_progress
2727+bd update <issue-id> --status done
2828+2929+# Sync with git remote
3030+bd sync
3131+```
3232+3333+### Working with Issues
3434+3535+Issues in Beads are:
3636+- **Git-native**: Stored in `.beads/issues.jsonl` and synced like code
3737+- **AI-friendly**: CLI-first design works perfectly with AI coding agents
3838+- **Branch-aware**: Issues can follow your branch workflow
3939+- **Always in sync**: Auto-syncs with your commits
4040+4141+## Why Beads?
4242+4343+✨ **AI-Native Design**
4444+- Built specifically for AI-assisted development workflows
4545+- CLI-first interface works seamlessly with AI coding agents
4646+- No context switching to web UIs
4747+4848+🚀 **Developer Focused**
4949+- Issues live in your repo, right next to your code
5050+- Works offline, syncs when you push
5151+- Fast, lightweight, and stays out of your way
5252+5353+🔧 **Git Integration**
5454+- Automatic sync with git commits
5555+- Branch-aware issue tracking
5656+- Intelligent JSONL merge resolution
5757+5858+## Get Started with Beads
5959+6060+Try Beads in your own projects:
6161+6262+```bash
6363+# Install Beads
6464+curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
6565+6666+# Initialize in your repo
6767+bd init
6868+6969+# Create your first issue
7070+bd create "Try out Beads"
7171+```
7272+7373+## Learn More
7474+7575+- **Documentation**: [github.com/steveyegge/beads/docs](https://github.com/steveyegge/beads/tree/main/docs)
7676+- **Quick Start Guide**: Run `bd quickstart`
7777+- **Examples**: [github.com/steveyegge/beads/examples](https://github.com/steveyegge/beads/tree/main/examples)
7878+7979+---
8080+8181+*Beads: Issue tracking that moves at the speed of thought* ⚡
+67
.beads/config.yaml
···11+# Beads Configuration File
22+# This file configures default behavior for all bd commands in this repository
33+# All settings can also be set via environment variables (BD_* prefix)
44+# or overridden with command-line flags
55+66+# Issue prefix for this repository (used by bd init)
77+# If not set, bd init will auto-detect from directory name
88+# Example: issue-prefix: "myproject" creates issues like "myproject-1", "myproject-2", etc.
99+# issue-prefix: ""
1010+1111+# Use no-db mode: load from JSONL, no SQLite, write back after each command
1212+# When true, bd will use .beads/issues.jsonl as the source of truth
1313+# instead of SQLite database
1414+# no-db: false
1515+1616+# Disable daemon for RPC communication (forces direct database access)
1717+# no-daemon: false
1818+1919+# Disable auto-flush of database to JSONL after mutations
2020+# no-auto-flush: false
2121+2222+# Disable auto-import from JSONL when it's newer than database
2323+# no-auto-import: false
2424+2525+# Enable JSON output by default
2626+# json: false
2727+2828+# Default actor for audit trails (overridden by BD_ACTOR or --actor)
2929+# actor: ""
3030+3131+# Path to database (overridden by BEADS_DB or --db)
3232+# db: ""
3333+3434+# Auto-start daemon if not running (can also use BEADS_AUTO_START_DAEMON)
3535+# auto-start-daemon: true
3636+3737+# Debounce interval for auto-flush (can also use BEADS_FLUSH_DEBOUNCE)
3838+# flush-debounce: "5s"
3939+4040+# Export events (audit trail) to .beads/events.jsonl on each flush/sync
4141+# When enabled, new events are appended incrementally using a high-water mark.
4242+# Use 'bd export --events' to trigger manually regardless of this setting.
4343+# events-export: false
4444+4545+# Git branch for beads commits (bd sync will commit to this branch)
4646+# IMPORTANT: Set this for team projects so all clones use the same sync branch.
4747+# This setting persists across clones (unlike database config which is gitignored).
4848+# Can also use BEADS_SYNC_BRANCH env var for local override.
4949+# If not set, bd sync will require you to run 'bd config set sync.branch <branch>'.
5050+# sync-branch: "beads-sync"
5151+5252+# Multi-repo configuration (experimental - bd-307)
5353+# Allows hydrating from multiple repositories and routing writes to the correct JSONL
5454+# repos:
5555+# primary: "." # Primary repo (where this database lives)
5656+# additional: # Additional repos to hydrate from (read-only)
5757+# - ~/beads-planning # Personal planning repo
5858+# - ~/work-planning # Work planning repo
5959+6060+# Integration settings (access with 'bd config get/set')
6161+# These are stored in the database, not in this file:
6262+# - jira.url
6363+# - jira.project
6464+# - linear.url
6565+# - linear.api-key
6666+# - github.org
6767+# - github.repo
.beads/interactions.jsonl
This is a binary file and will not be displayed.
+1
.beads/issues.jsonl
···11+{"id":"de-optional-output-smart-url-naming","title":"Make output directory optional with smart URL-based naming","description":"Currently, output directory is required. We should make it optional and support a special value (e.g., `true` or `auto`) that uses the URL to determine the output directory name.\n\nThe `getDefaultOutput()` function already implements smart directory naming:\n- `https://deepwiki.com/open-telemetry/otel-arrow` → `otel-arrow`\n- `https://deepwiki.com/` → `deepwiki.com`\n\n## Requirements\n\n1. Make `--output` argument optional (currently required)\n2. Support special value `--output true` or `--output auto` that enables smart naming\n3. When multiple URLs are provided with smart naming enabled, each URL should get its own subdirectory:\n - `node cli.ts https://example.com/foo https://example.com/bar --output true`\n - Creates: `./foo/` and `./bar/` in current working directory\n\n## Open Questions\n\n- How should this work when mixing custom output dir with smart naming?\n - Should `--output ./output true` be invalid?\n - Or should it create `./output/foo/`?\n- What about hash fragments in URLs?\n - Should `https://example.com/page#section` use `page` or `page#section`?","status":"open","priority":2,"issue_type":"task","owner":"rektide+git@voodoowarez.com","created_at":"2026-02-09T20:07:27.284140403-05:00","created_by":"rektide de la faye","updated_at":"2026-02-09T20:07:27.284140403-05:00"}