feat(brand): NEURON TUI logo, terminal titles, and swept user-facing copy
This commit is contained in:
@@ -71,12 +71,12 @@ export function resolveThreadDirectory(project?: string, envPWD = process.env.PW
|
|||||||
|
|
||||||
export const TuiThreadCommand = cmd({
|
export const TuiThreadCommand = cmd({
|
||||||
command: "$0 [project]",
|
command: "$0 [project]",
|
||||||
describe: "start opencode tui",
|
describe: "start the Neuron TUI",
|
||||||
builder: (yargs) =>
|
builder: (yargs) =>
|
||||||
withNetworkOptions(yargs)
|
withNetworkOptions(yargs)
|
||||||
.positional("project", {
|
.positional("project", {
|
||||||
type: "string",
|
type: "string",
|
||||||
describe: "path to start opencode in",
|
describe: "path to start Neuron in",
|
||||||
})
|
})
|
||||||
.option("model", {
|
.option("model", {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
|||||||
@@ -454,14 +454,14 @@ function App(props: { onSnapshot?: () => Promise<string[]>; pluginHost: TuiPlugi
|
|||||||
if (!terminalTitleEnabled() || Flag.OPENCODE_DISABLE_TERMINAL_TITLE) return
|
if (!terminalTitleEnabled() || Flag.OPENCODE_DISABLE_TERMINAL_TITLE) return
|
||||||
|
|
||||||
if (route.data.type === "home") {
|
if (route.data.type === "home") {
|
||||||
renderer.setTerminalTitle("OpenCode")
|
renderer.setTerminalTitle("Neuron")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (route.data.type === "session") {
|
if (route.data.type === "session") {
|
||||||
const session = sync.session.get(route.data.sessionID)
|
const session = sync.session.get(route.data.sessionID)
|
||||||
if (!session || isDefaultTitle(session.title)) {
|
if (!session || isDefaultTitle(session.title)) {
|
||||||
renderer.setTerminalTitle("OpenCode")
|
renderer.setTerminalTitle("Neuron")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1070,7 +1070,7 @@ function App(props: { onSnapshot?: () => Promise<string[]>; pluginHost: TuiPlugi
|
|||||||
await DialogAlert.show(
|
await DialogAlert.show(
|
||||||
dialog,
|
dialog,
|
||||||
"Update Complete",
|
"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()
|
void exit()
|
||||||
|
|||||||
@@ -371,7 +371,7 @@ function ApiMethod(props: ApiMethodProps) {
|
|||||||
opencode: (
|
opencode: (
|
||||||
<box gap={1}>
|
<box gap={1}>
|
||||||
<text fg={theme.textMuted}>
|
<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.
|
key.
|
||||||
</text>
|
</text>
|
||||||
<text fg={theme.text}>
|
<text fg={theme.text}>
|
||||||
@@ -382,11 +382,11 @@ function ApiMethod(props: ApiMethodProps) {
|
|||||||
"opencode-go": (
|
"opencode-go": (
|
||||||
<box gap={1}>
|
<box gap={1}>
|
||||||
<text fg={theme.textMuted}>
|
<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.
|
with generous usage limits.
|
||||||
</text>
|
</text>
|
||||||
<text fg={theme.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>
|
</text>
|
||||||
</box>
|
</box>
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -233,12 +233,12 @@ const TIPS: Tip[] = [
|
|||||||
"Tool definitions can invoke scripts written in Python, Go, etc",
|
"Tool definitions can invoke scripts written in Python, Go, etc",
|
||||||
"Add {highlight}.ts{/highlight} files to {highlight}.opencode/plugins/{/highlight} for event hooks",
|
"Add {highlight}.ts{/highlight} files to {highlight}.opencode/plugins/{/highlight} for event hooks",
|
||||||
"Use plugins to send OS notifications when sessions complete",
|
"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 run{/highlight} for non-interactive scripting",
|
||||||
"Use {highlight}opencode --continue{/highlight} to resume the last session",
|
"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}opencode run -f file.ts{/highlight} to attach files via CLI",
|
||||||
"Use {highlight}--format json{/highlight} for machine-readable output in scripts",
|
"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",
|
"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 upgrade{/highlight} to update to the latest version",
|
||||||
"Run {highlight}opencode auth list{/highlight} to see all configured providers",
|
"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 (${shortcutText(shortcuts.commandList())})`
|
||||||
: "Toggle username display in chat via the command palette",
|
: "Toggle username display in chat via the command palette",
|
||||||
"Run {highlight}docker run -it --rm ghcr.io/anomalyco/opencode{/highlight} in a container",
|
"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",
|
"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",
|
"Use {highlight}/review{/highlight} to review uncommitted changes, branches, or PRs",
|
||||||
(shortcuts) => `Use ${commandText("/help", shortcuts.helpShow())} to show the help dialog`,
|
(shortcuts) => `Use ${commandText("/help", shortcuts.helpShow())} to show the help dialog`,
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ function View(props: { api: TuiPluginApi; sessionID: string }) {
|
|||||||
✕
|
✕
|
||||||
</text>
|
</text>
|
||||||
</box>
|
</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}>
|
<text fg={theme().textMuted}>
|
||||||
Connect from 75+ providers to use other models, including Claude, GPT, Gemini etc
|
Connect from 75+ providers to use other models, including Claude, GPT, Gemini etc
|
||||||
</text>
|
</text>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export const logo = {
|
export const logo = {
|
||||||
left: [" ", "█▀▀█ █▀▀█ █▀▀█ █▀▀▄", "█__█ █__█ █^^^ █__█", "▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀~~▀"],
|
left: [" ", "█▀▀▄ █▀▀█ █▀▀█", "█__█ █^^^ █__█", "▀~~▀ ▀▀▀▀ ▀__▀"],
|
||||||
right: [" ▄ ", "█▀▀▀ █▀▀█ █▀▀█ █▀▀█", "█___ █__█ █__█ █^^^", "▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀"],
|
right: [" ", "█▀▀█ █▀▀█ █▀▀▄", "█▄▄█ █__█ █__█", "▀__▀ ▀▀▀▀ ▀~~▀"],
|
||||||
}
|
}
|
||||||
|
|
||||||
export const go = {
|
export const go = {
|
||||||
|
|||||||
@@ -141,11 +141,11 @@ export function PermissionPrompt(props: { request: PermissionRequest; directory?
|
|||||||
body={
|
body={
|
||||||
<Switch>
|
<Switch>
|
||||||
<Match when={props.request.always.length === 1 && props.request.always[0] === "*"}>
|
<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>
|
||||||
<Match when={true}>
|
<Match when={true}>
|
||||||
<box paddingLeft={1} gap={1}>
|
<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>
|
<box>
|
||||||
<For each={props.request.always}>
|
<For each={props.request.always}>
|
||||||
{(pattern) => (
|
{(pattern) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user