Files
Justin Poehnelt 029e5def2b feat: extract google-workspace library crate (cargo workspace) (#613)
* feat: extract google-workspace library crate and restructure as cargo workspace

- Create crates/google-workspace/ with public modules: discovery, error, services, validate, client
- Move CLI binary to crates/cli/ (package: google-workspace-cli, binary: gws)
- Root Cargo.toml is now workspace-only
- Binary modules use thin re-exports from library (zero behavioral changes)
- Discovery fetch_discovery_document accepts cache_dir parameter for library consumers
- Break output.rs / error.rs circular dep by moving char detection to library validate module
- Update CI workflows for workspace (--workspace flags, path filters)
- Update dist-workspace.toml and policy.yml for new crate locations

Closes #386

* refactor: rename crates/cli to crates/google-workspace-cli

* chore: sync CLI version to 0.20.1 and regenerate skills

* chore: update labeler paths for workspace crate layout

* fix: update flake.nix to read version from CLI crate Cargo.toml

* fix: use tokio::fs for non-blocking I/O in library discovery cache

* docs: update AGENTS.md source layout for workspace structure

* docs: add crate-level READMEs for crates.io

---------

Co-authored-by: jpoehnelt-bot <jpoehnelt-bot@users.noreply.github.com>
2026-03-24 14:40:03 -06:00

79 lines
2.5 KiB
YAML

# Labels applied to PRs based on changed files.
# Used by the actions/labeler action in .github/workflows/automation.yml
"area: auth":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/auth.rs
- crates/google-workspace-cli/src/auth_commands.rs
- crates/google-workspace-cli/src/setup.rs
- crates/google-workspace-cli/src/accounts.rs
- crates/google-workspace-cli/src/credential_store.rs
- crates/google-workspace-cli/src/token_storage.rs
- crates/google-workspace-cli/src/oauth_config.rs
"area: discovery":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/discovery.rs
- crates/google-workspace-cli/src/services.rs
- crates/google-workspace/src/discovery.rs
- crates/google-workspace/src/services.rs
"area: http":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/executor.rs
- crates/google-workspace-cli/src/client.rs
- crates/google-workspace/src/client.rs
"area: tui":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/setup_tui.rs
"area: mcp":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/mcp_server.rs
"area: skills":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/generate_skills.rs
- skills/**
"area: docs":
- changed-files:
- any-glob-to-any-file:
- "*.md"
- docs/**
"area: distribution":
- changed-files:
- any-glob-to-any-file:
- .github/workflows/release.yml
- .github/workflows/release-changesets.yml
- dist-workspace.toml
- Cargo.toml
- crates/*/Cargo.toml
"area: core":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace-cli/src/main.rs
- crates/google-workspace-cli/src/commands.rs
- crates/google-workspace-cli/src/error.rs
- crates/google-workspace-cli/src/formatter.rs
- crates/google-workspace-cli/src/fs_util.rs
- crates/google-workspace-cli/src/helpers/**
- crates/google-workspace-cli/src/text.rs
- crates/google-workspace-cli/src/validate.rs
- crates/google-workspace-cli/src/schema.rs
"crate: google-workspace":
- changed-files:
- any-glob-to-any-file:
- crates/google-workspace/src/**
- crates/google-workspace/Cargo.toml