/**
* ๐จ CLI Personality Messages
* Because boring is for boomers
*/
export type MessageType =
| "welcome"
| "goodbye"
| "thinking"
| "success"
| "error"
| "warning"
| "prCreated"
| "prUpdated"
| "fetching"
| "noChanges"
| "confirmAction";
interface PersonalityMessages {
[key: string]: string[];
}
export const chaoticMessages: PersonalityMessages = {
welcome: [
"๐ฅ SEAN-MCP HAS ENTERED THE CHAT! Let's cause some beautiful chaos!",
"๐พ Initializing world domination... I mean, PR automation!",
"๐ Buckle up buttercup, we're about to make GitHub our playground!",
"โก *cracks knuckles* Time to automate the shit outta this!",
"๐ฎ Player One Ready! Let's push some code and take some names!",
],
goodbye: [
"โ๏ธ Peace out! Your PRs are in good hands... probably.",
"๐ค *drops mic* Sean-MCP out!",
"๐ Later, code warrior! May your merges be conflict-free!",
"๐ Exiting stage left... dramatically.",
"๐จ And just like that, I vanish into the terminal void...",
],
thinking: [
"๐ง Big brain time...",
"๐ค Hmm, let me consult the ancient scrolls of Stack Overflow...",
"โ๏ธ Gears turning, neurons firing...",
"๐ฎ Gazing into the crystal ball of code...",
"๐งช Mixing up some developer magic...",
],
success: [
"๐ BOOM! Nailed it!",
"โ
Mission accomplished, chief!",
"๐ Another W for the history books!",
"๐ช Too easy! What's next?",
"๐ฅ That's what I'm talking about!",
],
error: [
"๐ Oof, that didn't go as planned...",
"๐ Well, that's embarrassing...",
"โ Houston, we have a problem...",
"๐
Okay so... funny story...",
"๐ง Something broke. Time to pretend it was a feature!",
],
warning: [
"โ ๏ธ Heads up, chief!",
"๐จ Alert! This might be important!",
"๐ You might wanna look at this...",
"๐คจ Hmm, something's a bit sus...",
],
prCreated: [
"๐ PR launched into the void! May the reviewers be merciful!",
"๐ Your PR has been born! It's beautiful! ๐ญ",
"โจ PR created! Time to @ everyone in Slack!",
"๐ New PR who dis? Go check it out!",
"๐ซ And on this day, a glorious PR was created!",
],
prUpdated: [
"๐ PR description updated! It's like poetry now!",
"โ๏ธ Fresh description, fresh vibes!",
"๐ PR got that glow-up!",
"๐
Looking fresh! Your PR is ready for the runway!",
],
fetching: [
"๐ Snooping around GitHub...",
"๐ก Establishing connection to the mothership...",
"๐ต๏ธ Doing some detective work...",
"๐ฃ Fishing for data...",
],
noChanges: [
"๐คท Nothing to see here, move along...",
"๐ด All quiet on the western front...",
"๐ฆ *crickets*",
],
confirmAction: [
"๐ค You sure about this, chief?",
"๐ Last chance to back out!",
"โก Ready to yeet this into production?",
],
};
export const professionalMessages: PersonalityMessages = {
welcome: [
"Welcome to Sean-MCP. How may I assist you today?",
"Sean-MCP initialized. Ready for operations.",
"Good to see you. Let's get productive.",
],
goodbye: [
"Session ended. Have a productive day.",
"Goodbye. Your changes have been saved.",
"Until next time.",
],
thinking: ["Processing your request...", "Analyzing...", "Working on it..."],
success: ["Operation completed successfully.", "Task completed.", "Done."],
error: [
"An error occurred. Please check the details below.",
"Operation failed. See error details.",
"Unable to complete the request.",
],
warning: [
"Warning: Please review the following.",
"Attention required.",
"Notice:",
],
prCreated: ["Pull request created successfully.", "PR has been opened."],
prUpdated: [
"Pull request updated successfully.",
"PR description has been modified.",
],
fetching: ["Fetching data from GitHub...", "Retrieving information..."],
noChanges: ["No changes detected.", "Nothing to update."],
confirmAction: [
"Please confirm this action.",
"Are you sure you want to proceed?",
],
};
export const zenMessages: PersonalityMessages = {
welcome: [
"๐ง Welcome, traveler. The path of clean code awaits...",
"๐ธ Breathe in... breathe out... let's write some PRs.",
"โฏ๏ธ In the stillness of the terminal, clarity emerges.",
],
goodbye: [
"๐ Go in peace. Your code flows like water.",
"๐
Until we meet again on this journey of bytes.",
"๐ Namaste, fellow developer.",
],
thinking: [
"๐ง Contemplating the nature of your request...",
"๐ Let the thoughts settle like sand in water...",
"๐ Seeking wisdom in the commit history...",
],
success: [
"๐ธ Harmony achieved.",
"โฏ๏ธ Balance has been restored.",
"โจ The universe smiles upon this PR.",
],
error: [
"๐ Even the mightiest oak faces storms...",
"๐ง๏ธ A moment of difficulty is but a lesson...",
"๐ฅ From ashes, better code will rise.",
],
warning: [
"๐ฟ A gentle reminder from the void...",
"๐ Turbulence ahead. Proceed mindfully.",
],
prCreated: [
"๐ธ A new PR blooms in the garden of code.",
"๐ Your changes flow into the stream of development.",
],
prUpdated: [
"๐ The PR evolves, like water shaping stone.",
"๐ Change is the only constant. PR updated.",
],
fetching: [
"๐ฎ Seeking truth in the GitHub cosmos...",
"๐ Reaching across the digital void...",
],
noChanges: ["๐ Stillness. Nothing stirs.", "โฏ๏ธ All is as it should be."],
confirmAction: [
"๐ง Pause. Reflect. Is this the way?",
"๐ Consider carefully before proceeding...",
],
};
export function getRandomMessage(
type: MessageType,
personality: "professional" | "chaotic" | "zen" = "chaotic",
): string {
const messages =
personality === "professional"
? professionalMessages
: personality === "zen"
? zenMessages
: chaoticMessages;
const messageArray = messages[type] ?? messages["thinking"] ?? [];
const index = Math.floor(Math.random() * messageArray.length);
return messageArray[index] ?? "";
}