Add recursive package manifest imports - #58233
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot add tests with various tooologies |
|
@copilot do not add a new keyword, reuse "includes" |
There was a problem hiding this comment.
🟡 Changes recommended
Compile-time validation now incorrectly rejects package manifests marked private.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds recursive aw.yml imports so repository packages can compose validated installable assets.
Changes:
- Resolves local and remote manifest import graphs with cycle and path validation.
- Unifies workflows, resources, skills, and agents with destination-clash detection.
- Documents and tests manifest composition.
File summaries
| File | Description |
|---|---|
pkg/parser/schemas/aw_manifest_schema.json |
Defines the imports field. |
pkg/cli/compile_repository_manifest.go |
Validates composed local manifests. |
pkg/cli/add_workflow_resolution.go |
Resolves local imported assets. |
pkg/cli/add_package_manifest_resolve.go |
Resolves remote imported assets. |
pkg/cli/add_package_manifest_parse.go |
Parses manifest imports. |
pkg/cli/add_package_manifest_imports.go |
Implements graph and collision validation. |
pkg/cli/add_package_manifest_imports_test.go |
Tests imports, cycles, symlinks, and clashes. |
docs/src/content/docs/specs/repository-package-manifest-specification.md |
Specifies import behavior. |
docs/src/content/docs/reference/aw-yml-package-manifest.md |
Documents user-facing usage. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| if err != nil { | ||
| return err | ||
| } | ||
| assets, err := resolveLocalRepositoryPackageManifestNodes(nodes) |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added manifest topology coverage for chained, shared (diamond), cycle, path normalization, symlink escape, and destination clash cases in 85f0d64.
Package composition now reuses |
|
🎉 This pull request is included in a new release. Release: |
Package manifests can now compose subpackages instead of duplicating their file declarations. Imported manifests produce one validated install list.
Changes
Manifest composition
importssupport to theaw.ymlschema.Unified installation
Validation