Registry / devops / codefresh

codefresh

JSON →
library1.1.3jsnpmunverified

The `codefresh` package provides the official command-line interface (CLI) for interacting with the Codefresh platform, enabling users to manage CI/CD pipelines, deployments, and various resources directly from their terminal. It supports a wide array of operations including managing builds, images, tags, authentication contexts, and Helm releases. The current stable version is 1.1.3. Releases appear to be frequent, often weekly or bi-weekly, addressing bugs, security updates, and new features. Its primary differentiator is providing a comprehensive, scriptable interface to Codefresh's full suite of CI/CD capabilities, serving as a powerful tool for automation and integration within development workflows. It requires Node.js v24.0.0 or higher to run.

devopsawsgcpazure
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

The `codefresh` package is primarily a command-line interface. For programmatic interaction in JavaScript/TypeScript, it's typically invoked as a child process using tools like `execa` or Node.js's built-in `child_process` module. Direct `import` or `require` of its internal modules is not officially supported or recommended for external use.

import { execa } from 'execa'; await execa('codefresh', ['version']);

When installed globally (`npm install -g codefresh`), the `codefresh` executable is added to the system's PATH. When installed locally (e.g., as a development dependency), its executable is located in `node_modules/.bin/codefresh`.

import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; const __dirname = dirname(fileURLToPath(import.meta.url)); const cliPath = join(__dirname, 'node_modules', '.bin', 'codefresh');

The `codefresh` package is not designed to be imported as a standard JavaScript/TypeScript library. Its functionality is exposed exclusively via the command-line interface, and attempts to import functions or objects directly will fail.

Demonstrates global installation of the Codefresh CLI, authentication using an API key from environment variables, and fetching the CLI version and configured contexts programmatically.

import { execa } from 'execa'; // npm install execa async function setupAndUseCodefreshCLI() { console.log('--- Installing Codefresh CLI globally ---\n'); try { await execa('npm', ['install', '-g', 'codefresh'], { stdio: 'inherit' }); console.log('\nCodefresh CLI installed successfully.\n'); } catch (error) { console.error('Failed to install Codefresh CLI:', error.message); return; } const apiKey = process.env.CODEFRESH_API_KEY ?? ''; if (!apiKey) { console.error('CODEFRESH_API_KEY environment variable is not set. Please generate an API key from Codefresh account settings and set it.\n'); return; } console.log('--- Authenticating with Codefresh CLI ---\n'); try { await execa('codefresh', ['auth', 'create-context', '--api-key', apiKey], { stdio: 'inherit' }); console.log('\nAuthentication successful. Context created.\n'); } catch (error) { console.error('Authentication failed. Check your API key and network connection:', error.message); return; } console.log('--- Getting Codefresh CLI version ---\n'); try { const { stdout } = await execa('codefresh', ['version']); console.log(`Codefresh CLI Version: ${stdout.trim()}\n`); } catch (error) { console.error('Failed to get CLI version:', error.message); } console.log('--- Listing Codefresh contexts (example) ---\n'); try { const { stdout } = await execa('codefresh', ['get', 'contexts']); console.log('Codefresh Contexts:\n', stdout); } catch (error) { console.error('Failed to list contexts:', error.message); } } setupAndUseCodefreshCLI();
codefresh --version
Debug
Known footguns
breakingThe `codefresh` CLI now explicitly requires Node.js version 24.0.0 or higher. Running with older Node.js versions will result in an error and prevents the CLI from functioning.
breakingMultiple security vulnerabilities were addressed in recent releases, including fixes for supply chain issues and updated dependencies. Older versions may contain known security flaws.
gotchaThe `codefresh` package is a command-line interface tool, not a JavaScript library. It is not designed for direct programmatic import (`import {} from 'codefresh'`). Its functionality is exposed via shell commands.
gotchaAuthentication with the Codefresh CLI relies on API keys. Storing API keys directly in source code or committing them to version control poses a significant security risk.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
27 hits · last 30 days
bytedance
5
gptbot
4
ahrefsbot
4
amazonbot
4
dotbot
2
script
1
Resources