diff --git a/content/blog/slash-commands-custom-instructions/index.md b/content/blog/slash-commands-custom-instructions/index.md new file mode 100644 index 000000000000..6142fd305385 --- /dev/null +++ b/content/blog/slash-commands-custom-instructions/index.md @@ -0,0 +1,66 @@ +--- +title: "Encode What You Know With Neo: Custom Instructions and Slash Commands" + +date: 2025-12-09 + +draft: false + +meta_desc: Custom Instructions teach Neo your organization's standards. Slash Commands turn proven prompts into shortcuts anyone can use. Both are available now. + +meta_image: meta.png + +authors: + - neo-team + +tags: + - ai + - ai-agents + - platform-engineering + - pulumi-neo + +schema_type: auto + +--- + +Every organization builds up knowledge over time: naming standards, compliance requirements, patterns your team has settled on, and proven approaches to common tasks. Until now, bringing this knowledge into Neo meant repeating it manually each time - specifying preferences, describing how your team works, and recreating prompts that someone already perfected. + +Two new features change this. Custom Instructions teach Neo your standards so it applies them automatically. Slash Commands capture proven prompts so anyone on your team can use them with a keystroke. + + + +## Custom Instructions: Standards Applied Automatically + +Custom Instructions let you define what Neo should know about your organization and how it should behave. This includes naming conventions, required tags and compliance requirements, technology preferences, and cost guidelines - but also actions Neo should take automatically, like including a rough cost estimate whenever it proposes new infrastructure. You configure them once in your organization settings, and Neo applies them to every task from that point forward. + +Consider the difference. Before Custom Instructions, a simple request required loading context: + +> "Neo, update our Lambda functions to Node 20. Remember, we use TypeScript exclusively, our naming convention is service-region-env, we always deploy to us-east-1 first for testing, and all resources need our standard compliance tags including CostCenter and DataClassification." + +With those details captured in Custom Instructions, the same request becomes: + +> "Neo, update our Lambda functions to Node 20." + +Neo already knows how your team works, so you can focus on what you're trying to accomplish. + +## Slash Commands: Capture What Works + +Over time, your team figures out the right way to ask Neo for certain tasks. Maybe someone wrote the perfect prompt for checking policy violations, or discovered an approach to drift detection that catches issues others miss. That knowledge tends to live in someone's head or buried in a Slack thread. + +Slash Commands turn these prompts into shortcuts anyone can use. When you type `/` in Neo, you'll see available commands, select one, and Neo receives the full prompt behind it. + +![Slash Commands in action](slash-commands.gif) + +Neo ships with built-in commands for common tasks: + +| Command | What it does | +|---------|--------------| +| `/get-started` | Learn what Neo can do and how to structure effective requests | +| `/policy-issues-report` | Lists your most severe policy violations | +| `/component-version-report` | Lists components that are outdated in your private registry | +| `/provider-version-report` | Lists providers that are outdated | + +You can also create your own. In Pulumi Cloud, you define the prompt - no coding required. Once saved, your team can start using it immediately. If a command needs more information than what's provided, Neo will ask follow-up questions to fill in the gaps. + +## Get Started + +[Custom Instructions](/docs/ai/settings/#custom-instructions) and [Slash Commands](/docs/ai/settings/#slash-commands) are available now. You can configure Custom Instructions in Neo Settings. Slash Commands come with several built-in options, and you can create custom ones tailored to your workflow. diff --git a/content/blog/slash-commands-custom-instructions/meta.png b/content/blog/slash-commands-custom-instructions/meta.png new file mode 100644 index 000000000000..f361aff175fb Binary files /dev/null and b/content/blog/slash-commands-custom-instructions/meta.png differ diff --git a/content/blog/slash-commands-custom-instructions/slash-commands.gif b/content/blog/slash-commands-custom-instructions/slash-commands.gif new file mode 100644 index 000000000000..d1ac8bbce568 Binary files /dev/null and b/content/blog/slash-commands-custom-instructions/slash-commands.gif differ diff --git a/content/docs/ai/settings/_index.md b/content/docs/ai/settings/_index.md new file mode 100644 index 000000000000..9eca99d61fc1 --- /dev/null +++ b/content/docs/ai/settings/_index.md @@ -0,0 +1,137 @@ +--- +title: Settings +title_tag: Neo Settings +h1: Neo Settings +meta_desc: Configure Neo for your organization with Custom Instructions, Slash Commands, access controls, and task modes. +meta_image: /images/docs/meta-images/docs-meta.png +menu: + ai: + name: Settings + parent: ai-home + weight: 50 + identifier: ai-settings +--- + +Organization-level settings control how Neo behaves and what capabilities are available to your team. + +## Neo Access + +Neo is enabled by default. To control Neo access for your organization: + +1. Navigate to Neo Settings from the Pulumi left navigation +1. Select the "General" tab +1. Toggle "Enable Neo for organization" on or off + +![Toggle Neo access](toggle-neo-access.png) + +{{% notes type="info" %}} +If Pulumi Copilot was previously disabled, Neo will need to be enabled as outlined below. +{{% /notes %}} + +## Custom Instructions + +Custom Instructions teach Neo your organization's standards, preferences, and requirements so they're applied automatically to every task. Instead of repeating context in each task, you define it once from a central location. + +### What to Include + +Custom Instructions can define many things, including: + +- **Naming conventions**: How resources, stacks, and projects should be named +- **Compliance requirements**: Required tags, labels, or configurations +- **Technology preferences**: Preferred languages, frameworks, or cloud services +- **Cost guidelines**: Budget considerations or cost optimization preferences +- **Automatic actions**: Behaviors Neo should apply automatically, like including cost estimates + +### Example + +```text +All AWS resources must follow these standards: +- Naming convention: {service}-{environment}-{region} +- Required tags: environment and owner +- Use encryption at rest for all storage resources +- Always include estimated monthly costs in pull requests when proposing new infrastructure +``` + +When you ask Neo to create resources, it automatically applies your organization's standards without you needing to repeat them in every conversation. + +### Configuring Custom Instructions + +1. Navigate to Neo Settings in Pulumi Cloud +1. Select the "Organization instructions" tab +1. Enter your organization's standards and preferences +1. Save changes + +![Custom Instructions configuration](custom-instructions.png) + +### Custom Instructions Best Practices + +- Keep instructions concise and focused on standards that apply across all tasks +- Update instructions as your team's practices evolve +- Test instructions in individual prompts before rolling out broadly + +## Slash Commands + +Slash Commands capture proven prompts as shortcuts that anyone on your team can use. When you type `/` in a Neo conversation, you'll see available commands. Selecting a command sends the full prompt to Neo. + +### Built-in Commands + +Neo includes several built-in commands for common infrastructure tasks: + +| Command | Description | +|---------|-------------| +| `/get-started` | Learn what Neo can do and how to structure effective requests | +| `/policy-issues-report` | Lists your most severe policy violations | +| `/component-version-report` | Lists components that are outdated in your private registry | +| `/provider-version-report` | Lists providers that are outdated | + +### Creating Custom Commands + +You can create organization-specific commands to capture your team's proven prompts: + +1. Navigate to Neo Settings in Pulumi Cloud +1. Select the "General" tab +1. Scroll to the "Slash commands" section +1. Click "Add custom slash command" +1. Enter a name and description +1. Define the prompt +1. Save the command + +![Slash Commands configuration](slash-commands.png) + +Once saved, the command is immediately available to all team members. + +### Viewing Slash Command Instructions + +When you have selected a slash command in a new or existing Neo task, click on the highlighted command name to view the actual prompt. + +### Slash Command Best Practices + +- Create commands for frequently-used prompts that have proven effective +- Use clear, descriptive names that indicate what the command does + +## Task Modes + +Task modes are presets that control what actions Neo can take automatically. Each mode represents a predefined configuration of allowed commands. New tasks start with a default mode, which users can adjust or override during the task. + +### Available Modes + +Organization administrators can set the default task mode. The available modes determine how much automation Neo applies: + +- **Auto mode**: Automatically approves all requests without user intervention +- **Balanced mode**: Automatically approves requests that don't run `pulumi up` +- **Review mode**: Requires manual approval before any request runs + +### Configuring Default Task Mode + +1. Navigate to Neo Settings in Pulumi Cloud +1. Select the "General" tab +1. Locate the "Task mode" section +1. Select the default mode from the dropdown +1. Save changes + +![Task mode configuration](task-mode.png) + +### Task Mode Best Practices + +- Start with the most restrictive mode -- it's best for most organizations +- Remember, users can override the default for individual tasks when needed diff --git a/content/docs/ai/settings/custom-instructions.png b/content/docs/ai/settings/custom-instructions.png new file mode 100644 index 000000000000..427e4ac43e18 Binary files /dev/null and b/content/docs/ai/settings/custom-instructions.png differ diff --git a/content/docs/ai/settings/slash-commands.png b/content/docs/ai/settings/slash-commands.png new file mode 100644 index 000000000000..b6a7a912d598 Binary files /dev/null and b/content/docs/ai/settings/slash-commands.png differ diff --git a/content/docs/ai/settings/task-mode.png b/content/docs/ai/settings/task-mode.png new file mode 100644 index 000000000000..36dcae13fe0e Binary files /dev/null and b/content/docs/ai/settings/task-mode.png differ diff --git a/content/docs/ai/settings/toggle-neo-access.png b/content/docs/ai/settings/toggle-neo-access.png new file mode 100644 index 000000000000..bcc422961b7a Binary files /dev/null and b/content/docs/ai/settings/toggle-neo-access.png differ