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)

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