Skip to content

chore: publish as @flamai/finesse on npm (Apache-2.0) - #2

Merged
iyashjayesh merged 3 commits into
mainfrom
chore/npm-publish-setup
Oct 17, 2026
Merged

iyashjayesh merged 3 commits into
mainfrom
chore/npm-publish-setup

Conversation

@iyashjayesh

Copy link
Copy Markdown
Collaborator

Prepares the SDK for its first public npm release as @flamai/finesse 0.1.1. Nothing is published by merging this; a release happens only when a v* tag is pushed.

Changes

  • Name: @flam/finesse → @flamai/finesse. npm only allows publishing under an org's own scope, and the org is flamai.
  • Publishing: "private": true removed; publishConfig.access: public; repository and homepage added.
  • License: Apache-2.0 (official text in LICENSE, license field in package.json). It was UNLICENSED, which on npm means no one may use the package.
  • Release workflow (.github/workflows/release.yml): on a v* tag, it checks the tag against package.json, runs typecheck, lint, tests and build, then runs npm publish through npm Trusted Publishing (GitHub OIDC). No npm token is stored.
  • README: installs from npm, the status badge says "beta", the internal dev host is replaced with placeholders, and there's a License section. The CHANGELOG notes the npm release.

Verified

  • pnpm typecheck, pnpm lint, pnpm test (156 passed, 9 live tests skipped) and pnpm build.
  • npm pack --dry-run: @flamai/finesse@0.1.1, 10 files (dist, README, CHANGELOG, LICENSE, package.json), 139 kB. No keys or internal hosts.

Before the first release

  1. If npm needs the package to exist first, do the first npm publish --access public manually (with 2FA), as a member of the flamai org.
  2. On npmjs.com, add a trusted publisher for @flamai/finesse: GitHub, repository homingos/finesse-node, workflow release.yml.
  3. Then each release is: bump version, update the CHANGELOG, push tag vX.Y.Z.

Provenance attestations need a public repository. This repo is private, so releases publish without the provenance badge until it is made public.

npm only allows publishing under an org's own scope, and the org is flamai, so the package is
renamed from @flam/finesse. The private flag is removed and publishConfig sets public access.
A tag-triggered release workflow publishes with npm Trusted Publishing (GitHub OIDC), so no npm
token is stored; it checks the tag against package.json and runs typecheck, lint, tests and
build first. README installs from npm.
UNLICENSED means no one may use the published package. Apache-2.0 is permissive for commercial
use and adds an explicit patent grant and a trademark clause.
@iyashjayesh
iyashjayesh merged commit 1a6ba7e into main Oct 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant