TypeScript Prompt SDK Quick Start
Install
Create a Prompt App
Before creating prompts, you need to create a prompt app. Apps are the top-level organizational unit in Autoblocks and help you manage access and track usage of your prompts.- Go to the apps page
- Click “Create App”
- Select “Prompt App” as the app type
- Give your app a name and description
- Configure access settings for your team members
All prompts you create will be associated with this app. Make sure to choose a name that reflects the purpose of your prompts (e.g., “Content Generation” or “Customer Support”).
Generate types
In order to generate types, you need to set your Autoblocks API key from the settings page as an environment variable:prompts generate-v2
command to your package.json
scripts:
Make sure to generate the types in your CI/CD pipeline before running type checking on your application.
Initialize the prompt manager
Create a single instance of the prompt manager for the lifetime of your application. When initializing the prompt manager, the major version must be pinned while the minor version can either be pinned or set to'latest'
:
When the version is set to
'latest'
, the prompt manager periodically refreshes the in-memory prompt
in the background according to the refreshInterval
.
See the AutoblocksPromptManager
reference for more information.Wait for the manager to be ready
At the entrypoint to your application, wait for the prompt manager to be ready before handling requests.Execute a prompt
Theexec
method on the prompt manager starts a new prompt execution context.
It creates a PromptExecutionContext
instance that gives you fully-typed access to the prompt’s templates and parameters:
Develop locally against a prompt revision that hasn’t been deployed
As you create new revisions in the UI, your private revisions (or revisions that have been shared by your teammates) can be pulled down usingdangerously-use-undeployed
:
As the name suggests, this should only be used in local development and never in production.
Organizing multiple prompt managers
If you are using many prompt managers, we recommend initializing them in a single file and importing them as a module:prompts.ts
:
init
at the entrypoint of your application:
prompts
module and use the prompt managers as needed: