Skip to main content
All Docs
Getting StartedmyProp (AgentOS People Portal)Updated April 3, 2026

CI Setup & GitHub Package Registry

CI Setup & GitHub Package Registry

myProp uses a GitHub Actions CI workflow for automated builds and tests. The workflow depends on a private npm package (@saas-factory-live/shell) hosted on the GitHub Package Registry. Before CI can run successfully, you must configure an NPM_TOKEN secret in your repository.


Prerequisites

  • Access to the @saas-factory-live GitHub organisation packages
  • Permission to create repository secrets (repository admin or owner)

Configuring the NPM_TOKEN secret

  1. Create a GitHub Personal Access Token (classic) from your GitHub account:

    • Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
    • Click Generate new token (classic)
    • Select the read:packages scope
    • The token must belong to an account that has access to the @saas-factory-live organisation packages
    • Copy the generated token
  2. Add the token as a repository secret:

    • Go to your repository → Settings → Secrets and variables → Actions
    • Click New repository secret
    • Name: NPM_TOKEN
    • Value: paste the personal access token from step 1
    • Click Add secret
  3. Re-run the failing CI workflow (if applicable):

    • Go to Actions → CI → [failing run] → Re-run all jobs

How it works

The .npmrc file at the repository root routes all @saas-factory-live scoped packages to the GitHub Package Registry:

@saas-factory-live:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NPM_TOKEN}

The CI workflow exposes NPM_TOKEN via NODE_AUTH_TOKEN during the npm install step:

- run: npm install
  env:
    NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

CI workflow overview

The workflow (.github/workflows/ci.yml) runs on:

  • Every push to main
  • Every pull request targeting main
  • Manual dispatch via the GitHub Actions UI

Steps:

  1. Checkout the repository
  2. Set up Node.js 20 with GitHub Package Registry authentication
  3. npm install — installs all dependencies including private packages
  4. npm run build — compiles the project
  5. npm test — runs the test suite

Required environment variables for CI

The following environment variables are pre-configured in the CI workflow with dummy values for build and test purposes:

VariableCI Value
LETMC_API_KEYci_dummy_letmc_key_for_build
LETMC_API_BASE_URLhttps://live-api.letmc.com
NEXTAUTH_SECRETtest-secret-for-ci
NEXTAUTH_URLhttp://localhost:3000
DATABASE_URLpostgresql://dummy:dummy@localhost:5432/dummy

These values are sufficient for compilation and unit tests. They are not used for real API calls.


Troubleshooting

401 Unauthorized from npm.pkg.github.com

npm error code E401
npm error 401 Unauthorized - GET https://npm.pkg.github.com/@saas-factory-live/shell
npm error authentication token not provided

Cause: The NPM_TOKEN secret is missing or has not been saved to the repository.

Fix: Follow the Configuring the NPM_TOKEN secret steps above.

Token has correct scope but still fails

Verify that the GitHub account that generated the token is a member of the @saas-factory-live organisation and has at least read access to the relevant packages.