MCPcopy Create free account
hub / github.com/Kilo-Org/cloud / applyFeatureFlags

Function applyFeatureFlags

services/kiloclaw/controller/src/bootstrap.ts:299–345  ·  view source on GitHub ↗
(env: EnvLike, deps: BootstrapDeps = defaultDeps)

Source from the content-addressed store, hash-verified

297 console.log('npm global prefix set to /root/.npm-global');
298 } catch {
299 console.warn('WARNING: failed to create npm-global directory, using default prefix');
300 }
301 }
302
303 // pip-global-prefix: redirect pip install --user to the persistent volume
304 if (env.KILOCLAW_PIP_GLOBAL_PREFIX === 'true') {
305 try {
306 deps.mkdirSync('/root/.pip-global/bin', { recursive: true });
307 env.PYTHONUSERBASE = '/root/.pip-global';
308 env.PATH = `${env.PATH ?? ''}:/root/.pip-global/bin`;
309 console.log('pip global prefix set to /root/.pip-global');
310 } catch {
311 console.warn('WARNING: failed to create pip-global directory, using default prefix');
312 }
313 }
314
315 // uv-global-prefix: configure uv tool/cache directories on the persistent volume
316 if (env.KILOCLAW_UV_GLOBAL_PREFIX === 'true') {
317 try {
318 deps.mkdirSync('/root/.uv/tools', { recursive: true });
319 deps.mkdirSync('/root/.uv/bin', { recursive: true });
320 deps.mkdirSync('/root/.uv/cache', { recursive: true });
321 env.UV_TOOL_DIR = '/root/.uv/tools';
322 env.UV_TOOL_BIN_DIR = '/root/.uv/bin';
323 env.UV_CACHE_DIR = '/root/.uv/cache';
324 env.PATH = `${env.PATH ?? ''}:/root/.uv/bin`;
325 console.log('uv global prefix set to /root/.uv');
326 } catch {
327 console.warn('WARNING: failed to create uv directories, using defaults');
328 }
329 }
330
331 // kilo-cli: alias KILOCODE_API_KEY to KILO_API_KEY for the CLI's KiloAuthPlugin
332 if (env.KILOCLAW_KILO_CLI === 'true' && env.KILOCODE_API_KEY) {
333 env.KILO_API_KEY = env.KILOCODE_API_KEY;
334 console.log('Kilo CLI auto-configuration enabled');
335 }
336}
337
338export function cleanNpmCache(env: EnvLike, deps: BootstrapDeps = defaultDeps): void {
339 try {
340 deps.execFileSync('npm', ['cache', 'clean', '--force'], {
341 env: { ...process.env, ...env },
342 stdio: 'pipe',
343 });
344 console.log('[controller] npm cache clean completed');
345 } catch (error) {
346 const message = error instanceof Error ? error.message : String(error);
347 console.warn('[controller] npm cache clean failed, continuing:', message);
348 }

Callers 2

bootstrap.test.tsFile · 0.90
bootstrapCriticalFunction · 0.85

Calls 2

logMethod · 0.65
warnMethod · 0.65

Tested by

no test coverage detected