Skip to content

Add configurable path filtering for checkpoint content #174

@jcleira

Description

@jcleira

Summary

Allow users to configure which file paths are included or excluded from checkpoint data via glob patterns in .partio/settings.json.

Why

In large monorepos or repos with generated files, build artifacts, or sensitive directories, checkpoint data can include irrelevant noise. Path filtering lets users control what goes into checkpoints, reducing storage and improving signal-to-noise ratio. This is distinct from secret redaction — it controls which file paths appear in checkpoint data at all.

What to implement

  • Add checkpoint_path_filter config field with include and exclude glob arrays
  • Apply filtering during post-commit checkpoint creation
  • Exclude patterns take precedence over include when both match
  • Default behavior (no filter) captures all paths as before
  • Config validation in partio doctor for invalid glob patterns

Example config

{
  "checkpoint_path_filter": {
    "exclude": ["vendor/**", "node_modules/**", "*.generated.go"],
    "include": ["src/**", "internal/**"]
  }
}

Acceptance criteria

  • Excluded paths are omitted from checkpoint data
  • Include patterns restrict checkpoints to matching paths only
  • Default behavior unchanged
  • make test and make lint pass

Source

Inspired by entireio/cli#758 (path filtering and general content filtering).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions