Imports:
  - Types:
      - schema AS schema_logic
    From: goga/schema

Usages:
  click: .goga/usages/cooks/click.md
  conventions: .goga/usages/conventions.md

Annotations: |
  The `conventions` practice serves the following purposes:
  - Codebase navigation and maintenance
  - REPL-driven development cycle orchestration
  - Debugging and testing execution
  - Test infrastructure setup and management
  - Comprehension of project-wide development and testing principles and rules
  The developer must use the `click` practice to create CLI commands.
  The `schema` command delegates its business logic to `schema_logic`.

---

"schema(cells: list[str], max_depth: int = None, depends_on: list[str] = [])":
  location: schema.py
  annotations: |
    CLI wrapper for the schema command. Delegates business logic to `schema_logic`.

    `cells` (list[str]): cell paths to filter the schema output
    `max_depth` (int, optional): maximum nesting depth of the dependency tree
    `depends_on` (list[str]): filter cells by dependency relationship

    Algorithm:
    1. Invoke `schema_logic`(`cells`, `max_depth`, `depends_on`)
    2. On ValueError from `schema_logic` (AST parse errors) — write error to stderr, exit 1
    3. Output the result via `click`.echo

---

Author: Goga
CreatedAt: 20/05/26

Description: |
  CLI wrapper command that generates a JSON schema representation of the project structure