Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
- name: Build npm bundle
run: bun run build

# @mantacode/mna-cli is a scoped package, which npm treats as private by
# mna-cli is a scoped package, which npm treats as private by
# default — --access public is required (belt-and-braces alongside
# publishConfig.access in package.json), especially on the first publish.
- name: Publish to npm
Expand Down
2 changes: 1 addition & 1 deletion DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ introduce tests that hit production unless they're explicitly opt-in (`MNA_E2E=1

See [RELEASING.md](./RELEASING.md). Releases are driven by pushing a `vX.Y.Z`
tag, which builds the native binaries, cuts a GitHub Release, and publishes
`@mantacode/mna-cli` to npm.
`mna-cli` to npm.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Releases. npm and Homebrew distribution land with the first tag.
### npm (Node 20+)

```bash
npm install -g @mantacode/mna-cli
npm install -g mna-cli
```

This installs the `mna` binary. It bundles all dependencies as a single
Expand All @@ -24,7 +24,7 @@ JS file; no Bun required.
### Homebrew (macOS + Linux)

```bash
brew install mantacode/tap/mna
brew install akoso/tap/mna
```

Installs a precompiled native binary. The tap is updated per release; see
Expand Down
16 changes: 8 additions & 8 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ The release pipeline is driven by tag pushes. Tagging a commit `vX.Y.Z` runs
`.github/workflows/release.yml`, which builds three native binaries
(`darwin-arm64`, `darwin-x64`, `linux-x64`), uploads them to a GitHub
Release as `.tar.gz` + `.sha256`, and publishes the bundled npm package
`@mantacode/mna-cli` to the public registry.
`mna-cli` to the public registry.

The npm package is `@mantacode/mna-cli`; the binary it installs is `mna`.
The npm package is `mna-cli`; the binary it installs is `mna`.
The `@mantacode` scope is shared across products, so the package name carries
the product prefix while the command stays short.

Expand All @@ -29,7 +29,7 @@ the product prefix while the command stays short.
4. Watch the **Release** workflow on GitHub Actions. When it completes:
- A new GitHub Release `vX.Y.Z` exists with three `mna-<target>.tar.gz`
assets and their `.sha256` files.
- npm has a new `@mantacode/mna-cli@X.Y.Z` version.
- npm has a new `mna-cli@X.Y.Z` version.

5. Refresh the Homebrew tap (see below).

Expand Down Expand Up @@ -75,8 +75,8 @@ already carries `version "0.1.0"` as its placeholder.
number is then burned (never reuse one).

3. **Create the Homebrew tap repo.** Make a public GitHub repo named
`mantacode/homebrew-tap` — the `homebrew-` prefix is what lets Homebrew
resolve `brew install mantacode/tap/mna`. Inside it, create
`akoso/homebrew-tap` — the `homebrew-` prefix is what lets Homebrew
resolve `brew install akoso/tap/mna`. Inside it, create
`Formula/mna.rb` from this repo's `homebrew/mna.rb` template with the
SHAs filled in (see next section).

Expand All @@ -93,7 +93,7 @@ The tap is not automated yet. After every release:
cat /tmp/mna-vX.Y.Z/mna-linux-x64.tar.gz.sha256
```

2. In a checkout of `mantacode/homebrew-tap`, edit `Formula/mna.rb`:
2. In a checkout of `akoso/homebrew-tap`, edit `Formula/mna.rb`:
- Update `version "X.Y.Z"`.
- Replace each `sha256 "..."` with the values from step 1.

Expand All @@ -107,7 +107,7 @@ The tap is not automated yet. After every release:
4. Verify install works from a clean machine:

```bash
brew install mantacode/tap/mna
brew install akoso/tap/mna
mna --version # should print X.Y.Z
```

Expand All @@ -118,7 +118,7 @@ that opens a PR against the tap repo from `release.yml`.

- **GitHub Release:** `gh release delete vX.Y.Z --yes` and delete the tag
(`git tag -d vX.Y.Z && git push --delete origin vX.Y.Z`).
- **npm:** `npm unpublish @mantacode/mna-cli@X.Y.Z` works only within
- **npm:** `npm unpublish mna-cli@X.Y.Z` works only within
72 hours of publish. After that, publish a new patch version with the
fix. **Never** reuse a version number.
- **Homebrew:** revert the formula commit in the tap repo.
4 changes: 2 additions & 2 deletions homebrew/mna.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Template Homebrew formula for the mna CLI.
#
# This file is versioned alongside the source as a template. To make
# `brew install mantacode/tap/mna` work, copy this file into the separate
# `mantacode/homebrew-tap` GitHub repo at `Formula/mna.rb`, and update
# `brew install akoso/tap/mna` work, copy this file into the separate
# `akoso/homebrew-tap` GitHub repo at `Formula/mna.rb`, and update
# `version` + each `sha256` after a new GitHub Release is published.
# See RELEASING.md.

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@mantacode/mna-cli",
"name": "mna-cli",
"version": "0.0.1",
"description": "Command-line tool for My Next Adventure trip planning.",
"license": "MIT",
Expand Down
Loading