Design community template ecosystem via create-apm-* packages#36
Closed
Copilot wants to merge 4 commits into
Closed
Design community template ecosystem via create-apm-* packages#36Copilot wants to merge 4 commits into
Copilot wants to merge 4 commits into
Conversation
Co-authored-by: danielmeppiel <51440732+danielmeppiel@users.noreply.github.com>
Co-authored-by: danielmeppiel <51440732+danielmeppiel@users.noreply.github.com>
Co-authored-by: danielmeppiel <51440732+danielmeppiel@users.noreply.github.com>
Collaborator
danielmeppiel
left a comment
There was a problem hiding this comment.
@copilot I don't liek this, you need to do it in this way:
Copilot
AI
changed the title
[WIP] Design community template ecosystem via create-apm packages
Design community template ecosystem via create-apm-* packages
Nov 26, 2025
Contributor
Author
It looks like your instructions got cut off. Could you share how you'd like me to approach this? |
danielmeppiel
added a commit
that referenced
this pull request
May 7, 2026
…) (#1181) * chore(aw): bump microsoft/apm-action v1.6.0 -> v1.7.1 Picks up the v0.12.3 strict-detection fix series: - #33 (apm-action): forwards target: input into the generated apm.yml in isolated mode (all four uses in shared/apm.md are isolated mode with target: all, so this is the relevant fix). - #33 (apm-action): pins the action's apm-version default to 0.12.3 instead of latest, removing the silent-breakage exposure that burned this repo when v0.12.3 shipped. - #34 (apm-action): strict allowlist validation on target: input. - #36 (apm-action): forwards --target to additive 'apm install' invocations (not used here today but ships with the bundle). Without this bump the lock'd v1.6.0 still resolves apm-version=latest, so every triage-panel / pr-review-panel run that hits the APM pack step would now fail with 'No harness detected' under v0.12.3. Lock-file refresh side effects (from gh aw compile v0.71.5): - github/gh-aw-actions/setup v0.71.2 -> v0.71.5 - new actions/github-script@v9.0.0 entry pulled in Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(audit): re-anchor in-package asset rewrite onto package_root during replay (#1182) The replay path of `apm audit --ci` deploys to a scratch tmpdir while `package_root` for self-packages still points at the real project tree. `os.path.relpath(candidate, target_location)` therefore produced a tmpdir traversal (e.g. `../../../../Users/.../MANIFESTO.md`) instead of the project-relative form real install writes (`../../MANIFESTO.md`), flagging every primitive with a `../<repo-root-file>` link as drifted. Detect the cross-frame case (candidate outside `base_dir`) in `_resolve_in_package_asset_link` and re-anchor `target_location` onto `package_root` so the rewrite mirrors install-time output. Dependency packages are unaffected (their `install_path` materialises inside the scratch tree, so candidate stays in-frame). Also lands the .agents/skills convergence: v0.12.3 made `.agents/skills/` the cross-client default, so the 10 self-package skill bundles move from `.github/skills/` -> `.agents/skills/`. The lockfile is regenerated to match. Running `apm install` then `apm audit --ci` against this branch is now a clean no-op. Bundled together with the `apm-action@v1.7.1` workflow bump from the prior commit because the audit gate (broken on `main` since v0.12.3) would otherwise stay red and the skills convergence cannot land without the bug fix above. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(release): cut v0.12.4 Bumps pyproject.toml 0.12.3 -> 0.12.4 and rolls the [Unreleased] entries (orphan-cleanup #1173 + audit-replay #1182) into the [0.12.4] section. Tag will be cut post-merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Daniel Meppiel <copilot-rework@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
sergio-sisternes-epam
pushed a commit
that referenced
this pull request
May 19, 2026
…) (#1181) * chore(aw): bump microsoft/apm-action v1.6.0 -> v1.7.1 Picks up the v0.12.3 strict-detection fix series: - #33 (apm-action): forwards target: input into the generated apm.yml in isolated mode (all four uses in shared/apm.md are isolated mode with target: all, so this is the relevant fix). - #33 (apm-action): pins the action's apm-version default to 0.12.3 instead of latest, removing the silent-breakage exposure that burned this repo when v0.12.3 shipped. - #34 (apm-action): strict allowlist validation on target: input. - #36 (apm-action): forwards --target to additive 'apm install' invocations (not used here today but ships with the bundle). Without this bump the lock'd v1.6.0 still resolves apm-version=latest, so every triage-panel / pr-review-panel run that hits the APM pack step would now fail with 'No harness detected' under v0.12.3. Lock-file refresh side effects (from gh aw compile v0.71.5): - github/gh-aw-actions/setup v0.71.2 -> v0.71.5 - new actions/github-script@v9.0.0 entry pulled in Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(audit): re-anchor in-package asset rewrite onto package_root during replay (#1182) The replay path of `apm audit --ci` deploys to a scratch tmpdir while `package_root` for self-packages still points at the real project tree. `os.path.relpath(candidate, target_location)` therefore produced a tmpdir traversal (e.g. `../../../../Users/.../MANIFESTO.md`) instead of the project-relative form real install writes (`../../MANIFESTO.md`), flagging every primitive with a `../<repo-root-file>` link as drifted. Detect the cross-frame case (candidate outside `base_dir`) in `_resolve_in_package_asset_link` and re-anchor `target_location` onto `package_root` so the rewrite mirrors install-time output. Dependency packages are unaffected (their `install_path` materialises inside the scratch tree, so candidate stays in-frame). Also lands the .agents/skills convergence: v0.12.3 made `.agents/skills/` the cross-client default, so the 10 self-package skill bundles move from `.github/skills/` -> `.agents/skills/`. The lockfile is regenerated to match. Running `apm install` then `apm audit --ci` against this branch is now a clean no-op. Bundled together with the `apm-action@v1.7.1` workflow bump from the prior commit because the audit gate (broken on `main` since v0.12.3) would otherwise stay red and the skills convergence cannot land without the bug fix above. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(release): cut v0.12.4 Bumps pyproject.toml 0.12.3 -> 0.12.4 and rolls the [Unreleased] entries (orphan-cleanup #1173 + audit-replay #1182) into the [0.12.4] section. Tag will be cut post-merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Daniel Meppiel <copilot-rework@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 Documentation Update
Changes
Documents the community-driven template ecosystem following npm's initializer pattern (
npm init <initializer>→npx create-<initializer>).Template Ecosystem Spec (
docs/templates.md)create-apm-<template-name>package.json,bin/index.js,templates/{{project_name}},{{author}},{{year}}Example Package (
templates/create-apm-hello-world/)create-apm-*npm packageCLI Integration Design
Scope
Checklist
documentationordocslabel to this PRFixes #21
Original prompt
This section details on the original issue you should resolve
<issue_title>[Future] Design community template ecosystem via create-apm-* packages</issue_title>
<issue_description>## Summary
Design community-driven template ecosystem using
create-apm-*packages that follow npm's initializer pattern. This is future work and not a blocker for the core init/install redesign.Background
npm's Approach
Key insight: Templates live as separate npm packages, not bundled with core CLI.
Proposed APM Pattern
Design Requirements
1. Package Naming Convention
create-apm-<template-name>create-apmprefix2. Template Package Structure
3. Template Package API
4. APM CLI Integration
Community Template Examples
Official Templates (Future)
create-apm-hello-world- Basic workflow examplescreate-apm-express-api- Express.js backendcreate-apm-frontend-app- Frontend SPAcreate-apm-fullstack- Full-stack applicationCommunity Templates (Examples)
create-apm-compliance- GDPR, legal review workflowscreate-apm-design-system- UI component standardscreate-apm-data-pipeline- Data engineering workflowsDocumentation Needs
Template Author Guide
Template Discovery
apm templatescommand to search npm forcreate-apm-*packagesNon-Goals (Out of Scope)
Benefits
✅ Separation of Concerns - Core CLI stays minimal
✅ Community Ownership - Anyone can publish templates
✅ Standard Tooling - Uses npm/npx (no new tools)
✅ Versioning - Templates can evolve independently
✅ Discoverability - Standard npm search works
Implementation Phases
Phase 1: Design (This Issue)
Phase 2: CLI Integration (Future)
apm init <template>→npx create-apm-<template>delegationapm templatessearch command (optional)Phase 3: Ecosystem (Future)
create-apm-hello-worldAcceptance Criteria
create-apm-hello-worldpackage createdRelated
apm initto minimal-only mode (breaking change) #13, Add auto-bootstrap inapm installwhen no apm.yml exists #14, Improve error messages inapm installwith actionable suggestions #15, Update documentation for new init/install workflows #16<agent_instructions>Hey, don't overcomplicate things</agent_instructions>
Comments on the Issue (you are @copilot in this section)
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.