Synced package doc

Runtime API

The runtime module provides functions for executing prompts through local AI agent CLIs, managing configurations, and detecting available providers.

runPrompt()

Execute a single prompt with the configured provider.

import { runPrompt, loadRunConfig, detectProviders, resolveRunProvider } from "prompts-gpt";

const config = await loadRunConfig(process.cwd());
const providers = await detectProviders();
const provider = resolveRunProvider(config.defaultAgent, providers, config.providerOrder);

const result = await runPrompt({
  promptFile: ".prompts-gpt/code-review.md",
  provider,
  model: "gpt-5.5",
  timeoutSeconds: 900,
  cwd: process.cwd(),
  artifactsDir: ".scripts/runs",
});

console.log(result.ok);         // boolean
console.log(result.exitCode);   // number
console.log(result.durationMs); // number
console.log(result.outputFile); // string

RunPromptInput

PropertyTypeRequiredDescription
promptFilestringYesPath to prompt Markdown file
providerstringYesProvider name (codex/claude/cursor/copilot)
modelstringNoModel override
timeoutSecondsnumberNoExecution timeout
cwdstringNoWorking directory
artifactsDirstringNoArtifacts output directory
runIdstringNoCustom run ID
sandboxstringNoCodex sandbox mode
permissionModestringNoClaude permission mode
backgroundbooleanNoCursor background mode

RunPromptResult

PropertyTypeDescription
okbooleanWhether execution succeeded
providerstringProvider used
modelstringModel used
exitCodenumberProcess exit code
durationMsnumberExecution time in ms
outputFilestringPath to raw output log
summaryFilestringPath to extracted summary
tokenUsageTokenUsageToken consumption metrics
errorstringError message (if failed)

runBatch()

Execute multiple prompt files in sequence.

import { runBatch } from "prompts-gpt";

const result = await runBatch({
  promptFiles: [
    ".prompts-gpt/review.md",
    ".prompts-gpt/tests.md",
    ".prompts-gpt/docs.md",
  ],
  provider: "codex",
  model: "gpt-5.4",
  timeoutSeconds: 600,
  cwd: process.cwd(),
});

console.log(`${result.succeeded}/${result.results.length} succeeded`);

RunBatchInput

PropertyTypeDescription
promptFilesstring[]Array of prompt file paths
providerstringProvider name
modelstringModel override
timeoutSecondsnumberTimeout per prompt
cwdstringWorking directory
artifactsDirstringArtifacts directory

RunBatchResult

PropertyTypeDescription
resultsRunPromptResult[]Per-prompt results
totalDurationMsnumberTotal execution time
succeedednumberCount of successful runs
failednumberCount of failed runs

loadRunConfig()

Load the run configuration from .prompts-gpt/config.json.

import { loadRunConfig } from "prompts-gpt";

const config = await loadRunConfig(process.cwd());
console.log(config.defaultAgent);     // "router"
console.log(config.providerOrder);    // ["codex", "cursor", "claude"]
console.log(config.timeoutSeconds);   // 900
console.log(config.modelOverrides);   // { codex: "gpt-5.5" }

ResolvedRunConfig

PropertyTypeDescription
defaultAgentstringDefault orchestration profile
providerOrderstring[]Provider priority order
timeoutSecondsnumberDefault timeout
retryCountnumberDefault retry count
artifactsDirstringArtifacts directory path
modelOverridesRecord<string, string>Per-provider model defaults
disallowDestructiveGitbooleanBlock destructive git ops
defaultPromptFilestringDefault prompt file for run
batchPromptFilesstring[]Default files for run-batch
batchManifeststringDefault manifest for run-batch

detectProviders()

Detect which AI agent CLIs are installed and available.

import { detectProviders } from "prompts-gpt";

const providers = await detectProviders();
for (const p of providers) {
  console.log(`${p.provider}: v${p.version ?? "unknown"}`);
}
// codex: v1.0.12
// claude: v1.0.30
// cursor: v0.46.0

Returns ProviderHealth[]:

PropertyTypeDescription
providerstringProvider name
availablebooleanWhether CLI is found
version`string \null`CLI version
path`string \null`Binary path

resolveRunProvider()

Select the best provider based on agent profile and availability.

import { resolveRunProvider, detectProviders, loadRunConfig } from "prompts-gpt";

const config = await loadRunConfig();
const providers = await detectProviders();

const provider = resolveRunProvider(
  config.defaultAgent,  // "router"
  providers,
  config.providerOrder  // ["codex", "cursor"]
);
// Returns: "codex" (first available in order)

doctor()

Run prerequisite checks programmatically.

import { doctor } from "prompts-gpt";

const report = await doctor();
console.log(report.nodeVersion);  // "v22.0.0"
console.log(report.providers);    // ProviderHealth[]

Utility Functions

Token Usage

import { extractTokenUsageFromLog, aggregateTokenUsage, emptyTokenUsage } from "prompts-gpt";

const usage = extractTokenUsageFromLog(logContent);
const total = aggregateTokenUsage([usage1, usage2]);

Git Utilities

import { isGitRepo, hasUncommittedChanges, captureGitHead, captureGitBranch } from "prompts-gpt";

const isRepo = await isGitRepo(cwd);
const dirty = await hasUncommittedChanges(cwd);
const head = await captureGitHead(cwd);
const branch = await captureGitBranch(cwd);

Model Resolution

import { resolveModelAlias, getModelCostTier, estimateTokenCost } from "prompts-gpt";

const model = resolveModelAlias("gpt-5.5", "codex");
const tier = getModelCostTier(model);
const cost = estimateTokenCost(model, inputTokens, outputTokens);

See Also

Runtime API | prompts-gpt Documentation for Prompts-GPT.com | Prompts-GPT.com