Skip to content

The tool-agnostic templates are seeded into a repository that is not a Nexus checkout #323

Description

@sameera

As an adopter setting up Nexus in my own repository, I want setup to place the templates the pipeline stages read, so that the stages find them without my repository having ever been a Nexus checkout.

Acceptance Criteria

  • Given a repository with no .nexus/config/templates/ directory, when the documented bootstrap sequence for a new adopter completes, then all three tool-agnostic templates are present there.
  • Given a repository where one of those templates already exists and has been edited, when that same sequence runs again, then that file is unchanged, and any template that was absent is added.
  • Given nxs.setup.md, when the sentence stating that it does not seed the templates and that an install step does is read, then it names whichever step actually seeds them after this story.
  • Given the seeded templates, when each is compared with the master it came from, then they are byte-identical on first seed.
  • Given a repository that has never been a Nexus checkout, when the setup stage, the decision-record stage and the close stage each read their template, then each finds it.

Notes

The three are standard.template.md, decision-record-template.md and close-record-template.md. They are already tool-agnostic and already have masters under common/templates/ — this story gives them a way to arrive, not a new definition.

Seed-never-clobber is a decision that predates this epic and is preserved rather than revisited: a project may tune a template, and a re-run must not discard that.

The setup stage's own body currently states that it does not seed these and that an install step does. That sentence becomes false when this story lands and is corrected as part of it.

Where the seeding runs is deliberately not fixed by this story's ACs. The parent epic gives the install verb to #253, and this story must work whether the templates are placed by the setup stage or by that verb. What it fixes is that they are placed at all, into a repository that is not a Nexus checkout — the ACs therefore trigger on "the documented bootstrap sequence for a new adopter", which is whatever that sequence turns out to be.

If seeding lands in #253, this story still owns a deliverable: the three template masters becoming a seedable set, the seed-never-clobber behaviour, and the correction in AC3. It does not become a documentation-only story.

nxs.setup.md currently both reads a template (for its standards guidance) and states that it does not seed templates. Both sentences are in one file and only one of them can stay true.

Metadata

Metadata

Assignees

No one assigned

    Labels

    pipelineOrchestration of the Nexus stages and human-decision gatesstoryUser story (created by nxs-gh-create-story)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions