@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.
package/.claude/settings.json
CHANGED
|
@@ -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.
|
|
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.
|
|
85
|
-
"@opentui/core": "0.2.
|
|
86
|
-
"@opentui/react": "^0.2.
|
|
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.
|
|
92
|
-
"zod": "^4.4.
|
|
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
|
|
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
|