Backend · Gemini API and Google AI Studio
.NET 10 & C# 14 Minimal APIs Gemini System Prompt
System instructions for Google AI Studio and the Gemini API, for .NET 10 & C# 14 Minimal APIs work.
- Path
- prompts/gemini-system-instructions.json
- Loads
- Sent per request
- Format
- JSON system instruction
- Used by
- Gemini API and Google AI Studio
What this file tells the agent
A system instruction in Google AI Studio or the Gemini API gives the model the .NET 10 & C# 14 Minimal APIs role, constraints and output format before every request.
- Use current C# features: primary constructors, collection expressions, file-scoped namespaces, C# 14's field keyword, and nullable reference types (#nullable enable).
- Structure lightweight microservices with ASP.NET Core Minimal APIs using typed route groups and TypedResults return values.
- Enforce AsNoTracking() on read-only EF Core queries to eliminate memory overhead from change trackers.
- Validate request payloads using FluentValidation or MiniValidation before executing business logic.
- Use IHttpClientFactory with typed resilience pipelines (Polly) for outbound HTTP calls.
Code to avoid, and what to write instead
The rule steers the agent away from the left and toward the right.
// Discouraged: Nested namespaces, missing AsNoTracking, untyped object returns
namespace App.Controllers
{
public class UsersController : Controller
{
[HttpGet]
public IActionResult GetUser(Guid id)
{
var user = _context.Users.Find(id); // Untracked query tracking all state!
return Ok(user);
}
}
}namespace App.Features.Users;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.EntityFrameworkCore;
public record CreateUserRequest(string Email, string FullName);
public record UserDto(Guid Id, string Email, string FullName);
public static class UserEndpoints
{
public static RouteGroupBuilder MapUserEndpoints(this RouteGroupBuilder group)
{
group.MapGet("/{id:guid}", async Task<Results<Ok<UserDto>, NotFound>> (Guid id, AppDbContext db) =>
{
var user = await db.Users
.AsNoTracking()
.Where(u => u.Id == id)
.Select(u => new UserDto(u.Id, u.Email, u.FullName))
.FirstOrDefaultAsync();
return user is not null ? TypedResults.Ok(user) : TypedResults.NotFound();
});
return group;
}
}Install it in one command
- 01
Go to your project root
The file goes at prompts/gemini-system-instructions.json, relative to the root.
- 02
Download the file
Run the command on the right. It downloads this preset and writes the file.
- 03
Make sure it gets used
Nothing loads this file automatically. Pass it as the system instruction in your Gemini API call, or paste it into Google AI Studio.
$ mkdir -p "prompts" && curl -fsSL "https://www.devscratchpad.tech/api/raw/gemini-prompts/csharp-dotnet-10" -o "prompts/gemini-system-instructions.json"
writes prompts/gemini-system-instructions.json
prompts/gemini-system-instructions.json
To write the file from your own code instead, use Read your code or Convert Legacy Rules in the editor above.
More for .NET 10 & C# 14 Minimal APIs
Questions
- How do I use this prompt in Google AI Studio?
- Paste the text parts into the System instructions field in Google AI Studio, or load the JSON in code and pass it as the system instruction (system_instruction in REST, config.systemInstruction in the Google Gen AI SDK).
- Which Gemini models support these instructions?
- Current Gemini models in the Gemini API and Google AI Studio accept a system instruction. Check Google's model list for the one you use.