---
title: Ephemere
---

Ephemere (hereinafter the "Application") is a multi-language utility repository containing operational scripts for TypeScript, Python, and Bash workflows.

## 1. User Documentation

Ephemere is a script collection rather than a hosted end-user application.

It is used to run task-focused automation across multiple domains, including:

1. Crowdin translation workflows.
2. Discord and Discourse operations.
3. Gitea and GitHub maintenance tasks.
4. Music metadata and security reporting utilities.
5. Cohort programme operations in Python and Bash.

Scripts are typically executed through the interactive runner to choose language, category, and script at runtime.

## 2. Technical Documentation

Ephemere is organized by language and purpose:

1. `typescript/src/*` for API and platform scripting utilities.
2. `python/cohort/*` for cohort and Discord operations.
3. `bash/*` for cohort team automation and YubiKey administration.

Environment and dependency setup:

1. Node.js `v24+`, `pnpm`, and Python `3.10+` are required.
2. `uv` is used for Python dependency management.
3. `op` (1Password CLI) is used for secret injection from `prod.env`.

Common commands:

1. `make install` installs TypeScript and Python dependencies.
2. `make run` launches the interactive script runner.
3. `make lint` runs TypeScript and Python linting.
4. `make build` performs TypeScript type checking.
5. `make test` runs available test suites.

When running scripts manually, both TypeScript and Python command examples in the repository rely on `op run --env-file=prod.env` for secure secret resolution.

## 3. Legal Documentation

Project policy files reference global documentation:

1. License: `https://docs.nhcarrigan.com/#/license`
2. Terms: `https://docs.nhcarrigan.com/#/terms`
3. Privacy: `https://docs.nhcarrigan.com/#/privacy`
4. Security: `https://docs.nhcarrigan.com/#/security`

Copyright is held by Naomi Carrigan.

## 4. Contributing Documentation

Contributions are accepted through pull requests in accordance with the repository contribution policy and Code of Conduct.

Before opening a pull request:

1. Run `make install`.
2. Run `make lint`.
3. Run `make build`.
4. Run `make test`.

Feedback and bug reports are handled through `https://support.nhcarrigan.com`.
