Skip to content

cppa-cursor-browser: Public modules — add docstrings to api/ layer functions #108

Description

@clean6378-max-it

Calendar Day

Tuesday, June 23, 2026 (PR 1 of 2)

Planned Effort

3 story points — sprint item #5 (Medium)

Problem

Public Python modules across the services/, utils/, api/, and models/ packages lack docstrings on most exported functions. Public functions used by both the web API and the CLI export script have no docstrings explaining parameters, return values, or side effects. This creates a contribution barrier for new developers (and slows Chen's own ramp onto the repo this week).

Goal

One merged PR that adds Google-style docstrings to every public function/class across the api//services//utils//models/ surface, with no functional code changes.

Scope

Touch points

  • services/*.py, utils/*.py, api/*.py — public (no leading underscore) functions
  • models/*.py — public classes and their from_dict classmethods
  • Key files: services/workspace_listing.py, services/workspace_resolver.py, utils/workspace_path.py, api/workspaces.py, api/export_api.py, api/search.py

Out of scope

  • Any behavior or signature change (docstrings only)
  • Private/underscore-prefixed helpers (optional, not required)

Acceptance Criteria

  • Every public function (no leading underscore) in services/*.py, utils/*.py, and api/*.py has a docstring with: one-line summary, parameter descriptions, return type description
  • models/*.py public classes and their from_dict classmethods have docstrings
  • Docstrings follow Google style
  • No functional code changes — docstrings only
  • ruff and mypy remain green
  • PR approved by at least 1 reviewer

Verification

cd C:\Users\Jasen\CppAliance\cppa-cursor-browser
.\.venv\Scripts\Activate.ps1
ruff check .
mypy .
pytest

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions