Commit Graph

5 Commits

  • feat(coding-agent): package deduplication and collision detection
    - Package deduplication: same package in global+project, project wins
    - Collision detection for skills, prompts, and themes with ResourceCollision type
    - PathMetadata tracking with parent directory lookup for file paths
    - Display improvements: section headers, sorted groups, accent colors for packages
    - pi list shows full paths below package names
    - Extension loader discovers files in directories without index.ts
    - In-memory SettingsManager properly tracks project settings
    
    fixes #645
  • fix(coding-agent): user filters now layer on top of manifest filters
    Previously, user filters completely replaced manifest filtering. Now:
    1. Manifest patterns are applied first (defines what package provides)
    2. User patterns are applied on top (narrows down further)
    
    This means if a manifest excludes 10 extensions and user adds one more
    exclusion, all 11 are excluded (not just the user's one).
  • feat(coding-agent): support glob patterns in pi manifest arrays
    - Manifest extensions/skills/prompts/themes arrays now support glob patterns
    - Use !pattern for exclusions (e.g., '!**/deprecated/*')
    - Enables packages to bundle dependencies and selectively include resources
  • feat(coding-agent): add minimatch pattern support for resource filtering
    - Support glob patterns and ! exclusions in package filter arrays
    - Support glob patterns and ! exclusions in top-level settings arrays
    - Add helper functions: isPattern, hasPatterns, collectFiles, collectSkillEntries, applyPatterns
    - Add resolveLocalEntries for pattern-aware resolution of top-level arrays
    - Add applyPackageFilter and collectAllPackageFiles for package filter patterns
    - Add comprehensive tests for both top-level and package filter patterns
  • feat(coding-agent): progress callbacks, conflict detection, URL parsing, tests (#645)
    - Add progress callbacks to PackageManager for TUI status during install/remove/update
    - Add extension conflict detection (tools, commands, flags with same names)
    - Accept raw GitHub/GitLab URLs without git: prefix
    - Add tests for package-manager.ts and resource-loader.ts
    - Add empty fixture directories for skills tests