md-first memory extraction framework for AI agents. Markdown is the single source of truth; SQLite holds state and LanceDB provides the rebuildable vector + BM25 + scalar index. The codebase follows a single-direction DDD layering (entrypoints -> service -> memory -> infra, with component / core / config cross-cutting) enforced by import-linter. Engineering surface: - Coding conventions in .claude/rules/ (path-scoped) and workflows in .claude/skills/ (/commit, /new-branch, /pr). - GitHub Actions CI runs make lint + test + integration; pre-commit mirrors the gates locally (ruff, hygiene hooks, gitlint commit-msg). - Commit messages follow Conventional Commits, enforced by gitlint. - make lint also enforces datetime two-zone discipline and OpenAPI drift.
37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
# Local quality gate, run before each commit. Mirrors the checks CI enforces so
|
|
# failures surface locally first. Install with `make install` (sets up both the
|
|
# pre-commit and commit-msg hook stages).
|
|
#
|
|
# Run manually across the repo: uv run pre-commit run --all-files
|
|
default_install_hook_types: [pre-commit, commit-msg]
|
|
|
|
repos:
|
|
# ruff version is kept in sync with the `ruff` dev dependency in uv.lock.
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.15.12
|
|
hooks:
|
|
- id: ruff
|
|
name: ruff (lint + autofix)
|
|
args: [--fix]
|
|
- id: ruff-format
|
|
name: ruff (format)
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-toml
|
|
- id: check-added-large-files
|
|
args: [--maxkb=1024]
|
|
- id: detect-private-key
|
|
- id: check-merge-conflict
|
|
|
|
- repo: https://github.com/jorisroovers/gitlint
|
|
rev: v0.19.1
|
|
hooks:
|
|
- id: gitlint
|
|
name: gitlint (commit message format)
|
|
stages: [commit-msg]
|