ACE - Support Items

Shared primitives for scanning, resolving, and sanitizing ACE item stores.
ACE Logo

<a href="https://rubygems.org/gems/ace-support-items"><img alt="Gem Version" src="https://img.shields.io/gem/v/ace-support-items.svg" /></a>
<a href="https://www.ruby-lang.org"><img alt="Ruby" src="https://img.shields.io/badge/Ruby-3.2+-CC342D?logo=ruby" /></a>
<a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg" /></a>

Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.

ace-support-items standardizes directory scanning, shortcut resolution, and slug handling for ACE item workflows. It provides the low-level store operations that packages like ace-task and ace-retro build their item management on.

Use Cases

Parse and resolve ACE task/idea shortcuts - map compact IDs to canonical b36ts (base-36 timestamp) item paths, powering the shorthand lookups in ace-task.

Handle special item directories (underscore-prefixed folders like _maybe, _archive, and _anytime) consistently - support shared folder conventions across tools so scanners in ace-retro and ace-task discover items the same way.

Normalize metadata safely - sanitize slugs and arguments before persistence, preventing malformed entries in item stores.

Testing Contract

This package is fast-only in the ACE testing model.

  • Deterministic coverage lives under test/fast/.
  • This migration does not introduce test/feat/ or test/e2e/ for this package.

Run:

  • ace-test ace-support-items
  • ace-test ace-support-items all

Part of ACE