Skip to content

aictx: Performance improvments to handle duplicates, gitignore awareness, integration tests, and new flags#9

Merged
Unique-Divine merged 19 commits into
mainfrom
ud/algos
Dec 8, 2025
Merged

aictx: Performance improvments to handle duplicates, gitignore awareness, integration tests, and new flags#9
Unique-Divine merged 19 commits into
mainfrom
ud/algos

Conversation

@Unique-Divine
Copy link
Copy Markdown
Owner

  • mdtoc: Fix indentation when firsth1: false: recalculate highest after removing the first H1 so top-level headings (e.g., H2) start at level 0
  • aictx: Fix path-dedup logic by keying on absolute paths and switching RunCtx to pointer receivers.
  • aictx: Write tests for function that finds the git repo path
  • aictx: Go deps
  • aictx: Impl git ignore utils to begin work on integrating ignore files into the tool.
  • aictx: Add gitignore loading, ignore evaluation
  • aictx: tests for git ignore behavior during runs and skip dir semantics
  • aictx: impl depthWithinRoot function to use --level flag
  • aictx: impl --level flag behavior for max recursion depth from each root path
  • aictx: impl tests for new --level flag
  • aictx: Refactor project to run main.go into a thin wrapper, making it easier to write integration tests that use the full CLI
  • aictx: Route CLI output through cli.App writers instead of os.Stdout/os.Stderr for testability.
  • aictx: Add CLI-level integration tests and a test harness for capturing stdout/stderr.
  • aictx(deps): Update urfave/cli to v3; cleaner file header for each output in the buffer
  • aictx: Add justfile with commands for tests, linting, formatting, and building the app
  • docs: Update README.md to to reflect updates to algos and aictx dirs
  • aictx: Add a README.md file with examples
  • aictx: split ignore logic into global and local layers
  • chore: update LICENSE

- Introduce RunCtx fields for cwd, repo root, and loaded .gitignore lines
- Implement LoadIgnoreLines and BuildIgnorer for repo-aware ignore behavior
- Update stitching flow to use RunCtx and ShouldIgnore for per-file filtering
- Add PathRelativeDepth tests and new integration tests for ignore logic
- Fix traversal logic to skip already-seen and ignored paths before processing
- Include temporary RunCtx JSON dump for debugging
easier to write integration tests that use the full CLI
Introduce a dedicated global ignorer for built-in patterns (e.g. .git, editor dirs)
and refactor the existing logic into a local ignorer for repo-level rules.
`ShouldIgnore` now evaluates global rules first, then local ones.

This clarifies precedence, makes built-in exclusions reliable, and keeps
repo `.gitignore` behavior unchanged. Tests updated accordingly.
… removing the first H1 so top-level headings (e.g., H2) start at level 0

Add type safety & documentation improvements for markdown-toc
@Unique-Divine Unique-Divine merged commit 777f485 into main Dec 8, 2025
2 checks passed
@Unique-Divine Unique-Divine deleted the ud/algos branch December 8, 2025 05:30
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.

1 participant