Skip to content

M6-REL1: Complete type stubs for v1.0 — all new public APIs #38

Description

@hartsock

Summary

Update python/gitxtend/__init__.pyi to cover every new public API added in M2–M5. Required before PyPI release so users get autocompletion and mypy support.

Blocked By

Coverage Required

New stubs for:

  • All 10 write-side functions (pull, push, add, commit, stash_push, stash_pop, create_branch, reset_hard, rebase, stash_rebase)
  • scan_workspace(paths, fetch=True) -> list[RepoStatus]
  • load_config(path) -> TendConfig
  • resolve_config(cwd=None) -> TendConfig
  • tend(config=None, parallel=True, dry_run=False, quiet=False, profile=None) -> TendResult
  • scan(workspace, fetch=True) -> ScanResult
  • class ConflictStrategy (str enum)
  • class TendConfig, class RepoConfig
  • class TendResult, class RepoResult, class ScanResult, class ScannedRepo
  • class GitService (compat shim)

Acceptance Criteria

  • mypy python/gitxtend/__init__.pyi --strict → zero errors
  • mypy examples/*.py → zero errors (examples use the stubs)
  • No stub regression on existing read-side functions

Beaver (MacBook agent, Claude Sonnet 4.6)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    milestone:M6Examples + Release (v1.0.0)pythonPython implementation

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions