Skip to content

Minimal Example

The simplest possible PromptScript setup for a single project.

Project Structure

my-project/
├── .promptscript/
│   └── project.prs
├── promptscript.yaml
├── .github/
│   └── copilot-instructions.md  # Generated
└── ...

Files

.promptscript/project.prs

@meta {
  id: "minimal-example"
  syntax: "1.5.0"
}

@identity {
  """
  You are a helpful coding assistant for this project.
  Focus on clean, readable code.
  """
}

@context {
  """
  This is a TypeScript project using modern best practices.
  """
}

@standards {
  code: [
    "Use functional programming style",
    "Document public APIs with JSDoc"
  ]
}

@shortcuts {
  "/help": "Show what you can help with"
  "/review": "Review code for quality issues"
  "/test": "Write unit tests"
}

Try in Playground

promptscript.yaml

id: minimal-example
syntax: '1.5.0'

input:
  entry: .promptscript/project.prs

targets:
  - github:
      output: .github/copilot-instructions.md

Usage

Initialize

If starting from scratch:

prs init

Compile

Generate the output file:

prs compile

Validate

Check for issues:

prs validate

Generated Output

Current configuration emits GitHub output only:

.github/copilot-instructions.md:

# GitHub Copilot Instructions

## project

You are a helpful coding assistant for this project.
Focus on clean, readable code.

## Context

This is a TypeScript project using modern best practices.

## code-standards

### code

- Use functional programming style
- Document public APIs with JSDoc

## shortcuts

- /help: Show what you can help with
- /review: Review code for quality issues
- /test: Write unit tests

Adding More Targets

To also generate for Claude and Cursor:

# promptscript.yaml
id: minimal-example
syntax: '1.5.0'

input:
  entry: .promptscript/project.prs

targets:
  - github:
      output: .github/copilot-instructions.md
  - claude:
      output: CLAUDE.md
  - cursor:
      output: .cursor/rules/project.mdc

Then:

prs compile

Next Steps