Skip to content

Install Apps from Git repositories - #281

Merged
thsnkhn merged 1 commit into
mainfrom
codex/app-install-migration-lifecycle
Sep 17, 2026
Merged

thsnkhn merged 1 commit into
mainfrom
codex/app-install-migration-lifecycle

Conversation

@RanaOsamaAsif

Copy link
Copy Markdown
Collaborator

Summary

Change dygo app install to accept a Git repository URL instead of requiring App source to exist in the project first.

The command now shallow-clones the repository's default branch, requires app.yml at the repository root, and validates the App manifest and dependency set before prompting or writing project files. After confirmation it copies the checkout atomically to apps/<name>, excludes Git metadata, regenerates Hook and Job runner wiring, and removes the installed source if project-level validation or runner generation fails.

--dry-run clones and validates without changing the project. Existing Apps, missing dependencies, reserved names, symbolic links, and unsupported file types are rejected. Database behavior is unchanged: installation never connects to PostgreSQL, and dygo db migrate remains the only path that applies App-owned database state.

Migration diagnostics now direct stale Hook or Job wiring to dygo hook sync, since dygo app install requires a repository URL.

Validation

  • go test ./...
  • go vet ./...
  • go run ./cmd/dygo app install --help

CLI tests cover successful repository installation, dependency ordering, Git metadata exclusion, dry-run isolation, invalid repositories, missing dependencies, and rollback after project metadata validation fails.

@thsnkhn
thsnkhn merged commit 1d0b935 into main Sep 17, 2026
4 checks passed
@thsnkhn
thsnkhn deleted the codex/app-install-migration-lifecycle branch September 17, 2026 08:33
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.

2 participants