@@ -592,46 +592,50 @@ Credentials are stored at: `~/.config/cola-registry/credentials.yaml`
592592``` bash
593593make build # Build server binary
594594make build-cli # Build CLI client binary
595- make clean # Remove artifacts
596- make test # Run tests
597- make test-cli # Run CLI tests
595+ make build-all # Build both server and CLI
596+ make clean # Remove build artifacts
597+ make test # Run all tests
598+ make test-cli # Run CLI tests only
598599make run # Build and run server
599600make fmt # Format code
600- make lint # Run linter
601+ make fmt-check # Check formatting (for CI)
602+ make lint # Run linter (go vet)
603+ make install-cli # Install CLI to $GOPATH/bin
601604make help # Show all targets
602605```
603606
604607### Project Structure
605608
606609```
607610cmd/
608- ├── cola-registry/ # Server binary entry point
609- └── cola-regctl/ # CLI client binary entry point
611+ ├── cola-registry/ # Server binary entry point
612+ └── cola-regctl/ # CLI client binary entry point
610613internal/
611- ├── server/ # HTTP server
612- │ ├── handlers/ # HTTP handlers
613- │ └── middleware/ # Middleware (auth, logging, etc.)
614- ├── client/ # CLI client (NEW)
615- │ ├── commands/ # Cobra commands (registry, package, version, login, etc.)
616- │ ├── auth/ # Credential storage and authentication
617- │ ├── config/ # URL and configuration resolution
618- │ ├── output/ # Output formatters (table, JSON)
619- │ ├── prompts/ # Interactive prompts
620- │ ├── validation/ # Client-side validation
621- │ └── errors/ # Error handling and exit codes
622- ├── storage/ # Storage layer (file, OCI, S3)
623- ├── models/ # Shared data models
624- ├── auth/ # Server authentication
625- ├── cli/ # Server CLI commands
626- ├── config/ # Server configuration
627- └── apierrors/ # API error types
628- scripts/
629- ├── populate-test-data.sh # curl-based test data
630- ├── clean-test-data.sh # curl-based cleanup
631- ├── populate-test-data-cli.sh # CLI-based test data
632- └── clean-test-data-cli.sh # CLI-based cleanup
614+ ├── server/ # HTTP server
615+ │ ├── handlers/ # HTTP handlers (health, index, registry, package, version)
616+ │ └── middleware/ # Middleware (auth, cors, logging, ratelimit)
617+ ├── client/ # CLI client
618+ │ ├── commands/ # Cobra commands (registry, package, version, login, etc.)
619+ │ ├── auth/ # Credential storage (keyring, file)
620+ │ ├── config/ # URL resolution
621+ │ ├── output/ # Output formatters (table, JSON)
622+ │ ├── prompts/ # Interactive prompts
623+ │ ├── validation/ # Client-side validation
624+ │ └── errors/ # Exit codes
625+ ├── storage/ # Storage backends (file, OCI, S3)
626+ ├── models/ # Shared data models
627+ ├── auth/ # Server authentication (basic, none)
628+ ├── cli/ # Server CLI commands
629+ ├── config/ # Server configuration
630+ └── apierrors/ # API error types
631+ tests/
632+ └── integration/ # Integration tests (OCI, S3, server)
633+ scripts/ # Test data scripts
633634docker/
634635└── Dockerfile # Multi-stage Docker build
635636docs/
636- └── spec.md # Complete specification
637+ ├── openapi.yaml # OpenAPI specification
638+ └── quickstart.md # Quick start guide
639+ .github/
640+ └── workflows/go.yml # CI/CD pipeline
637641```
0 commit comments