Skip to content

Conversation

bgroff
Copy link
Contributor

@bgroff bgroff commented Aug 19, 2025

NOUN Module Structure

internal/
├── cmd/
│ ├── cmd.go # Root command
│ └── verbs/ # VERB implementations
│ ├── get.go
│ ├── list.go
│ ├── create.go
│ ├── edit.go
│ ├── delete.go
│ └── logs.go
└── nouns/
├── interface.go # Common interfaces
├── airbyte/
│ ├── getter.go # abctl get airbyte
│ ├── lister.go # abctl list airbyte
│ ├── creator.go # abctl create airbyte (install)
│ ├── editor.go # abctl edit airbyte
│ ├── deleter.go # abctl delete airbyte (uninstall)
│ └── logger.go # abctl logs airbyte
├── dataplane/
│ ├── getter.go
│ ├── lister.go
│ ├── creator.go
│ ├── editor.go
│ ├── deleter.go
│ └── logger.go
├── region/
│ └── ... (same pattern)
└── workspace/
└── ... (same pattern)

Example Commands

Airbyte (local) operations

abctl create airbyte --port 8000 --low-resource-mode
abctl get airbyte # status by default
abctl get airbyte --credentials # get credentials
abctl get airbyte --manifest # get image manifest
abctl list airbyte # list deployments
abctl logs airbyte --follow
abctl edit airbyte --port 9000 # modify configuration
abctl delete airbyte --force

Workspace operations

abctl create workspace my-workspace --region us-west-2
abctl get workspace my-workspace
abctl list workspace --region us-west-2
abctl edit workspace my-workspace --name new-name
abctl delete workspace my-workspace

Dataplane operations

abctl create dataplane prod-dataplane --region eu-central-1
abctl list dataplane
abctl get dataplane prod-dataplane
abctl logs dataplane prod-dataplane --tail 100

Region operations

abctl list region
abctl get region us-west-2

Benefits

  1. Consistent Pattern: Every resource follows same VERB NOUN pattern
  2. Discoverable: abctl --help shows VERBs, abctl create --help shows NOUNs
  3. Extensible: Easy to add new NOUNs or new VERBs
  4. Resource-Oriented: Aligns with REST/Kubernetes patterns
  5. Clear Separation: Each NOUN module handles all operations for that resource

@bgroff bgroff changed the title rework the comand structure to be VERB NOUN feat: rework the comand structure to be VERB NOUN Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant