jfrog / jfrog/boost

Path/glob-based exclusions for file optimization and context tracking

Open
#87 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
500
Forks
20
Avg merge
55m
Merged PRs (30d)
6

Description

Problem

I use JFrog Boost with repositories managed by cARL, where agent instruction files are adapter shims and .github/carl/** contains canonical durable governance artefacts.

Examples:

  • .github/copilot-instructions.md
  • CLAUDE.md
  • AGENTS.md
  • .cursorrules
  • ANTIGRAVITY.md
  • .cursor/rules/carl.mdc
  • .agents/rules/carl.md
  • .github/carl/**

I need Boost to leave these files outside file optimization and, where possible, context/bootstrap tracking.

Boost v0.13.24 currently supports [hooks] exclude_commands, but this operates on command names rather than file paths. File optimization can be disabled globally, but that unnecessarily disables optimization for every file.

Proposed solution

Add repository-aware path/glob exclusions, using either .boostignore:

.github/carl/**
.github/copilot-instructions.md
CLAUDE.md
AGENTS.md
.cursorrules
ANTIGRAVITY.md
.cursor/rules/carl.mdc
.agents/rules/carl.md

or configuration:

[files]
exclude_paths = [ ".github/carl/**", ".github/copilot-instructions.md", "CLAUDE.md", "AGENTS.md", ".cursorrules", "ANTIGRAVITY.md", ".cursor/rules/carl.mdc", ".agents/rules/carl.md",
]

An optional behaviour-scoped model would provide finer control:

[ignore]
optimize = [".github/carl/**", "CLAUDE.md", "AGENTS.md"]
track = [".github/carl/**"]
upload = [".github/carl/**"]

Expected behaviour

When an excluded path is encountered:

1. Its contents are delivered to the agent unchanged.
2. File optimization/conversion is bypassed.
3. It is optionally excluded from persisted context/bootstrap analytics.
4. It is optionally excluded from telemetry-derived metadata.
5.  boost doctor  reports active rules and their source.
6. Matching works consistently across Claude Code and GitHub Copilot hooks.
7. Repository-relative matching respects Boost’s existing config precedence.

Use case

cARL separates canonical governance from harness-specific projections:

•  .github/carl/**  — canonical durable governance and memory
•  CLAUDE.md ,  AGENTS.md ,  .github/copilot-instructions.md , etc. — generated adapter shims

These files are deliberately loaded as authoritative context and should not be transformed or treated as optimization candidates. Other project files should remain eligible for Boost optimization.

Current workaround

I have disabled  boost-files-optimization  globally:

[feature_flags."boost-files-optimization"]
user = false

This works but is much broader than necessary.

Prior art

I raised the equivalent requirement with Headroom:

• Issue: https://github.com/headroomlabs-ai/headroom/issues/1150
• Implementation PR: https://github.com/headroomlabs-ai/headroom/pull/1796

Their implementation uses a repository-level ignore file plus behaviour-scoped rules. A generic Boost implementation would benefit any repository containing generated, externally managed, sensitive, or governance-owned context files.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files or tests are named. Start by tracing the existing [hooks] exclude_commands handling and the boost-files-optimization feature flag, then compare the proposed .boostignore and [files] exclude_paths models. Done should include repository-relative path matching, unchanged delivery for excluded files, and consistent behavior across Claude Code and GitHub Copilot hooks.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, shell
Domain
cli, developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.