Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bug report
description: Something in bytebell-server or the bytebell CLI is broken or behaving unexpectedly.
description: Something in plumbline-server or the plumbline CLI is broken or behaving unexpectedly.
title: "[bug] "
labels: ["bug", "needs-triage"]
body:
Expand All @@ -8,15 +8,15 @@ body:
value: |
Thanks for taking the time to file a bug! A few quick tips:
- Please redact API keys, tokens, and private repo URLs from anything you paste.
- Server and CLI logs live in `~/.bytebell/logs/`.
- Server and CLI logs live in `~/.plumbline/logs/`.
- Only the first four fields are required — fill in the rest if you have it handy.

- type: textarea
id: summary
attributes:
label: What happened?
description: A short description of the bug. What did you do, and what went wrong?
placeholder: I ran `bytebell index https://github.com/...` and the worker stalled at PROCESSING.
placeholder: I ran `plumbline index https://github.com/...` and the worker stalled at PROCESSING.
validations:
required: true

Expand All @@ -26,8 +26,8 @@ body:
label: Steps to reproduce
description: The minimum sequence of commands or clicks needed to see the bug.
placeholder: |
1. `bytebell boot`
2. `bytebell index <repo-url>`
1. `plumbline boot`
2. `plumbline index <repo-url>`
3. Wait ~2 minutes
validations:
required: true
Expand All @@ -42,25 +42,25 @@ body:
- type: input
id: version
attributes:
label: Bytebell version
description: Output of `bytebell --version`.
label: Plumbline version
description: Output of `plumbline --version`.
placeholder: e.g. 0.4.2
validations:
required: true

- type: dropdown
id: component
attributes:
label: Which part of Bytebell is affected?
label: Which part of Plumbline is affected?
description: Pick whatever feels closest — "Not sure" is fine.
multiple: true
options:
- "Not sure"
- "bytebell-server (HTTP / MCP / workers)"
- "bytebell CLI / TUI"
- "plumbline-server (HTTP / MCP / workers)"
- "plumbline CLI / TUI"
- "Ingestion (@bb/ingest-github)"
- "MCP surface (@bb/mcp)"
- "Adapter (@bb/mongo / @bb/neo4j / @bb/redis)"
- "Adapter (@bb/sqlite / @bb/neo4j)"
- "LLM layer (@bb/llm)"
- "Config / first-run setup (@bb/config)"
- "Docs / README"
Expand Down Expand Up @@ -90,7 +90,7 @@ body:
id: logs
attributes:
label: Logs or error output
description: Paste relevant lines from `~/.bytebell/logs/server-YYYY-MM-DD.log` or `cli-YYYY-MM-DD.log`. Redact secrets.
description: Paste relevant lines from `~/.plumbline/logs/server-YYYY-MM-DD.log` or `cli-YYYY-MM-DD.log`. Redact secrets.
render: shell

- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Feature request
description: Suggest a new capability or improvement for Bytebell.
description: Suggest a new capability or improvement for Plumbline.
title: "[feat] "
labels: ["enhancement", "needs-triage"]
body:
Expand Down
94 changes: 94 additions & 0 deletions .github/banner-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
100 changes: 100 additions & 0 deletions .github/banner-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .gitleaks.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
title = "Bytebell-public gitleaks config"
title = "Plumbline-public gitleaks config"

[extend]
useDefault = true
Expand Down
39 changes: 33 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,50 @@
# Changelog

All notable changes to Bytebell are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
All notable changes to Plumbline are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed

- **The document store is now SQLite.** MongoDB is removed: the `mongo` container is
gone from `infra/docker/docker-compose.yml`, and `~/.plumbline/data.sqlite` holds the
knowledge documents, raw file rows, activity, usage, and the concept-graph enrichment
ledger.
- Existing installs upgrade in place: a `config.json` carrying `db_provider: "mongo"` is
migrated to `sqlite` on read, and the retired `mongo_uri` key is dropped from the file
on the next config write. **Data is not migrated** — repositories indexed against
MongoDB must be re-indexed.
- **The job queue is now SQLite too.** Redis and BullMQ are removed: the job queue is
Honker over SQLite (`~/.plumbline/queue.db`) in every configuration, so the `redis`
container is gone from `infra/docker/docker-compose.yml`. A stored
`queue_provider: "bullmq"` migrates to `honker` on read, and the retired `redis_url`
key is dropped from `config.json`. **In-flight jobs are not migrated** — drain or
re-submit anything queued before the upgrade.
- Neo4j is now the only container `plumbline boot` starts.
- `DELETE /api/v1/repos/<knowledgeId>` renames its `mongoDeleted` response field to
`dbDeleted`.

### Removed

- The `@bb/mongo` package, the `mongo_uri` config key, and the `mongo` value of
`db_provider`.
- The `@bb/redis` and `@bb/queue-bullmq` packages, the `redis_url` config key, the
`bullmq` value of `queue_provider`, and the `Redis*` error classes.

## [0.1.0] — 2026-05-08

### Added

- Initial public release.
- `bytebell-server` HTTP daemon (Express 5) with ingestion routes (`/api/v1/...`) and MCP transport (`/mcp`, HTTP + SSE).
- `bytebell` CLI (Ink/React TUI + commander) with subcommands: `boot`, `index`, `ingest`, `pull`, `ls`, `delete`, `set`, `server`, `shutdown`, `stats`, `mcp`.
- `plumbline-server` HTTP daemon (Express 5) with ingestion routes (`/api/v1/...`) and MCP transport (`/mcp`, HTTP + SSE).
- `plumbline` CLI (Ink/React TUI + commander) with subcommands: `boot`, `index`, `ingest`, `pull`, `ls`, `delete`, `set`, `server`, `shutdown`, `stats`, `mcp`.
- GitHub repository ingestion via `BasicFileAnalysisStrategy` (file-walk + per-file LLM analysis).
- MCP retrieval tools: `smart_search`, `keyword_lookup`, `retrieve_file` .
- Token-usage telemetry persisted to MongoDB (`mcp_activity`, `usage_summary`); live USD estimate against OpenRouter pricing via `bytebell stats`.
- Token-usage telemetry persisted to MongoDB (`mcp_activity`, `usage_summary`); live USD estimate against OpenRouter pricing via `plumbline stats`.
- Local-first single-tenant architecture (`orgId="local"`); BYO MongoDB + Neo4j + Redis.
- Configuration via `~/.bytebell/config.json` (no `.env`), managed through `bytebell set <key> <value>`.
- Configuration via `~/.plumbline/config.json` (no `.env`), managed through `plumbline set <key> <value>`.
- BullMQ in-process workers with retryable, idempotent jobs.
- Winston structured logging to `~/.bytebell/logs/` plus stdout.
- Winston structured logging to `~/.plumbline/logs/` plus stdout.

### License

Expand Down
Loading
Loading