Skip to content

Quick Start

Get started with Structured Context Specification in just a few steps.

Terminal window
pip install scs-tools

This installs both the scs CLI and the validator.

Terminal window
# Clone the repository
git clone https://github.com/tim-mccrimmon/structured-context-spec.git
cd structured-context-spec/../scs-cli
# Install in development mode
pip install -e .
Terminal window
scs --version
scs --help
Terminal window
# Create a standard project
scs new project my-first-scs-project
# Or choose a template for your use case
scs new project healthcare-app --type healthcare
scs new project fintech-app --type fintech
scs new project saas-product --type saas

This creates a complete project structure with:

  • 📦 10 domain bundles (Architecture, Security, Compliance, etc.)
  • 📄 30+ SCDs covering common project needs
  • Pre-configured validation and structure
Terminal window
cd my-first-scs-project
ls -la
# View the structure
tree -L 2

You’ll see:

my-first-scs-project/
├── bundles/ # Bundle manifests
│ ├── project-bundle.yaml # Your main bundle
│ └── domains/ # Domain bundles
├── context/ # Your SCDs
│ └── project/ # Project-tier SCDs
├── docs/ # Documentation
└── README.md # Getting started guide
Terminal window
# Validate a bundle
scs validate --bundle bundles/project-bundle.yaml
# Validate individual SCDs
scs validate context/project/system-context.yaml

Already have a project? Initialize SCS in it:

Terminal window
cd /path/to/your/project
scs init --type saas
# This adds SCS structure to your existing codebase

Don’t need everything? Add just what you need:

Terminal window
# Add a single SCD
scs add scd system-context
# Add a domain bundle
scs add bundle security
# Add multiple SCDs at once
scs add scd authn-authz data-protection threat-model

Here’s a complete example for a healthcare application:

Terminal window
# 1. Create project
scs new project patient-portal --type healthcare
# 2. Navigate to project
cd patient-portal
# 3. Validate everything
scs validate --bundle bundles/project-bundle.yaml
# 4. Customize your SCDs
# Edit context/project/system-context.yaml with your app details
vim context/project/system-context.yaml
# 5. Add healthcare-specific context
scs add scd hipaa-compliance
scs add scd phi-handling
# 6. Validate again
scs validate --bundle bundles/project-bundle.yaml

The typical SCS workflow:

  1. Create - Scaffold project or add SCS to existing project
  2. Customize - Edit SCDs to match your system
  3. Validate - Ensure structure is correct
  4. Version - Tag and version your bundles
  5. Deploy - Use bundles with AI agents

SCS provides templates for common use cases:

TemplateBest ForIncludes
standardGeneral projects38 SCDs, 10 domains
minimalQuick prototypes11 essential SCDs
healthcareHIPAA complianceHIPAA, CHAI, TEFCA standards
fintechFinancial servicesPCI-DSS, SOX standards
saasSaaS productsGDPR, SOC2 standards
governmentGovernment appsNIST, FedRAMP standards

Now that you have a project:

Terminal window
# Create new project
scs new project my-app --type saas
# Initialize in existing project
scs init --type healthcare
# Add SCDs incrementally
scs add scd system-context authn-authz
# Validate everything
scs validate --bundle bundles/project-bundle.yaml
# Strict validation
scs validate --bundle bundles/project-bundle.yaml --strict
# Get help
scs --help
scs new --help

Ready to dive deeper? Check out the FAQ to understand how SCS works.