Skip to main content

Archetect

Archetect is a powerful code-centric, language agnostic content generator, capable of generating single files, complex projects, or entire architectures.

Archetect GitHub

Prerequisites

Installation

Windows Installation

A Windows Installer is available on the Archetect Github Releases page. The installer will be names like archetect-vX.X.X-windows-x86_64-installer.exe. Simply download and run the installer like any other Windows application.

warning

Windows may view this installer as coming from an "Untrusted Source". You will need to override the exceptions to allow the installation.

It will automatically :

  • Adds archetect to Path environment variable
  • Sets core.longpaths=true to support Long File Path for Git
  • Sets registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled to 1 to enable Long Path Support for Windows
info

The Windows x86_64 installer works on both x86_64 and arm64 architectures.

MacOS Installation using Homebrew

A Homebrew Formula is available for the archetect. To install using Homebrew:

brew tap archetect/tap
brew install archetect
Installation using Pre-Compiled Binaries

Pre-compiled binaries for the archetect are available for multiple platforms. You are free to download an archive appropriate for your operating system and architecture from it's Github Releases page, extract the contents, and place the binary on your system's path.

warning

Windows following steps needs to be done for correct archetect Usage

  • Enable Git with Long File Name Support git config --global core.longpaths true
  • Enable Windows OS Long File Name Support, run register.exe, set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled to 1
Installation using the source code

Install Rust Lang's build tool be able run cargo.

git clone git@github.com:archetect/archetect.git
cd archetect
cargo install --path archetect-bin

Configuration

Initialize with p6m catalog

archetect render git@github.com:p6m-archetypes/archetect-initializer.archetype.git ~/.archetect/

Usage

Version

archetect --version

Show catalog

archetect

Example

? Catalog Selection:
> 01: 📂 P6M
02: 📂 Archetect
[↑↓ to move, enter to select, type to filter]

Pull most recent version of archetypes

archetect -U

Predefined answers with -a option

archetect -a org-name=xyz -a solution-name=playground

Clear cache

archetect cache clear

Will remove all cached archetypes and catalogs

Render archetype from local folder

archetect render /path/to/archetype

Render archetype from remote repository from branch

archetect render git@github.com:p6m-archetypes/java-spring-boot-grpc-service.archetype.git@my_branch_name

my_branch_name is a branch name here, you would specify your own. main branch will be used if branch is not specified

Switches with -s option

archetect -s debug-context

Will display debug information about archetect context for each archetype called