<!-- generated 2026-02-19 04:02 -->

Current Context

Focusing on repository migration compliance, system refactoring, and template consistency across the signetai and imessage-viewer projects.

Active Projects

   Apache 2.0 License Migration (`signetai` repo)
       Status: Script creation in progress/verification needed.
       Task: Migrate monorepo from MIT to Apache 2.0. Uses `git filter-repo` to rewrite only license files while preserving git history. Must also update NPM metadata.
   iMessage Viewer Sync Refactor (`imessage-viewer` repo)
       Status: Completed.
       Details: Rewrote `lib/sync/ssh-pull.ts` to replace SSH+bash+tar approach with direct `rsync` calls (`rsync -az`). Deleted `scripts/remote-collect.sh`. Supports file-based sources (safari, chrome, shell) and directory sources (notes, reminders, calendar, contacts).
   Signetai Skill Templates (`signetai` repo)
       Status: Completed.
       Details: Fixed `packages/signetai/templates/skills/recall/SKILL.md` and `packages/signetai/templates/skills/remember/SKILL.md` to use `signet recall/remember` CLI commands (e.g., `/api/memory/remember`) instead of outdated hook commands. Verified CLI functionality.

Recent Work

   Rsync-based Sync Implementation: Successfully refactored the sync mechanism in `imessage-viewer` to use direct `rsync` SSH connections, eliminating the need for a temporary bash script (`scripts/remote-collect.sh`) and minimizing forensic traces on the macOS system.
   Skill Template Updates: Updated template files in the signetai repo to align with CLI commands, ensuring consistency for new installations.
   License Migration Planning: Set up the plan to use `git filter-repo` for the signetai repository migration.

Technical Notes

   Git Tools: `git filter-repo` is being utilized for the license migration. It allows rewriting file contents without corrupting git history or authorship metadata.
   Rsync Flags: Using `-az` (archive mode with compression) for the iMessage sync refactor.
   Signet Architecture: Skills are located in `~/.agents/skills/`. CLI commands should target the installed CLI skills rather than API hooks for recall/remember actions.
   Bun Runtime: Dashboard skills installer fix involves replacing `execSync("which bunx")` with `Bun.which()`.

Rules & Warnings

   File Locations: Skills and configuration files are located in `~/.agents/`, not `~/.local/share` or other standard locations.
   Forensic Footprint: When running remote scripts, prefer direct `rsync` calls over temporary bash scripts to minimize shell history and system logs.
   Bun API: Always use `Bun.which()` instead of `execSync("which bunx")` when checking for binaries.
   Design: Use the `frontend-design` skill when working on frontend components.
   Voice Transcription: Voice message transcriptions are handled via `obsidian-ai`, configured to read from `~/Library/Mobile Documents/iCloud~md~obsidian/Documents/ai-transcripts`.
   Signet CLI: `/recall` and `/remember` skills should invoke the `signet recall` and `signet remember` CLI commands, not the `/api/hook/...` endpoints.