Skip to content

Track deferred v0.1.1 follow-ups #5

Description

@omerbek

RepoDx v0.1.1 is intentionally small. During development, a few things were identified and deliberately deferred rather than rushed. Tracking them here so the scope stays honest and so anyone interested can pick one up.

Good first issues (small, self-contained)

  • Setext-style Markdown headings aren't recognized. markdown_headings() only matches #-style headings. A README using the Title\n===== style would be incorrectly flagged as missing Installation/Usage sections.
  • has_gitignore_entry normalization is one-sided. The **/ prefix and trailing / are stripped from the .gitignore entry being checked, but not from the expected_entry being searched for. Works today because no caller passes a **/-prefixed expected value, but it's an implicit assumption worth making explicit or removing.

Needs a design decision first

  • .gitignore matching only understands two normalizations (**/ prefix, trailing /). Patterns like *.pyc, .env*, or general glob syntax aren't recognized. Full glob support is out of scope for now - worth discussing how far to go before implementing.
  • Directory walk doesn't short-circuit. find_junk_files still walks every file inside an ignored node_modules/ or __pycache__/ via rglob, it just skips reporting them. Fine for small repos; would be slow on a large node_modules/. Fixing this means switching to os.walk with manual pruning.

Larger features (help wanted)

  • Secret/API key scanning. Deliberately not reinvented in v0.1 - Gitleaks and TruffleHog already do this well. A future version could shell out to Gitleaks if it's installed, and say so clearly if it isn't.
  • Unused dependency detection. Comparing requirements.txt against actual imports is easy to get wrong (dynamic imports, indirect deps). Needs a careful, conservative approach.

Not committing to a timeline on any of these - opening this mainly so the project's known edges are documented rather than silent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions