Skip to content

V0.4.2/git story housekeeping#14

Merged
gimlichael merged 4 commits intomainfrom
v0.4.2/git-story-housekeeping
May 4, 2026
Merged

V0.4.2/git story housekeeping#14
gimlichael merged 4 commits intomainfrom
v0.4.2/git-story-housekeeping

Conversation

@gimlichael
Copy link
Copy Markdown
Member

This pull request introduces version 0.4.2 of the git-story-teller skill, focusing on simplifying its architecture and making context packing fully deterministic and self-contained. The skill now eliminates all dependencies on Node/npm, Repomix, and public packing services, relying solely on a local C# packer that uses git ls-files to gather tracked files from a shallow git clone. Documentation, evaluation contracts, and implementation have all been updated to reflect this streamlined, local-only approach.

Architecture and Dependency Simplification:

  • Refactored git-story-teller to remove all Repomix-first and fallback logic, HTTP client dependencies, and Node/npm (npx) invocation; now uses a single deterministic local C# packer for context extraction. (CHANGELOG.md, scripts/story.cs, [1] [2] [3] [4] [5] [6]

Deterministic Local Context Packing:

  • Updated the packing strategy to perform a shallow git clone and use git ls-files for tracked-file discovery, ensuring repeatable and transparent context membership without external services or variable ignore parsing. (CHANGELOG.md, README.md, SKILL.md, [1] [2] [3] [4] [5]

Documentation and Metadata Updates:

  • Revised README.md and SKILL.md to document the new local-only, deterministic packing approach, removing all references to Repomix and public API fallbacks. (README.md, SKILL.md, [1] [2] [3] [4]
  • Updated XML metadata and runtime notes to reflect the new context source and deterministic generation notes. (CHANGELOG.md, CHANGELOG.mdR9-R30)

Evaluation and Test Contract Adjustments:

  • Updated the eval contract (eval 6) to verify that the runner no longer requires Node/npm, Repomix, or public packing services, and recognizes the C# packer as the primary deterministic strategy. (evals/evals.json, skills/git-story-teller/evals/evals.jsonL73-R79)

Release and Versioning:

  • Added release notes for version 0.4.2 and updated comparison links in CHANGELOG.md for accurate version tracking. (CHANGELOG.md, CHANGELOG.mdL193-R216)

These changes make git-story-teller fully self-contained, deterministic, and easier to maintain, while improving transparency and reliability of context generation.

@gimlichael gimlichael self-assigned this May 4, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 4, 2026

Greptile Summary

This PR refactors git-story-teller from a Repomix-first multi-fallback architecture (local npx → public web API → built-in .NET packer) to a single deterministic local C# packer that uses git ls-files -z on a shallow clone. It removes ~130 lines of HTTP client, npm resolution, and fallback orchestration code, and correctly updates all documentation, eval contracts, and XML metadata to match.

Confidence Score: 5/5

This PR is safe to merge — it is a clean, well-contained architecture simplification with no introduced bugs.

All removed code paths (Repomix, web API, npx) are fully excised with no dangling references. The new git ls-files -z approach is standard, and the path-traversal guard in ResolveRepositoryPath is sound. The System.Text.Json import is still legitimately used. Documentation, eval contracts, and metadata are all updated consistently.

No files require special attention.

Important Files Changed

Filename Overview
skills/git-story-teller/scripts/story.cs Core refactor: replaces multi-path Repomix packing with a single PackWithLocalPackerAsync call backed by GetTrackedFilesAsync using git ls-files -z; path-traversal guard in ResolveRepositoryPath is sound; RunProcessAsync correctly becomes a thin wrapper around the new RunProcessCaptureAsync; System.Text.Json import is still needed for manifest serialization on line 1429.
skills/git-story-teller/evals/evals.json Eval 6 prompt and expectations correctly updated to reflect that Node/npm and Repomix are no longer relevant dependencies; new expectations accurately describe the shallow-clone + C# packer flow.
skills/git-story-teller/SKILL.md Runtime notes rewritten from Repomix-first fallback chain to single local packing path; removed Repomix web API warning; description YAML frontmatter updated consistently.
CHANGELOG.md v0.4.2 release block added with accurate Changed/Removed sections; comparison links correctly updated from v0.4.1...HEAD to v0.4.2...HEAD with a new v0.4.1...v0.4.2 link.
README.md Skill table entry and feature bullet list updated to remove all Repomix references; new bullets accurately describe the single local packing path and git ls-files-based deterministic membership.
.gitignore Added .vs to exclude the Visual Studio settings folder; a straightforward and appropriate addition.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Agent invokes git-story-teller] --> B[story.cs: shallow git clone]
    B --> C[GetTrackedFilesAsync\ngit ls-files -z]
    C --> D[ResolveRepositoryPath\npath-traversal guard]
    D --> E[Apply include patterns\nShouldIncludeFile]
    E --> F[Skip generated dirs\nIsUnderSkippedDirectory]
    F --> G[Skip low-signal files\nShouldSkipLowSignalFile]
    G --> H[Text-file filter\nIsTextFile]
    H --> I[Build XML repository-context\ngeneratedBy: git-story-teller-local-packer]
    I --> J[FilterLowSignalPackedContent]
    J --> K[Write *.context.md files\nmanifest + chunks]
    K --> L[Agent reads context\nwrites stories]
Loading

Reviews (1): Last reviewed commit: "🙈 add .vs to gitignore" | Re-trigger Greptile

@gimlichael gimlichael merged commit 4323e2a into main May 4, 2026
1 check passed
@gimlichael gimlichael deleted the v0.4.2/git-story-housekeeping branch May 4, 2026 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants