feat(brand): NEURON TUI logo, terminal titles, and swept user-facing copy

This commit is contained in:
2026-08-21 15:30:40 -05:00
parent 746a9bd2df
commit ac513d5ee2
7 changed files with 16 additions and 16 deletions
+2 -2
View File
@@ -71,12 +71,12 @@ export function resolveThreadDirectory(project?: string, envPWD = process.env.PW
export const TuiThreadCommand = cmd({
command: "$0 [project]",
describe: "start opencode tui",
describe: "start the Neuron TUI",
builder: (yargs) =>
withNetworkOptions(yargs)
.positional("project", {
type: "string",
describe: "path to start opencode in",
describe: "path to start Neuron in",
})
.option("model", {
type: "string",
+3 -3
View File
@@ -454,14 +454,14 @@ function App(props: { onSnapshot?: () => Promise<string[]>; pluginHost: TuiPlugi
if (!terminalTitleEnabled() || Flag.OPENCODE_DISABLE_TERMINAL_TITLE) return
if (route.data.type === "home") {
renderer.setTerminalTitle("OpenCode")
renderer.setTerminalTitle("Neuron")
return
}
if (route.data.type === "session") {
const session = sync.session.get(route.data.sessionID)
if (!session || isDefaultTitle(session.title)) {
renderer.setTerminalTitle("OpenCode")
renderer.setTerminalTitle("Neuron")
return
}
@@ -1070,7 +1070,7 @@ function App(props: { onSnapshot?: () => Promise<string[]>; pluginHost: TuiPlugi
await DialogAlert.show(
dialog,
"Update Complete",
`Successfully updated to OpenCode v${result.data.version}. Please restart the application.`,
`Successfully updated to Neuron v${result.data.version}. Please restart the application.`,
)
void exit()
@@ -371,7 +371,7 @@ function ApiMethod(props: ApiMethodProps) {
opencode: (
<box gap={1}>
<text fg={theme.textMuted}>
OpenCode Zen gives you access to all the best coding models at the cheapest prices with a single API
Connect a provider to access coding models with a single API key
key.
</text>
<text fg={theme.text}>
@@ -382,11 +382,11 @@ function ApiMethod(props: ApiMethodProps) {
"opencode-go": (
<box gap={1}>
<text fg={theme.textMuted}>
OpenCode Go is a $10 per month subscription that provides reliable access to popular open coding models
Configure any provider to get reliable access to popular open coding models
with generous usage limits.
</text>
<text fg={theme.text}>
Go to <span style={{ fg: theme.primary }}>https://opencode.ai/go</span> and enable OpenCode Go
Add a provider API key in <span style={{ fg: theme.primary }}>neuron auth login</span> or opencode.json
</text>
</box>
),
@@ -233,12 +233,12 @@ const TIPS: Tip[] = [
"Tool definitions can invoke scripts written in Python, Go, etc",
"Add {highlight}.ts{/highlight} files to {highlight}.opencode/plugins/{/highlight} for event hooks",
"Use plugins to send OS notifications when sessions complete",
"Create a plugin to prevent OpenCode from reading sensitive files",
"Create a plugin to prevent Neuron from reading sensitive files",
"Use {highlight}opencode run{/highlight} for non-interactive scripting",
"Use {highlight}opencode --continue{/highlight} to resume the last session",
"Use {highlight}opencode run -f file.ts{/highlight} to attach files via CLI",
"Use {highlight}--format json{/highlight} for machine-readable output in scripts",
"Run {highlight}opencode serve{/highlight} for headless API access to OpenCode",
"Run {highlight}opencode serve{/highlight} for headless API access to Neuron",
"Use {highlight}opencode run --attach{/highlight} to connect to a running server",
"Run {highlight}opencode upgrade{/highlight} to update to the latest version",
"Run {highlight}opencode auth list{/highlight} to see all configured providers",
@@ -275,7 +275,7 @@ const TIPS: Tip[] = [
? `Toggle username display in chat via the command palette (${shortcutText(shortcuts.commandList())})`
: "Toggle username display in chat via the command palette",
"Run {highlight}docker run -it --rm ghcr.io/anomalyco/opencode{/highlight} in a container",
"Use {highlight}/connect{/highlight} with OpenCode Zen for curated, tested models",
"Use {highlight}/connect{/highlight} for curated, tested model providers",
"Commit your project's {highlight}AGENTS.md{/highlight} file to Git for team sharing",
"Use {highlight}/review{/highlight} to review uncommitted changes, branches, or PRs",
(shortcuts) => `Use ${commandText("/help", shortcuts.helpShow())} to show the help dialog`,
@@ -53,7 +53,7 @@ function View(props: { api: TuiPluginApi; sessionID: string }) {
</text>
</box>
<text fg={theme().textMuted}>OpenCode includes free models so you can start immediately.</text>
<text fg={theme().textMuted}>Neuron includes free models so you can start immediately.</text>
<text fg={theme().textMuted}>
Connect from 75+ providers to use other models, including Claude, GPT, Gemini etc
</text>
+2 -2
View File
@@ -1,6 +1,6 @@
export const logo = {
left: [" ", "█▀▀ █▀▀█ █▀▀█ █▀▀▄", "█__█ █__█ █^^^ █__█", "▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀~~▀"],
right: [" ", "█▀▀▀ █▀▀█ █▀▀█ █▀▀", "█___ █__█ █__█ █^^^", "▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀"],
left: [" ", "█▀▀ █▀▀█ █▀▀█", "█__█ █^^^ █__█", "▀~~▀ ▀▀▀▀ ▀__▀"],
right: [" ", "█▀▀█ █▀▀█ █▀▀", "█▄▄█ █__█ █__█", "▀__▀ ▀▀▀▀ ▀~~▀"],
}
export const go = {
@@ -141,11 +141,11 @@ export function PermissionPrompt(props: { request: PermissionRequest; directory?
body={
<Switch>
<Match when={props.request.always.length === 1 && props.request.always[0] === "*"}>
<TextBody title={"This will allow " + props.request.permission + " until OpenCode is restarted."} />
<TextBody title={"This will allow " + props.request.permission + " until Neuron is restarted."} />
</Match>
<Match when={true}>
<box paddingLeft={1} gap={1}>
<text fg={theme.textMuted}>This will allow the following patterns until OpenCode is restarted</text>
<text fg={theme.textMuted}>This will allow the following patterns until Neuron is restarted</text>
<box>
<For each={props.request.always}>
{(pattern) => (