Skip to content

Git workspaces #138

@jahvon

Description

@jahvon

Summary

Add support for Git repositories as workspaces, enabling easy sharing and distribution of flow workspace config and executables. Users should be able to add workspaces directly from Git URLs and have flow automatically manage cloning, updates, and workspace registration.

Git workspace support would enable patterns like:

flow workspace add my-team-workflows https://github.com/myorg/flow-workflows.git
flow workspace add k8s-tools https://github.com/platform/k8s-flows.git --branch production

Core Requirements

Command Interface

Extend existing workspace commands to accept Git URLs:

# Auto-detect Git URLs in existing command
flow workspace add <name> <git-url> [flags]

# Examples
flow workspace add shared-tools https://github.com/myorg/tools.git
flow workspace add k8s-flows [email protected]:platform/k8s.git --branch main --set

Storage Strategy

Follow Go module conventions for dependency management:

~/.cache/flow/git-workspaces/
├── github.com/myorg/tools/
├── gitlab.com/team/scripts/
└── bitbucket.org/company/flows/

Features to Consider

Branch/Tag Support

flow workspace add tools https://github.com/org/tools.git --branch develop
flow workspace add stable https://github.com/org/tools.git --tag v1.0.0

Sync Control

  • Auto-sync on flow sync (default)
  • Manual sync only
  • One-time clone (never update)

Authentication

  • SSH key support for private repositories
  • Token-based authentication
  • Graceful handling of auth failures

Offline Operation

  • Work with cached Git workspaces when remote is unavailable
  • Clear indicators of workspace sync status

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions