Skip to content

Catesta

Minimum Supported PowerShell Version PowerShell Gallery Cross Platform License Documentation Status

What is Catesta?

Catesta is a PowerShell module and vault project generator. It uses templates to rapidly scaffold test and build integration for a variety of CI/CD platforms.

Catesta Logo

Why Catesta?

Catesta streamlines the process of structuring your PowerShell module or Vault extension project, allowing you to focus on creating a top-quality project without getting bogged down in formatting, testing, and build automation. With Catesta, you can generate all the necessary build files, configurations, and integrations for your project with just a single command.

Getting Started

Installation

# Install Catesta from the PowerShell Gallery
Install-Module -Name Catesta -Repository PSGallery -Scope CurrentUser

Quick start

PowerShell Module

# Scaffolds a PowerShell module project with customizable CI/CD integration options
New-ModuleProject -DestinationPath $outPutPath

SecretManagement Vault Extension Project

# Scaffolds a PowerShell SecretManagement vault project with customizable CI/CD integration options
New-VaultProject -DestinationPath $outPutPath

How Catesta Works

Catesta uses customized Plaster templates to enable you to quickly scaffold a PowerShell module or Vault extension project with proper formatting, test + build automation, CI/CD integration, with just one line of code.

  • Catesta scaffolds an empty Module/Vault project that adheres to PowerShell community guidelines.
  • It generates a few Pester tests to get you started.
  • It makes a build file that analyzes your code for best practices and styling, runs Pester tests, creates PowerShell help, and combines your functions together to build your project for publication.
  • It will create resources you need to trigger CI/CD builds for your project.
  • When you commit your code to your chosen repository, the build(s) will run, and you can view the results.

Catesta Repository and CICD Integrations Note: The links above only show natively supported integrations between repositories and CI/CD platforms. It is possible to establish a connection to remote Git repositories for source control, and to replicate repositories from source to another location, which can expand the range of integration scenarios.

Features

Catesta can build two types of projects:

  1. PowerShell module layout following PowerShell community practices
  2. SecretManagement Vault extension module layout following PowerShell community practices

Selections

  • [Selection] CI/CD build integration:
  • [Selection] Build types for easy cross-platform testing
    • Windows PowerShell
    • Windows pwsh
    • Linux
    • MacOS
  • InvokeBuild tasks for validation / analysis / test / build automation
    • PSScriptAnalyzer code checks
      • [Optional] Code Style Enforcement (Stroustrup, OTBS, Allman)
    • Pester Tests
      • Will run Unit / Integration Tests if available
      • Generates Code Coverage Report
      • Coverage Gutters support
    • [Optional] Create Help using platyPS
      • Markdown-based help
      • External XML help file generation
    • Build and artifact creation
  • Helpful VSCode editor files
  • [Optional] Helpful repository files
    • .gitignore
    • Project LICENSE (MIT / APACHE / GNU / ISC)
    • Changelog
    • Community files:
      • Code of Conduct
      • Contributing guidelines
      • Templates (if supported)
        • Issue Bug Report
        • Issue Feature Request
        • Pull Request
    • Read the Docs integration
  • [Selection] Pester version selection. Choose between Pester version 5 or Pester version 4 for testing your project.