basemind 0.22.2

Full AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 10+ coding-agent harnesses, content-addressed Fjall + LanceDB.
version: "3"

tasks:
  default:
    desc: Show available tasks
    cmds:
      - task --list

  setup:
    desc: "Install all dependencies and initialize project. Idempotent."
    cmds:
      - cargo fetch
      - poly hooks install
      - echo "Setup complete"

  build:
    desc: Build the basemind binary
    cmds:
      - cargo build --release

  test:
    desc: Run all tests
    cmds:
      - cargo test --workspace
      - task: hermes:test

  hermes:test:
    desc: Validate and build the generated Hermes plugin package
    env:
      PYTHONPATH: .hermes/package/src
    cmds:
      - uv run --with pytest python -m pytest pip-package-hermes/tests/test_hermes_register.py
      - rm -rf /tmp/basemind-hermes-wheel
      - uv build --wheel --out-dir /tmp/basemind-hermes-wheel .hermes/package

  test:verbose:
    desc: Run tests with verbose output
    cmds:
      - cargo test --workspace -- --nocapture

  lint:
    desc: Run all linters and formatters via poly
    cmds:
      - poly lint .

  format:
    desc: Format code
    cmds:
      - cargo fmt --all

  check:
    desc: Run all checks (lint + test)
    cmds:
      - task: lint
      - task: test

  clean:
    desc: Clean build artifacts
    cmds:
      - cargo clean

  update:
    desc: Update dependencies (compatible versions only — no Cargo.toml edits)
    cmds:
      - cargo update

  upgrade:
    desc: Upgrade dependencies to latest, including incompatible bumps (rewrites Cargo.toml)
    cmds:
      - cargo upgrade --incompatible
      - cargo update

  harden:
    desc: Run the real-OSS hardening harness against all canary repos
    cmds:
      - ./scripts/harden.sh

  demo:record:
    desc: "Record the CLI demo to an asciinema cast and render docs/media/demo.gif (needs asciinema + agg)"
    cmds:
      - ./scripts/demo-record.sh

  release:sync-version:
    desc: "Sync version across every shipped surface (Cargo, npm wrappers, PyPI, plugin manifests). Usage: task release:sync-version VERSION=0.1.0"
    cmds:
      - ./scripts/release-bump.sh "{{.VERSION}}"
      - cargo test --test config_schema --features full -- --ignored regenerate_schema
    requires:
      vars: [VERSION]

  release:dry-run:
    desc: "Dry-run the real release packaging path for the host platform (build + package-release.sh + checksums + launcher smoke)"
    cmds:
      - ./scripts/release-dry-run.sh