Skip to content

feat(bootstrap): thin-shell IntelliSDLC.ai-template repo (deferred from #136) #142

Description

@MarkMichaelis

Context

Issue #136 (closed by PR #141) covered the in-script bootstrap path: Pull-SDLC.ai.ps1 now auto-detects empty-state, auto-runs git init when needed, and exposes -RemoteUrl for org-portability. The README documents three recipes (existing repo, brand-new project, fork in another org) that all fully work today.

The original #136 plan also proposed a thin-shell GitHub template repo to make recipe C (brand-new project) a single gh repo create --template call. That layer was deferred; everything works without it.

Scope

Create IntelliTect-Samples/IntelliSDLC.ai-template as a thin shell:

  1. Manual GitHub step -- create the repo with the Template repository flag enabled.
  2. bootstrap.ps1 (~50 lines) -- runs once on a freshly-instantiated template clone:
    • Discovers the org via gh repo view --json templateRepository so a fork in Acme/IntelliSDLC.ai-template automatically points at Acme/IntelliSDLC.ai.
    • Downloads Pull-SDLC.ai.ps1 from the discovered sibling.
    • Invokes it with -RemoteUrl https://github.com/<org>/IntelliSDLC.ai.git.
    • Self-deletes; idempotent (no-op on re-run).
  3. Template README -- one-paragraph "click Use this template, run ./bootstrap.ps1, done."
  4. README update here -- replace recipe C with the gh repo create --template one-liner; demote the -RemoteUrl recipe to a fallback note.
  5. E2E validation -- instantiate template into a scratch repo, confirm bootstrap completes and produces a working synced project.

Why deferred

  • Recipe C via -RemoteUrl already covers the org-portability case.
  • The template repo is a convenience layer (one gh call instead of two), not a capability gap.
  • Creating the template repo is a manual GitHub step that cannot be automated from this codebase.

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions