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.
1.7 KiB
1.7 KiB
name, description
| name | description |
|---|---|
| commit | Stage and create a Conventional Commits message for the current change |
/commit
Create a well-formed commit following the Conventional Commits
standard. The format is enforced by gitlint in the commit-msg hook.
Steps
-
Run
git statusandgit diff(andgit diff --staged) to see what changed. -
Review recent history for style:
git log --oneline -10. -
Group the change into a single focused commit. If the working tree mixes unrelated changes, stage selectively (
git add -p/ specific paths) rather than committing everything at once. -
Write the message in Conventional Commits form:
<type>[(scope)][!]: <imperative summary, ≤72 chars> <optional body: what & why, wrapped at 72> <optional footer: BREAKING CHANGE: …, Refs: #123> -
Never use
--no-verify. If pre-commit hooks fail, fix the cause and re-commit. -
Do not commit secrets, generated artifacts, or work-in-progress to a protected branch (
main/dev/master).
Types
| Type | Use for |
|---|---|
feat |
new feature |
fix |
bug fix |
refactor |
behavior-preserving restructure |
test |
add / update tests |
docs |
documentation |
style |
formatting only |
perf |
performance |
chore |
config / build / tooling |
build |
build system or dependencies |
ci |
CI configuration |
revert |
revert a previous commit |
Notes
- No emoji — the title must start with the
type. - One logical change per commit; keep the history bisectable.
- The summary is imperative mood: "add", not "added" / "adds".
scopeis optional:fix(search): …. A!before the colon (or aBREAKING CHANGE:footer) marks a breaking change.