Skip to content

Conversation

@russellseymour
Copy link
Contributor

📲 What

Added a new downloader to the CLI called filesystem.

Updated the code that manages how the replacements are made in the text files of the project. Add some more unit tests. Added new functionality to turn off template_mode when scaffolding a project.

Updated documentation

🤔 Why

The CLI works by either cloning a git repo or unpacking a Nuget package. This works when the CLI is being used, but is not conducive to development as the package needs to be uploaded and then downloaded or cloned. So by using a filesystem downloader the CLI can copy from directories on disk which makes development easier.

By default the CLI will output an ADO variable file (if ADO CI/CD has been selected) into the project. However this is static and may not reflect the project being scaffolded. A new option has been added that can turn this template mode off and let the configuration file for the project inform what changes need to made.

Updated documentation to reflect the updates that have been made to the application.

🛠 How

A new downloader has been added, that can be selected in the internal_config.yml file. When defining a new component in this file, the type can now be set to nuget, git and filesystem. For the filesystem a path parameter must be set. This means that when setup that folder will be copied. The .git directory is ignored.

A new item has been added to the internal_config model called template_mode. By default this is set to true so that existing projects are not affected. When a project does want to use the built in ADO template, this can be set to false which will prevent that file being copied to the repo.

👀 Evidence

Screenshots / external resources / links / etc.

Link to documentation updated with changes impacted in the PR

🕵️ How to test

Notes for QA

✅ Acceptance criteria Checklist

  • Code peer reviewed?

  • Documentation has been updated to reflect the changes?

  • Passing all automated tests, including a successful deployment?

  • Passing any exploratory testing?

  • Rebased/merged with latest changes from development and re-tested?

  • Meeting the Coding Standards?

Added styles for PDF and Word document generation
Added automatic glossary generation

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Added glossary file to generate glossary from terms that are used in the documentation

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
… configuration can be performed

Updated how the regular expression pattern works when patching a newly created project

Added more tests

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Changed  way in which ADO pipeline works

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Changed which context build number runs in

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Corrected reference to Build number

Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new "filesystem" downloader mode to the CLI for local development, adds template mode configuration controls, and updates documentation and build tooling. The changes enable developers to copy from local directories during development instead of downloading packages, improving the development workflow.

  • Added filesystem downloader for local development scenarios
  • Implemented template mode configuration to control ADO variable file generation
  • Updated build tooling from Taskctl to Eirctl with comprehensive documentation updates

Reviewed Changes

Copilot reviewed 71 out of 84 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pkg/downloaders/filesystem.go New filesystem downloader implementation
pkg/downloaders/*_test.go Comprehensive test suites for all downloaders
pkg/config/stacks_component.go Added TemplateMode field with helper method
pkg/scaffold/scaffold.go Integrated filesystem downloader and template mode logic
pkg/config/pipeline.go Enhanced pattern replacement with logging and deduplication
docs/ Updated documentation for new features and build tool migration
build/ Migrated from Taskctl to Eirctl build system

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

russellseymour and others added 3 commits August 14, 2025 10:53
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants