What Programming Languages Are Used in the Macro Repository?

The Macro monorepo is a polyglot codebase built primarily in Rust and TypeScript/JavaScript, with auxiliary Python scripts and configuration files in TOML, JSON, and Shell.

The macro-inc/macro repository is a monorepo that relies on multiple programming languages to power its backend services, client SDK, and developer tooling. Understanding the programming languages used in the macro repository reveals a clear architectural split: Rust drives performance-critical infrastructure, while TypeScript and JavaScript handle user-facing components.

Primary Programming Languages in the Macro Repository

The source code is organized around three main languages, each responsible for distinct layers of the stack.

Rust: High-Performance Backend Services

Rust powers the core backend microservices, including document storage, connection gateways, and email handling. In crates/worker-rs-otel/src/lib.rs, the Rust source defines telemetry workers that underpin observability across services. A typical service entry point uses tokio::main to bootstrap an async runtime, load configuration, and start the application loop.

#[tokio::main]
async fn main() -> Result<()> {
    tracing_subscriber::fmt::init();
    let config = Config::load()?;
    let app = App::new(config).await?;
    app.run().await
}

According to the macro source code, this pattern appears across multiple crates that share a workspace defined at the repository root.

TypeScript and JavaScript: Frontend, SDK, and Node Utilities

TypeScript and JavaScript dominate the web client, public SDK, and Node-based tooling. The SDK entry point in packages/sdk/src/macro.ts exports the MacroClient class, which consumers use to interact with the platform’s project APIs.

import { MacroClient } from "./macro";

export async function listProjects() {
  const client = new MacroClient({ apiKey: process.env.MACRO_API_KEY! });
  const projects = await client.projects.list();
  console.log("Projects:", projects);
}

As implemented in macro-inc/macro, the TypeScript packages are managed via a root package.json that coordinates the monorepo’s Node dependencies and build scripts.

Python: Data Processing and Transcription Helpers

Python appears in targeted data-processing scripts, most notably for audio transcription workflows. The file services/transcription/transcriber.py implements a utility that loads OpenAI’s Whisper model and converts audio files to text.

import whisper

def transcribe(audio_path: str) -> str:
    model = whisper.load_model("base")
    result = model.transcribe(audio_path)
    return result["text"]

This module demonstrates how the macro repository uses Python for specialized machine-learning tasks without making it a dominant runtime in the stack.

Configuration and Build Languages

Beyond application code, the repository contains several declarative and scripting languages that manage builds, packaging, and CI.

TOML: Rust Workspace and Manifest Files

The Rust ecosystem in this monorepo is coordinated through Cargo.toml, which defines workspace members and shared dependencies across the crates/ directory.

JSON and Shell: Node Metadata and CI Orchestration

JSON manifests in package.json declare Node package metadata, while Shell scripts—such as those found under scripts/setup.sh—handle environment setup, build orchestration, and deployment pipelines.

Summary

Frequently Asked Questions

What is the main programming language used in the Macro repository?

Rust is the dominant language for backend infrastructure, while TypeScript and JavaScript handle the majority of frontend and SDK code. Python is used only for isolated utilities like transcription.

Where is TypeScript used in the Macro monorepo?

TypeScript is used in packages/sdk/src/macro.ts for the public SDK, as well as across the web client and various Node-based tooling packages. The entire Node ecosystem is managed through a root package.json.

Does the Macro repository use Python for machine learning?

Yes, Python is employed for targeted machine-learning tasks such as audio transcription. The file services/transcription/transcriber.py loads the Whisper model to transcribe audio paths into text.

What build configuration languages are present in the Macro repository?

The repository uses TOML for Rust workspace definitions in Cargo.toml, JSON for Node metadata in package.json, and Shell scripts for CI and deployment orchestration.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →