61 Commits

Author SHA1 Message Date
John Reilly Pospos
9185226d83 Fix hooks failing silently on Windows due to python3 not found (#23)
* Fix hooks failing silently on Windows due to python3 not found

Add `|| python` fallback to all hook commands in hooks.json. On Windows,
`python3` either doesn't exist or resolves to a Microsoft Store stub that
fails silently, breaking all plugin hooks.

Fixes #20

* Bump version to 0.8.2
2026-02-14 13:06:01 +10:00
John Reilly Pospos
408d4019b3 Fix git commits re-populating dirty-files in default mode (#22)
In default mode, after the memory-updater processes files and SubagentStop
clears dirty-files, a git commit via Bash would re-trigger PostToolUse,
extract committed files via git diff-tree, and re-add them to dirty-files.
This caused the Stop hook to fire again for already-processed files.

Add early-return guard so default mode skips git commit processing (files
are already tracked via Edit/Write hooks). Also fix existing test to run
commit context enrichment in gitmode where it belongs.
2026-02-14 12:57:33 +10:00
John Reilly Pospos
58d9cbc25a Consolidate hook handlers into trigger.py and bump to v0.8.1 (#21)
Merge stop.py into trigger.py to handle PreToolUse, Stop, and
SubagentStop hooks via a single entry point routed by hook_event_name.
Add PreToolUse hook for gitmode commit gating, SubagentStop hook for
automatic dirty-files cleanup, and update tests and docs accordingly.
2026-02-10 21:06:45 +10:00
severity1
3e9159aff2 Fix uv.lock version to 0.8.0 2025-12-13 21:51:32 +13:00
severity1
4db80f1bbf Update uv.lock for v0.8.0 2025-12-13 21:49:54 +13:00
severity1
5b85d09f0c Align version to 0.8.0 in pyproject.toml and plugin.json 2025-12-13 21:47:51 +13:00
severity1
ce28d2c414 Merge CLAUDE.md documentation updates 2025-12-13 21:45:13 +13:00
severity1
786d3a0b24 Update CLAUDE.md with configuration and pattern docs 2025-12-13 21:44:57 +13:00
John Reilly Pospos
75cd9158c3 Merge pull request #13 from severity1/fix/init-template-enforcement
Template enforcement and marketplace rename
2025-12-13 21:43:18 +13:00
severity1
6e6c9188ec Rename marketplace and add CLAUDE.md initialization
- Rename marketplace from claude-code-marketplace to severity1-marketplace
- Add auto-generated CLAUDE.md with proper template structure
- Update .gitignore for dirty-files tracking path
2025-12-13 21:36:31 +13:00
severity1
b37186c502 Fix README.md documentation inaccuracies
- Update dirty-files path references to .claude/auto-memory/dirty-files
- Clarify commit context is stored inline, not in separate JSON file
- Fix Data Files table with correct locations
- Update test docstring with correct path
2025-12-10 01:42:57 +13:00
severity1
f459e1d56c Enforce template structure in codebase-analyzer skill
The /auto-memory:init command was generating CLAUDE.md files that didn't
follow the defined templates - using wrong marker format like
"BEGIN AUTO-MANAGED" instead of "AUTO-MANAGED:" and wrong section names.

Root cause: The skill referenced templates with @templates/... import syntax
which provides context but not enforcement. The algorithm lacked explicit
instructions about marker format and required sections.

Changes:
- Add Marker Format section to guidelines.md as shared reference
- Update codebase-analyzer description to third-person with trigger phrases
- Add explicit Marker Syntax section with format and anti-patterns
- Add Section Definitions tables for root and subtree CLAUDE.md
- Rewrite Algorithm Step 7 with prescriptive generation instructions
- Format code files with ruff
2025-12-09 23:43:12 +13:00
severity1
dd640a37fe Add subtree CLAUDE.md files and fix status command path
- Regenerate root CLAUDE.md with fresh codebase analysis
- Add scripts/CLAUDE.md for hook script conventions
- Add tests/CLAUDE.md for pytest patterns
- Fix dirty-files path in status.md (.claude/.dirty-files -> .claude/auto-memory/dirty-files)
2025-12-05 21:55:08 +13:00
severity1
59c55872ee v0.7.0: Improve skills and add content verification
- Add trigger conditions to skill descriptions for better invocation
- Extract shared guidelines to skills/shared/references/guidelines.md
- Consolidate section definitions in memory-processor
- Add content removal verification with Grep
- Add stale command detection (compares against successful executions)
- Add Grep tool to memory-updater agent
- Clarify conventions vs patterns distinction
2025-12-05 21:43:14 +13:00
severity1
02f4847a13 Document 'exclude moving targets' rule in patterns section 2025-12-05 20:25:07 +13:00
severity1
e24b797bd9 Add 'exclude moving targets' rule to memory-processor skill
Document that CLAUDE.md should never include ephemeral data:
- Version numbers
- Test counts/coverage percentages
- Progress metrics
- Dates/timestamps
- Line counts/file sizes

These become stale after each commit and waste tokens.
2025-12-05 20:21:44 +13:00
severity1
9afa7eaead Fix linting errors and add git commit context tests
- Fix line length violation in post-tool-use.py (112 -> 80 chars)
- Remove unused imports in test_hooks.py (io, tempfile, patch, pytest)
- Fix incorrect path in sync.md (.claude/.dirty-files -> .claude/auto-memory/dirty-files)
- Add 3 tests for git commit context enrichment feature
2025-12-05 20:12:40 +13:00
severity1
56d9ef51fe Bump version to 0.6.0
Closes #5, closes #6, closes #7
2025-12-04 01:20:22 +13:00
severity1
82a3bdaeeb Update CLAUDE.md with deduplication pattern 2025-12-04 01:18:24 +13:00
severity1
83e246db6e Fix deduplication: update existing entries with commit context 2025-12-04 01:14:24 +13:00
severity1
fe3fa73e50 Test deduplication 2025-12-04 01:13:47 +13:00
severity1
64e6cc835f Remove test file 2025-12-04 01:11:56 +13:00
severity1
ceb662422b Test default mode with commit 2025-12-04 01:11:11 +13:00
severity1
e68fa5c36d Implement inline commit context, sync command, and trigger modes
- Consolidate commit-context.json into dirty-files with inline format:
  /path/to/file [hash: commit message]
- Switch memory-updater agent from haiku to sonnet (fixes #7)
- Add /auto-memory:sync command for manual file changes (fixes #5)
- Add configurable trigger modes: default vs gitmode (fixes #6)
- Update tests for new paths and model expectation
2025-12-04 01:09:18 +13:00
severity1
fe38414718 Test inline commit context format 2025-12-04 01:06:24 +13:00
severity1
2adf49a94c Test gitmode round 3: verify chained command detection 2025-12-04 00:59:08 +13:00
severity1
b31ae2c82f Test gitmode round 2: verify hook fires on commit 2025-12-04 00:46:03 +13:00
severity1
cc43eb1465 Test gitmode: add two test files for commit detection 2025-12-04 00:43:09 +13:00
severity1
5f0eb8d89c Update CLAUDE.md Stop hook UX pattern documentation 2025-12-01 21:55:16 +13:00
severity1
8883041008 v0.5.0: Instant memory refresh + Python 3.8 compatibility
- Stop hook now instructs Claude to read CLAUDE.md after memory-updater
  completes, giving the main session fresh memory immediately
- Added `from __future__ import annotations` for Python 3.8 compatibility
  (fixes TypeError: 'type' object is not subscriptable)
- Standardized "memory" terminology across commands (matches official
  Claude Code docs and plugin name)
- Fixed tests for flat commands/ directory structure
- Removed name field requirement from command YAML validation
2025-12-01 21:42:46 +13:00
severity1
28899f8dc7 Update CLAUDE.md command comments to show namespace 2025-11-30 19:08:22 +13:00
severity1
352a9eea97 Update README.md project structure to reflect flat commands directory 2025-11-30 19:05:46 +13:00
severity1
42a1e0e8e6 Remove memory- prefix from commands, bump to v0.4.0
- Rename commands: memory-{init,calibrate,status}.md -> {init,calibrate,status}.md
- Update internal reference to use /auto-memory:calibrate namespace
- Update CLAUDE.md architecture section
- Bump version to 0.4.0 in pyproject.toml and plugin.json
2025-11-30 18:56:49 +13:00
severity1
37beba3361 Remove explicit name from command frontmatter
Testing if Claude Code auto-detects command names from filenames.
Also fixed CLAUDE.md architecture to show correct command filenames.
2025-11-30 18:49:41 +13:00
severity1
b4a9d956dd Revert v0.4.0 namespace changes, restore v0.3.0
The command namespace approach (commands/auto-memory/) didn't work as
expected. Reverted to flat command structure (commands/memory-*.md)
which Claude Code discovers automatically by convention.
2025-11-30 18:45:00 +13:00
severity1
30f6804c2b Remove version reference from CLAUDE.md
Version numbers in documentation add maintenance overhead without
providing meaningful context for the AI assistant.
2025-11-30 18:35:58 +13:00
severity1
4cb1a650fa List command files explicitly instead of directory path
Explicit file paths ensure reliable command discovery across
different plugin framework versions.
2025-11-30 18:34:08 +13:00
severity1
ce612ce248 Fix command discovery by adding explicit commands path to plugin.json
Commands in nested subdirectory (commands/auto-memory/) were not being
auto-discovered. Added explicit "commands" field to plugin.json.
2025-11-30 18:30:22 +13:00
John Reilly Pospos
21ebf556b9 Merge pull request #3 from severity1/feat/namespace-commands
Move commands to auto-memory/ namespace, bump to v0.4.0
2025-11-30 18:11:54 +13:00
severity1
c4aae8fd3f Update CLAUDE.md memory for v0.4.0 changes 2025-11-30 18:11:16 +13:00
severity1
f81eeaac41 Move commands to auto-memory/ namespace, bump to v0.4.0
- Rename commands to shorter names (init, calibrate, status)
- Move to commands/auto-memory/ for proper namespacing
- Commands now invoked as /auto-memory:init, etc.
- Update README.md and CLAUDE.md documentation
- Update tests for new paths
2025-11-30 18:02:52 +13:00
severity1
f91599e8fd Update uv.lock for version 0.3.0 2025-11-30 14:26:05 +13:00
severity1
dfb700e99f Update CLAUDE.md memory terminology 2025-11-30 14:25:00 +13:00
severity1
dd376b8c08 Bump version to 0.3.0
Standardized CLAUDE.md terminology as memory files
2025-11-30 14:23:04 +13:00
severity1
fca360f12f Standardize CLAUDE.md terminology as memory files
Replace "documentation" with "memory" when referring to CLAUDE.md:
- README.md: project memory, memory stays outdated, memory updates
- CLAUDE.md: project memory, memory sections
- memory-processor/SKILL.md: memory sections in description
- memory-calibrate.md: CLAUDE.md memory files
- pyproject.toml: keyword documentation -> memory

Also update tagline from "Zero tokens" to "Minimal tokens" for accuracy
2025-11-30 14:22:05 +13:00
severity1
588c6f68b2 Bump plugin.json version to 0.2.0
Sync plugin.json version with pyproject.toml
2025-11-30 14:14:26 +13:00
severity1
45ff2fb6dd Fix bash command parsing to stop at shell operators
- Stop parsing file arguments when encountering &&, ||, ;, |, >, etc.
- Prevents tracking tokens after shell operators as file paths
- Add 4 tests for shell operator handling
- Bump version to 0.2.0
2025-11-30 10:23:50 +13:00
severity1
2b76c8e930 Update README: minimal tokens, clarify isolated agent benefit
- Change "zero tokens" to "minimal tokens" for accuracy
- Emphasize that isolated agent doesn't consume main context window
- Update badge and comparison table

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:26:23 +13:00
severity1
976b2cc4fa Fix README to clarify Claude Code edits code, not user
The plugin tracks what Claude Code does, not direct user actions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:23:32 +13:00
severity1
2522bcaa78 Remove version number from CLAUDE.md overview
Version info is already tracked in pyproject.toml and package metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 18:21:23 +13:00