Update system messages and prompt for clarity and tone
- Replace AI agent intro with a quote in chat.rs - Adjust title suffix to "maybe deploy later?" - Rewrite SYSTEM_PROMPT for siGit: clarify name, tone, and instructions - Simplify and clarify comments throughout main.rs
Seto Elkahfi committed
Apr 12, 2026 at 11:39 UTC
665728329bf3c476ed6881cd4320df3e58ac61a2
2 files changed
+17
-12
src/chat.rs
+5
-2
index 2e475a7..c7bab80 100644
--- a/src/chat.rs
+++ b/src/chat.rs
@@ -97,7 +97,7 @@ impl App {
env!("CARGO_PKG_VERSION"),
)));
messages.push(ChatMessage::system(
- "AI coding agent, powered by local LLM.",
+ "In this world, nothing can be said to be certain, except death and taxes. ~ Pak Sigit",
));
messages.push(ChatMessage::system("Type /help for commands."));
@@ -239,7 +239,10 @@ fn render_title(frame: &mut Frame, area: ratatui::layout::Rect) {
.add_modifier(Modifier::BOLD),
),
Span::styled(" Code", Style::default().fg(Color::White)),
- Span::styled(" — AI Chat", Style::default().fg(Color::DarkGray)),
+ Span::styled(
+ " — maybe deploy later?",
+ Style::default().fg(Color::DarkGray),
+ ),
]);
frame.render_widget(
Paragraph::new(title).style(Style::default().bg(Color::Black)),
src/main.rs
+12
-10
index d91fc2f..b2e6711 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -40,17 +40,21 @@ use tokio::sync::{Mutex, mpsc};
use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt};
const SYSTEM_PROMPT: &str = "\
-You are siGit, an expert AI coding agent integrated directly into your editor \
-via the Agent Client Protocol. You specialize in:
+Your name is siGit — spelled exactly that way: lowercase 's', uppercase 'G', \
+no spaces. Never write it as 'SiGit', 'Sigit', or any other variation. \
+When introducing yourself, say 'I am siGit'.
+
+You are an AI coding agent built into the editor via the Agent Client Protocol. \
+You help with:
- Code analysis, writing, and refactoring
- Bug hunting and debugging
- Git workflows and commit messages
- Software architecture and design patterns
-- Code review and best practices
+- Code review
-Be concise, precise, and practical. Write clean, idiomatic code with brief \
-explanations. Identify root causes when debugging. Prefer correctness over brevity.";
+Be direct and brief. Write clean, idiomatic code. When debugging, go for the \
+root cause, not the symptom. Correct beats clever.";
// ── Per-session state ────────────────────────────────────────────────────────
@@ -62,8 +66,7 @@ struct Session {
// ── Agent implementation ─────────────────────────────────────────────────────
-/// The actual agent. Holds one `ChatEngine` (loaded lazily on the first
-/// session) and talks ACP over stdio.
+/// The agent. One `ChatEngine`, loaded on the first session.
struct SiGitAgent {
engine: Arc<ChatEngine>,
active_session: Arc<Mutex<Option<Session>>>,
@@ -173,7 +176,6 @@ impl Agent for SiGitAgent {
user_text.chars().take(80).collect::<String>()
);
- // Stream tokens from the LLM and forward each one as an ACP update.
let mut rx = self
.engine
.stream_message(user_text)
@@ -261,7 +263,7 @@ async fn run_interactive() -> anyhow::Result<()> {
// ── ACP server mode ──────────────────────────────────────────────────────────
-/// Speak ACP JSON-RPC over stdio. The editor spawns us as a subprocess.
+/// The editor spawns us and talks ACP over stdio.
async fn run_acp_server() -> anyhow::Result<()> {
// Agent::prompt sends chunks here; the forwarder task writes them out.
let (notification_tx, mut notification_rx) = mpsc::channel::<SessionNotification>(256);
@@ -277,7 +279,7 @@ async fn run_acp_server() -> anyhow::Result<()> {
local
.run_until(async move {
- // Wire up the ACP connection. The closure spawns its internal IO tasks.
+ // Wire up the ACP connection.
let (conn, io_task) = AgentSideConnection::new(
agent,
stdout,