@bastani/atomic 0.6.7 → 0.6.8-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,16 +2,15 @@
2
2
  "env": {
3
3
  "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
4
4
  "ENABLE_LSP_TOOL": "1",
5
- "CLAUDE_CODE_NO_FLICKER": "1"
5
+ "CLAUDE_CODE_NO_FLICKER": "1",
6
+ "CLAUDE_CODE_TMUX_TRUECOLOR": "1"
6
7
  },
7
8
  "includeCoAuthoredBy": false,
8
9
  "skipDangerousModePermissionPrompt": true,
9
10
  "permissions": {
10
11
  "defaultMode": "bypassPermissions"
11
12
  },
12
- "disabledMcpjsonServers": [
13
- "azure-devops"
14
- ],
13
+ "disabledMcpjsonServers": ["azure-devops"],
15
14
  "enabledPlugins": {
16
15
  "pyright-lsp@claude-plugins-official": true,
17
16
  "typescript-lsp@claude-plugins-official": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/atomic",
3
- "version": "0.6.7",
3
+ "version": "0.6.8-0",
4
4
  "description": "Configuration management CLI and SDK for coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -81,15 +81,15 @@
81
81
  "@clack/prompts": "^1.3.0",
82
82
  "@commander-js/extra-typings": "^14.0.0",
83
83
  "@github/copilot-sdk": "^0.3.0",
84
- "@opencode-ai/sdk": "^1.14.31",
85
- "@opentui/core": "0.2.1",
86
- "@opentui/react": "^0.2.1",
84
+ "@opencode-ai/sdk": "^1.14.33",
85
+ "@opentui/core": "^0.2.2",
86
+ "@opentui/react": "^0.2.2",
87
87
  "commander": "^14.0.3",
88
88
  "ignore": "^7.0.5",
89
89
  "ignore-by-default": "^2.1.0",
90
90
  "linguist-languages": "^9.3.2",
91
- "yaml": "^2.8.3",
92
- "zod": "^4.4.1"
91
+ "yaml": "^2.8.4",
92
+ "zod": "^4.4.2"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "react": "^19.2.5"
@@ -14,7 +14,7 @@ import { homedir } from "node:os";
14
14
  import { SETTINGS_SCHEMA_URL } from "./settings-schema.ts";
15
15
  import { ensureDir } from "../system/copy.ts";
16
16
  import { errorMessage } from "../../sdk/errors.ts";
17
- import type { AgentKey, ProviderOverrides } from "./definitions.ts";
17
+ import { getAgentKeys, type AgentKey, type ProviderOverrides } from "./definitions.ts";
18
18
  import type { ScmProvider } from "./atomic-config.ts";
19
19
 
20
20
  interface AtomicSettings {
@@ -101,3 +101,44 @@ export async function setScmProvider(scm: ScmProvider): Promise<void> {
101
101
  console.warn(`[settings] failed to set scm: ${errorMessage(e)}`);
102
102
  }
103
103
  }
104
+
105
+ /**
106
+ * Seed `COLORTERM=truecolor` into each agent's `providers.<agent>.envVars`
107
+ * in `~/.atomic/settings.json` on install / version bump.
108
+ *
109
+ * The runtime default in `lib/terminal-env.ts` already injects
110
+ * `COLORTERM=truecolor` for every spawned agent — this seed surfaces that
111
+ * default in the user-editable settings file so users with terminals that
112
+ * misbehave on truecolor have a discoverable place to override it (set
113
+ * to `""`, `256color`, etc.).
114
+ *
115
+ * Only writes a key when it isn't already present, so user edits — including
116
+ * an explicit empty-string override — are preserved across upgrades.
117
+ */
118
+ export async function seedGlobalProviderEnvVars(): Promise<void> {
119
+ try {
120
+ const settings = await loadSettingsFile(globalSettingsPath());
121
+ const providers: Partial<Record<AgentKey, ProviderOverrides>> =
122
+ settings.providers ?? {};
123
+
124
+ let changed = false;
125
+ for (const agentKey of getAgentKeys()) {
126
+ const provider: ProviderOverrides = providers[agentKey] ?? {};
127
+ const envVars: Record<string, string> = provider.envVars ?? {};
128
+ if ("COLORTERM" in envVars) continue;
129
+ envVars.COLORTERM = "truecolor";
130
+ provider.envVars = envVars;
131
+ providers[agentKey] = provider;
132
+ changed = true;
133
+ }
134
+
135
+ if (!changed) return;
136
+
137
+ settings.providers = providers;
138
+ await writeGlobalSettings(settings);
139
+ } catch (e) {
140
+ console.warn(
141
+ `[settings] failed to seed provider envVars: ${errorMessage(e)}`,
142
+ );
143
+ }
144
+ }
@@ -37,6 +37,7 @@ import {
37
37
  import { installGlobalAgents } from "./agents.ts";
38
38
  import { installGlobalSkills } from "./skills.ts";
39
39
  import { seedGlobalAdditionalInstructions } from "../config/additional-instructions.ts";
40
+ import { seedGlobalProviderEnvVars } from "../config/settings.ts";
40
41
 
41
42
  /** Path to the version marker. Honors ATOMIC_SETTINGS_HOME for tests. */
42
43
  function syncMarkerPath(): string {
@@ -111,6 +112,7 @@ export async function autoSyncIfStale(): Promise<void> {
111
112
  silentStep(installGlobalAgents),
112
113
  silentStep(upgradeGlobalToolPackages),
113
114
  silentStep(installGlobalSkills),
115
+ silentStep(seedGlobalProviderEnvVars),
114
116
  ];
115
117
 
116
118
  // All steps run in parallel and silently. Failures are swallowed so the