Key Concepts

This page defines the core terms of PAS Code. It covers the terms you meet on your own computer while you work with the PAS CLI, the terms of the handover to the platform, and the terms you meet in the Control Hub while you deploy and operate what you have built.

The terms are grouped along the path a change travels, from the project on your computer to a running deployment on the platform. For an alphabetical lookup of all terms, see PAS Code Glossary.

The Product and Its Components

Component

Description

PAS Code

The solution that covers scaffolding, development, testing, deployment, and operation of software for the Scheer PAS platform in a single workflow. Refer to Getting Started With PAS Code.

PAS CLI

The command line tool that you call through pas. You use it to connect your computer to a platform, to create a project, to generate the components of the project, and to run the project. It is the only supported way to create a project and its components, because the build pipeline relies on the structure that the PAS CLI generates. Refer to What is the PAS CLI?.

Control Hub

The web application in which you deploy and operate the projects that are published on the platform. Refer to The Control Hub.

Platform

A Scheer PAS installation. It hosts the Git repositories of your projects, it builds and publishes your projects, and it runs your deployments.

Platform connection

The stored connection between your computer and one platform. You can store more than one connection. Exactly one connection is active, and every PAS CLI command works against the active platform.

Developers work with the PAS CLI on their own computer. Operators and administrators work in the Control Hub. Neither group needs the tool of the other group.

What You Build

You create every unit in this section with the PAS CLI.

Term

Description

Project

A versioned, deployable unit made of one or more components. The directory that pas new creates, with the components of the project in packages/. A project is built, versioned, and published as one unit.

Component

A part of a project. A project groups its components so that they are versioned and deployed together.

App

A component type. A web frontend that users open in the browser. You generate an app with pas generate app.

Service

A component type. A component that provides functions and data to apps and to other services. You generate a service with pas generate service.

Agent

An agent an AI agent that answers questions and performs tasks on the platform. It is not built and deployed on its own: an agent is a feature of a service component, and one service can provide more than one agent. You reach an agent through the service that provides it, so an agent has no endpoint of its own.

You generate an agent with pas generate agent.

Bundle

A group of components that are deployed together. A bundle is a package in packages/ and lists its components in a bundle.json, either by name or by glob pattern. You generate a bundle with pas generate bundle.

For an overview on all commands and their options, refer to Commands.

How You Work

A project runs in three places. The PAS CLI covers the first two.

Term

Description

Local Development

pas start runs the project on your computer. This is the fastest way to see a change.

Cluster Development

pas start --profile <profile> switches your Kubernetes context to the cluster of the profile and runs the project on that cluster. Use it when you need conditions close to the platform rather than speed.

Profile

A named Kubernetes cluster target, stored as a JSON file in ~/.pas/profiles.

Publishing (to the platform)

A push builds and publishes your project, and the Control Hub deploys it.

A local run and a cluster run are not deployments. They exist only on your computer or on your cluster, and they do not appear in the Control Hub.

Working With an AI Coding Assistant

Term

Description

AI Coding Assistant

The assistant that you use in your editor. Every project that you create with pas new is prepared for it and receives the skills that PAS Code ships. Refer to Developing With an AI Coding Assistant.

Skill

A packaged instruction set that your AI coding assistant loads when it recognizes a matching task. A skill names the PAS CLI command to call, the options that apply, the rules to follow, and what to do with the result. Refer to Working With Skills and to Skills.

Rules

The code, specification, and documentation rules that the skills apply. A project completes or overrides them in its .agents folder, and a project-level rule wins over a global rule. Refer to Working With Skills and Developing With an AI Coding Assistant.

Specification

A SPEC.md file that describes what the code must achieve. A specification sits next to the code it governs and applies to its own directory and to the subdirectories of that directory. Refer to Working With Skills.

Spec-driven Development

The fixed order that every change follows: specification, then code, then documentation. Scaffolding a component belongs to the code phase, so an approved specification exists before a generator runs. Refer to Working With Skills.

