Skip to content

feat: implement per file metadata in cli#45

Open
nainglinnkhant wants to merge 3 commits intomainfrom
e-721-implement-per-file-metadata-in-cli
Open

feat: implement per file metadata in cli#45
nainglinnkhant wants to merge 3 commits intomainfrom
e-721-implement-per-file-metadata-in-cli

Conversation

@nainglinnkhant
Copy link
Collaborator

@nainglinnkhant nainglinnkhant commented Oct 11, 2025

Note

Adds --metadata-file support to upload and sync, enables metadata-aware change detection/merging, introduces metadata utilities, updates tests, and adds fast-deep-equal.

  • CLI:
    • Upload (packages/cli/src/commands/store/upload.ts):
      • Add --metadata-file <file> (JSON/YAML) and merge per-file metadata with --metadata.
      • Validate mutual exclusivity with --manifest and improve file discovery messaging.
    • Sync (packages/cli/src/commands/store/sync.ts):
      • Add --metadata-file <file> and load per-file metadata map.
      • Pass metadata map to analysis/execution; integrate into options.
  • Sync Logic (packages/cli/src/utils/sync.ts):
    • Detect metadata changes via new per-file mapping; track contentChanged and metadataChanged.
    • Enhance change summary with indicators; merge metadata with precedence (CLI < per-file < sync fields).
  • Metadata Utilities (packages/cli/src/utils/metadata-file.ts):
    • New helpers: loadMetadataMapping, normalizePathForMetadata, extractUserMetadata, metadataEquals (uses fast-deep-equal).
    • Extend FileSyncMetadata to allow extra keys (packages/cli/src/utils/sync-state.ts).
  • Hash Utils (packages/cli/src/utils/hash.ts):
    • Remove unused calculateHash; keep file hashing and comparison.
  • Tests:
    • Add comprehensive tests for per-file metadata in upload/sync and metadata utils; adjust existing sync/upload tests.
  • Dependencies:
    • Add fast-deep-equal.
  • Docs:
    • Update CLAUDE.md to pnpm workspaces v10.15.0.

Written by Cursor Bugbot for commit d238f0f. This will update automatically on new commits. Configure here.

cursor[bot]

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant