The Problem

Developers need a desktop API client that works offline, stores data locally, and lets teams version collections with Git. Existing tools either require cloud accounts or lack deep Git integration, forcing ad‑hoc export/import workflows.

What This Does

echolon is an Electron‑based application that bundles a React UI (core/renderer/App.tsx) with a Node backend (core/main/.ts). The backend implements request handling (core/main/httpRequest.ts), Git operations (core/main/git.ts), and mock server support (core/main/mockServer.ts). UI components for collections, environments, and response viewers live under core/renderer/components/, while modal dialogs for Git commits, settings, and imports are in core/renderer/components/modals/. The project is organized as a single npm package (core/package.json) with Vite as the bundler.

How To Use It

Setup

Clone the repo and enter the Electron project git clone https://github.com/echolon-app/echolon.git cd echolon/core

Install dependencies

npm ci

npm ci is preferred because a lockfile (core/package-lock.json) is present.

Configuration

No mandatory config files are shipped. Optional environment variables for code signing are documented in the README (e.g., CSCLINK, CSCKEYPASSWORD). If you plan to use AWS SigV4 or S3 uploads, the modules core/main/awsSigV4.ts and core/main/s3Upload.ts expect AWS credentials in the usual environment variables (AWSACCESSKEYID, AWSSECRETACCESS_KEY).

Running the app

Development mode (hot reload) npm run dev

The dev script launches Vite’s dev server and starts Electron, using core/main/index.ts as the Electron main process entry point.

Packaging

Build installers for all platforms npm run package:all Or a single platform, e.g. macOS npm run package:mac

Packaging scripts invoke electron-builder configured in core/electron-builder.yml.

Real‑World Use

A team can keep a Git repository of their collections.json (managed by the Git panel in core/renderer/components/panels/GitPanel/). Developers clone the repo, run npm run dev, and have a fully functional API client that automatically syncs changes via the built‑in Git client. Requests can be mocked locally with core/main/mockServer.ts for integration testing without external dependencies.

Code Health & Issues

Medium – No automated tests – No .test.* files; code paths (e.g., request handling, Git ops) are unverified. Medium – No CI pipeline – Repository lacks .github/workflows or other CI configs; releases rely on manual runs. Low – Limited error handling – Functions such as core/main/httpRequest.ts and core/main/git.ts have minimal try/catch blocks, increasing risk of uncaught runtime errors. Low – Potential security exposure – AWS and S3 helper modules are present, but the repo does not enforce credential validation; developers must ensure environment variables are not committed. Low – Documentation gaps – README covers basic setup but omits detailed configuration for optional features (e.g., mock server TLS, custom auth plugins).

No license issues (MIT present) and linting is enforced via .eslintrc.json.

The Bottom Line

echolon delivers a functional, self‑hosted API client with strong Git integration and offline capability, suitable for teams that prefer local‑first tooling. The codebase is well‑structured but lacks tests and CI, so adopting it will require adding quality‑gate processes. It is a solid foundation for developers comfortable extending Electron/React projects.