Approval Gate

The end of a phase. The result is presented to you, and the workflow advances only after you approve the result explicitly.

For an overview on all available skills, refer to Skills.

How Your Work Reaches the Platform

Term

Description

Repository

The Git repository of your project on the platform. pas new creates it on request, and pas platform git manages your access to it. From there you work with Git.

Push

The handover of your project from your computer to the platform. A push starts the pipeline.

Pipeline

The platform process that a push starts. The pipeline builds the components of your project, creates a version, publishes the images and the configuration, and registers the version with the platform. The pipeline needs no configuration of its own, because the PAS CLI generated your project to the structure that the pipeline expects.

Version

The result of publishing a project. Each time a project is published, it becomes a new version. In the Control Hub, you can select the version you want to deploy. Refer to Deploying a Project.

Projects

The Control Hub view in which you browse the published projects and their versions, and from which you deploy them. Refer to Projects Catalog.

What Runs on the Platform

Term

Description

Environment

The target that you deploy a project to. Environments keep deployments separate from one another, for example a development environment and a production environment. One project can be deployed to several environments at the same time. Refer to Deploying a Project.

Project Deployment

A running instance of a project in an environment. Each project deployment has its own name and its own configuration, so you can run more than one deployment of the same project. Refer to Deployments.

Component Deployment

The running instance of a single component inside a project deployment. It has its own status, type, endpoint, and configuration. Refer to Working With the Deployment Detail Page.

Endpoint

The address at which a running component can be reached. A component that has no endpoint shows a dash instead of a link, and an agent has no endpoint of its own. Refer to Working With the Deployment Detail Page.

Status

The state of a project deployment or a component deployment:

Status

Description

started

All component deployments are running.

starting

The deployment is starting up.

stopped

The deployment is not running.

multiple

The component deployments are in different states, for example some started and some stopped.

The multiple status applies to a project deployment as a whole. It indicates that the component deployments currently have different statuses.

failed

The deployment has failed and is in an error state.

While a project or component deployment is starting, its indicator is animated.

Refer to Control Hub Status and Badge Reference for further information.

Legacy Standalone Service

Some deployments are deployments of standalone services that are not part of any project. They carry a Legacy badge next to their name. A legacy service has no components, so it cannot be expanded, and it shows no version and no endpoint.

Refer to Control Hub Status and Badge Reference.

How a Deployment Is Configured

The configuration has two parts. You create them as files in your project, and an operator customizes them during deployment.

Term

Description

Deployment Configuration

The runtime settings of a project deployment. You author them as files in your project. They are published with the version and can be adjusted on the deployment afterwards.

Project-level Configuration

The values that apply to the whole deployment and that its components share. You author them in the configuration file of the project.

Component-level Configuration

The values of a single component. You author them in the configuration file of that component.

Component Default

The baseline values of a component, built into its image. A component default applies wherever no other source sets a value.

Reference

A pointer to a value instead of a copy of the value: to a project-level value by name, or to a secret that is kept in the cluster. The platform resolves a reference when the project is deployed. Refer to Using References.

Secret

A value that is kept in the cluster and used through a reference. A referenced secret appears neither in your sources nor in the published images. Refer to Using References.

Precedence

The order in which a value wins when more than one source sets it. A component default is overridden by a referenced value, and a referenced value is overridden by a value that is set directly in the configuration.

Configuration Editor

The Control Hub editor in which you view and change the configuration of a deployment. When you apply a change, the deployment reloads the new settings without a full restart. Refer to Configuring a Deployment.

Where You Author the Configuration

Each package has a default location for its configuration file:

Package

Default location

Bundle

config/default/config.json

Service

src/config/default/config.json

App

public/config/default/config.json

The platform resolves a reference, your computer does not. A reference in a file that local development also reads therefore appears as a raw object instead of a value.

📗