Skip to content

[CLI] Feature — Scriptable Batch Operations #22

@0xheartcode

Description

@0xheartcode

Overview

When you have many repositories, manually adding each one to a GitHub Project board is tedious. You might have a monorepo with dozens of services or an org with hundreds of repos.

Current State

No scripting or automation layer. Adding repos to projects requires manual clicking in the GitHub web UI or custom GraphQL scripts.

Proposed Solution

Add a scripting/automation layer for batch operations:

lazydash script add-repos --project "Engineering Board" --org myorg --pattern "api-*"
lazydash script add-repos --project "Engineering Board" --from repos.txt
lazydash script add-repos --project "Engineering Board" --org myorg --dry-run
lazydash script verify --project "Engineering Board" --from repos.txt

The verify command checks the project against an expected list and reports what's missing or extra (useful for CI).

Advanced version could support declarative config:

# .lazydash-sync.yml
dashboards:
  - project: "Engineering Board"
    repos:
      include: ["myorg/api-*", "myorg/web-*"]
      exclude: ["myorg/api-deprecated"]
    auto_sync: true

Priority

Lower. Power-user/automation feature. Get core browsing right first. Strong differentiator for teams and orgs.

Acceptance Criteria

  • lazydash script add-repos adds repos matching a pattern to a project
  • --dry-run flag shows what would change without making changes
  • lazydash script verify compares actual vs expected project state
  • Cache is checked before making API calls to minimize API usage
  • Supports --from file input for repo lists

Epic: This is an epic-sized issue covering a full scripting/automation subsystem. Will need to be broken down into smaller sub-issues when work begins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiGitHub API / GraphQLfeatureNew functionalitymajor-featureDays of work, large scope

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions