| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Note the new installer in the README and the project CLAUDE.md:
it installs the binary and writes the session-env drop-in that sets
CLAUDE_CONFIG_DIR and CLAUDE_CODE_DISABLE_AUTO_MEMORY.
|
| |
|
|
|
|
|
| |
Remove the auto-memory mentions from README, CLAUDE.md, and the project
CLAUDE.md now that the feature is gone. Also drop the "Never git push"
rule, add the README/CLAUDE.md update reminder and the separate-docs-
commit convention, and trim the writing guidance.
|
| | |
|
| |
|
|
|
|
| |
Reflect the per-repo .claude/memory/ relocation and the SessionStart hook split
(bin/session-start.hook.sh + bin/memory-status.sh) in README.md and the project
CLAUDE.md.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The per-project store kept each project's `.claude/` under
`projects/<encoded-cwd>/.claude/` with `$PWD/.claude` a symlink into it,
wired by a `Setup` hook. The indirection bought nothing — a project's
`.claude/` belongs in that project's own repo. Discard it.
- remove `hooks/setup-init.sh` (the symlink-wiring `Setup` hook) and its
registration
- remove `hooks/worktree-create.sh`: with `.claude/` tracked, a worktree
checks out its own, so `claude --worktree` reverts to the built-in
- rework `session-start.sh`: drop the `Setup`→`SessionStart`
`.last-setup-result.json` channel, report each memory file as a
whole-KB size, and warn only when the always-loaded MEMORY.md index
exceeds 25 KB
- `.gitignore` now tracks the top-level `.claude/` and, under
`projects/`, only `memory/` (the harness auto-memory)
tested: `session-start.sh` renders the KB stats table with no `Setup`
section and valid JSON; no tracked `projects/*/.claude/*` remain.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Setup hook has no live feedback channel, so it now records its
outcome to a machine-local .last-setup-result.json and SessionStart
reads it back.
- rename hooks/setup.sh → setup-init.sh (Setup matcher `init`); create
the store on first use, leave a real .claude as project-local, record
a simple status (created/repointed/linked/local/ok|error) via an ERR
trap, keeping stdout+exit0 / stderr+exit2 conventions.
- rewrite session-start.sh: surface the last Setup outcome (or a hint to
run `claude --init-only`), show per-file memory stats (user/project
CLAUDE.md sizes, automemory entries) with full paths — and warn on any
always-loaded file over 200 lines.
- settings.json: point the Setup hook at setup-init.sh
- README: document store creation and the new session-start behavior.
- memory: record the "Setup hook has no feedback channel" finding.
|
| |
|
|
|
|
|
|
|
|
|
| |
Collapse the double-submodule setup (claude-config + claude-memory) into
this single repo and replace the `claude-wrapper` launcher with hooks, so
`claude` runs directly — no alias, no installer.
Verified: `claude --init-only` wires/repairs the link and the no-store
path points at `dotfiles claude-adopt-project`; `git check-ignore`
confirms `*.jsonl`, session dirs, `settings.local.json`, and `worktrees/`
stay out while the stores and auto-memory are tracked.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The memory store is now a standalone git repo beside this config dir,
a sibling rather than nested (nesting would make it a submodule of a
submodule).
- `claude-wrapper` gains `claude memory [status | git … | commit]` to
drive the store repo, and its default store root moves to
`~/.config/claude-memory` (still overridable via `CLAUDE_MEMORY_DIRS`).
- Add a bash completion for `claude memory`, installed by `install.sh`.
- Track `completions/`; refresh the README and the `.gitignore` note.
|
|
|
Track only the hand-authored configuration of the ~/.config/claude
config dir. Runtime state, caches, and secrets stay untracked via a
whitelist .gitignore.
- .gitignore: whitelist ignore — everything excluded except the paths below
- README.md: map of tracked vs. untracked (runtime/secret) entries
- install.sh: bootstrap/installer for the config dir
- bin/claude-wrapper: the `claude` launcher (wires memory.d/, --add-dir)
- hooks/: harness hooks registered in settings.json
- format-on-edit: bash-format.sh, lua-format.sh, clang-format.sh,
cmake-format.sh, qml-format.sh, black-format.sh, markdown-format.sh,
php-cs-fixer.sh
- bash-log.sh: Bash-tool logger
- status-line.sh: custom status line
- worktree-create.sh: WorktreeCreate hook
- skills/common-commit/: shared commit-message skill (SKILL.md +
examples/emphasis.txt, examples/lists.txt)
- agents/.gitkeep: keep the empty agents/ dir
|