Archetect
Archetect is a powerful code-centric, language agnostic content generator, capable of generating single files, complex projects, or entire architectures.
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.
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
to1
to enable Long Path Support for Windows
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.
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
, setHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
to1
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