Skip to content

Post Generation Instructions

# This file is executed by the acceptance test suite (living documentation)
#
# Rules:
#   - Step definitions live in: <test-source-root>/steps/ (or equivalent per language)
#   - Keep scenarios focused: one behaviour per scenario.
#   - Use exact terms from specs/glossary.md.

Feature: Post-generation instructions printed after `repo init`
    As a software developer
    I want `repo init` to print next-step instructions on success
    So that I know what to do right after a project is scaffolded

    Scenario: Common instructions for every language/project-type combination
        Given post-generation instructions for <language>/<artifact_type> projects:
            | Language   | Artifact Type  |
            | cpp        | tool           |
            | cpp        | library        |
            | cpp        | service        |
            | cpp        | firmware-stm32 |
            | go         | tool           |
            | go         | library        |
            | go         | service        |
            | java       | library        |
            | java       | service        |
            | typescript | frontend-react |
        Then the instructions include a reminder to search for TODO markers
        And the instructions include a reminder to run "devbox shell"

    Scenario: Go and TypeScript projects mention make init
        Given post-generation instructions for <language>/<artifact_type> projects:
            | Language   | Artifact Type  |
            | go         | tool           |
            | go         | library        |
            | go         | service        |
            | typescript | frontend-react |
        Then the instructions include a reminder to run "make init"
        And the instructions do not mention "make build"

    Scenario: C++ and Java projects mention make build
        Given post-generation instructions for <language>/<artifact_type> projects:
            | Language | Artifact Type  |
            | cpp      | tool           |
            | cpp      | library        |
            | cpp      | service        |
            | cpp      | firmware-stm32 |
            | java     | library        |
            | java     | service        |
        Then the instructions include a reminder to run "make build"
        And the instructions do not mention "make init"