@mastra/core
Version:
77 lines (48 loc) • 2.94 kB
Markdown
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
# buildBasePrompt()
`buildBasePrompt()` builds the shared base system prompt for a coding agent — the behavioral instructions that make the agent a good coding assistant. It takes a `PromptContext` describing the current environment (project, platform, git branch, mode, model) and returns the prompt as a string.
Product-specific strings are parameterized through `productName`, `coAuthorName`, and `coAuthorEmail`, so you can rebrand the prompt and commit trailer without forking it. They default to `"Mastra Code"` / `"noreply@mastra.ai"`, so existing callers keep identical output.
Use this with [`createCodingAgent()`](https://mastra.ai/reference/coding-agent/create-coding-agent) when you build dynamic instructions for the agent.
## Usage example
Build the base prompt from a `PromptContext`:
```typescript
import { buildBasePrompt } from '@mastra/core/coding-agent'
const prompt = buildBasePrompt({
projectPath: process.cwd(),
projectName: 'my-app',
gitBranch: 'main',
platform: process.platform,
date: new Date().toDateString(),
mode: 'build',
modelId: 'openai/gpt-5',
toolGuidance: '',
})
```
To rebrand the prompt, pass the product and co-author fields:
```typescript
const prompt = buildBasePrompt({
// ...environment fields
productName: 'Acme Coder',
coAuthorName: 'Acme Bot',
coAuthorEmail: 'bot@acme.dev',
})
```
## Parameters
`buildBasePrompt()` takes a single `PromptContext` object.
**projectPath** (`string`): Absolute path to the project root.
**projectName** (`string`): Display name of the project.
**gitBranch** (`string`): Current git branch, if the project is a git repository.
**platform** (`string`): Operating system platform (for example, the value of process.platform).
**commonBinaries** (`{ name: string; path: string | null }[]`): Common binaries detected on the system, each with a name and resolved path (or null when not found).
**date** (`string`): Current date string injected into the prompt.
**mode** (`string`): Active agent mode (for example, "build" or "plan").
**modelId** (`string`): Identifier of the active model, included in the commit Co-Authored-By line when provided.
**activePlan** (`{ title: string; plan: string; approvedAt: string } | null`): The currently approved plan, if any.
**toolGuidance** (`string`): Tool-usage guidance section appended to the prompt.
**productName** (`string`): Display name used in the prompt header. (Default: `Mastra Code`)
**coAuthorName** (`string`): Name used in the commit Co-Authored-By line. (Default: `Mastra Code`)
**coAuthorEmail** (`string`): Email used in the commit Co-Authored-By line. (Default: `noreply@mastra.ai`)
## Returns
**prompt** (`string`): The base system prompt for the coding agent.
## Related
- [`createCodingAgent()`](https://mastra.ai/reference/coding-agent/create-coding-agent)