Creating a project type

Create a project type in Facets from an existing project, an existing project type, or a Git repository, in the console or by asking a Praxis agent.

A project type is created from one of three sources:

  • An existing project: its blueprint becomes the base for the new type.
  • An existing project type: derive a variant from a type you already have.
  • A custom Git repository: base the type on a template you maintain.

Create one in the Facets console, or ask a Praxis agent to do it. To pull in an official Facets project type instead of authoring your own, see Import a project type.

Create a project type

Using prompt

Create a project type called checkout-aws from my existing project "checkout".

Say which of the three sources to use, an existing project, an existing project type, or a Git repository, and the agent creates the type for you.

  1. Go to Ops Center and open Project Type, then click Create Project Type.
  2. Basic information: enter a Name and an optional Description.
  3. Source configuration: choose where the type starts from.
    • Existing Project: pick a project whose blueprint becomes the base. Its Git configuration is inherited.
    • Existing Project Type: pick another type to derive from. Its Git configuration is inherited from that type's underlying project.
    • Custom Git Linking: point at a repository directly (Git account, repository URL, Git ref, and relative path).
  4. Infrastructure settings: choose the IaC Tool (Terraform or OpenTofu) and its version. Projects of this type can only use modules that tool supports.
  5. Click Create.

Interactive walkthrough

Once the type exists, map the modules projects of that type can use.

Prefer to define a project type as code? Import from your own definition covers the Praxis CLI path: a YAML definition, module uploads, and private repos.