v1.16.0

stackblitz/bolt.newv1.16.0Jun 29, 2026by yamadashy

AI Summary

This release introduces granular configuration options for file packing, including per-file inclusion levels and a new output path style, alongside improvements to compression robustness.

Key Highlights

  • Per-file inclusion levels via `output.patterns` for fine-grained control
  • New `cwd-relative` output path style
  • `--skill-project-name` option for skill generation
  • Compression resilience improvements to prevent aborts on parse errors

New Features

  • Per-file inclusion levels (`output.patterns`)
  • Cwd-relative output path style
  • `--skill-project-name` option

Full Release Notes

This release adds **per-file inclusion levels** via `output.patterns` for fine-grained control over how each file is packed, a new **cwd-relative output path style**, and a **`--skill-project-name`** option, along with compression-robustness and file-matching fixes.

## What's New πŸš€

### Per-file Inclusion Levels (`output.patterns`) (#1653, #608)

You can now control the detail level **per glob** from your configuration file. `output.patterns` is an ordered array of `{ pattern, compress?, directoryStructureOnly? }` entries; the first matching glob wins and overrides the global `output.compress` for that file. Each file resolves to one of three levels:

- **Full content** (default)
- **Compressed** (`compress: true`) β€” passed through the same Tree-sitter pipeline as `output.compress`
- **Directory-structure-only** (`directoryStructureOnly: true`) β€” listed in the directory structure, but its content is omitted

For example, compress `docs/**` while reducing `website/**` to structure only:

```json5
{
  "output": {
    "compress": false,
    "patterns": [
      { "pattern": "docs/**/*", "compress": true },
      { "pattern": "website/**/*", "directoryStructureOnly": true }
    ]
  }
}
```

This option is config-file only. See [Per-file Inclusion Levels](https://repomix.com/guide/configuration#per-file-inclusion-levels).

Special thanks to @PAMulligan for designing and implementing this feature! πŸŽ‰

### cwd-relative Output Path Style (#1646)

A new output path style renders file paths relative to the current working directory instead of the target directory β€” handy for multi-root runs and clearer paths. Set `output.filePathStyle: "cwd-relative"` in your config, or pass `--output-file-path-style cwd-relative` (default remains `target-relative`).

Special thanks to @Samsen879 for this contribution! πŸŽ‰

### `--skill-project-name` Option (#1649)

Skill generation now exposes a `--skill-project-name` option so you can set the project name explicitly.

Special thanks to @WilliamK112 for this contribution! πŸŽ‰

## Improvements ⚑

- `--compress` is now resilient: a single file that Tree-sitter cannot parse β€” including pathological files that trigger a WASM runtime abort β€” no longer aborts the whole pack. It falls back to uncompressed output with a warning, and the rest of the run completes normally (#1679, #1668).
- File extensions are now matched case-insensitively when selecting the comment manipulator, so files like `.PY` or `.TS` are handled correctly (#1632).
- Split-output files are now copied correctly after remote packing (#1631).

Special thanks to @serhiizghama and @Samsen879 for these fixes! πŸŽ‰

## How to Update

```bash
npm update -g repomix
```

---

As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).