Skip to content

Create monorepo template for platform engineering with CLI/API packages and Dev Container#1

Closed
Copilot wants to merge 7 commits into
mainfrom
copilot/create-template-repository
Closed

Create monorepo template for platform engineering with CLI/API packages and Dev Container#1
Copilot wants to merge 7 commits into
mainfrom
copilot/create-template-repository

Conversation

Copy link
Copy Markdown

Copilot AI commented Nov 1, 2025

Setting up a template repository for platform engineering with monorepo structure

All tasks completed successfully!

Summary

This PR creates a complete, production-ready template repository for platform engineering with:

Core Features

  • ✅ Monorepo structure with separate CLI and API packages
  • ✅ CLI built with Typer (commands, rich output, tests)
  • ✅ API built with FastAPI (endpoints, Pydantic models, tests)
  • ✅ Package management with uv (fast, modern)
  • ✅ Testing with pytest (6 tests, all passing)
  • ✅ Linting with ruff (all checks passing)
  • ✅ Type checking with mypy (no errors)

Developer Experience

  • Dev Container support (RECOMMENDED) - truly platform-agnostic development
    • Pre-configured VS Code environment with extensions
    • Automatic dependency installation
    • Consistent environment across all platforms (macOS, Linux, Windows)
    • No local Python/tool installation required
    • Port forwarding and Git integration included
  • ✅ Makefile with convenient commands
  • ✅ Cross-platform documentation (macOS, Linux, and Windows)
  • ✅ Comprehensive documentation (README, DEVELOPMENT, CONTRIBUTING, TEMPLATE_GUIDE)
  • ✅ GitHub Actions CI workflow (with proper permissions)
  • ✅ Docker support (docker-compose and Dockerfile)
  • ✅ .gitignore configured properly

Security & Quality

  • ✅ Code review passed (no issues)
  • ✅ CodeQL security scan passed (no alerts)
  • ✅ All tests pass (6/6)
  • ✅ Linting passes (ruff)
  • ✅ Type checking passes (mypy)
  • ✅ CLI works correctly
  • ✅ API works correctly

The template provides the best cross-platform development experience using Dev Containers as the recommended approach, while still supporting local development for those who prefer it. Works seamlessly on any platform!

Original prompt

I'd like you to create a TEMPLATE repository I can use for platform engineering work.

  1. It should be a mono repo that contains individual folders for and api and a cli.
  2. It needs to include the following technologies:

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI self-assigned this Nov 1, 2025
Copilot AI and others added 4 commits November 1, 2025 22:01
Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Copilot AI changed the title [WIP] Create template repository for platform engineering work Create monorepo template for platform engineering with CLI/API packages Nov 1, 2025
Copilot AI requested a review from alexinslc November 1, 2025 22:09
@alexinslc
Copy link
Copy Markdown
Owner

@copilot Instructions for setup and stuff should be written for both macOS and Windows. Should work on both.

Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Nov 1, 2025

@copilot Instructions for setup and stuff should be written for both macOS and Windows. Should work on both.

Updated all documentation to include instructions for both macOS/Linux and Windows (PowerShell and Command Prompt where applicable). Changes include:

  • Platform-specific installation instructions for uv
  • Commands shown for both macOS/Linux and Windows
  • Virtual environment activation instructions for all platforms
  • Added note about Make requiring installation on Windows
  • Clear separation using collapsible sections and platform headers

Commit: 65ec036

@alexinslc
Copy link
Copy Markdown
Owner

@copilot Isn't a better approach to use a docker container / devcontianer for development so it's more platform agnostic?

Co-authored-by: alexinslc <127081+alexinslc@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Nov 1, 2025

@copilot Isn't a better approach to use a docker container / devcontianer for development so it's more platform agnostic?

You're absolutely right! I've added full Dev Container support as the recommended approach:

What's included:

  • .devcontainer/ configuration for VS Code
  • Pre-configured Python 3.12 environment with uv, make, git, and zsh
  • Auto-installed VS Code extensions (Python, Ruff, Mypy, etc.)
  • Automatic dependency installation via postCreateCommand
  • Port forwarding for FastAPI (port 8000)
  • Consistent environment across macOS, Linux, and Windows

Benefits:

  • ✅ True platform agnostic - identical environment everywhere
  • ✅ No local Python/tool installation needed
  • ✅ One-click setup in VS Code
  • ✅ Isolated per-project environments

The README now recommends Dev Containers as the primary setup method, with local installation as an alternative. Documentation updated in all files.

Commit: 3e34bc9

Copilot AI changed the title Create monorepo template for platform engineering with CLI/API packages Create monorepo template for platform engineering with CLI/API packages and Dev Container Nov 1, 2025
@alexinslc alexinslc closed this Nov 1, 2025
@alexinslc alexinslc deleted the copilot/create-template-repository branch November 1, 2025 22:59
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