Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.packmind.com/llms.txt

Use this file to discover all available pages before exploring further.

When standards, commands, or skills evolve on Packmind, your repositories don’t pick up the changes on their own — someone has to run packmind-cli install to refresh the artifacts on disk. This page shows how to delegate that step to a scheduled CI/CD job: the job runs packmind-cli install on a cadence you choose and opens a pull/merge request whenever artifacts change, so your team reviews updates instead of remembering to fetch them. Use this if you maintain several repositories, or your playbook evolves often. Manual packmind-cli install is fine if a single maintainer touches the repo and updates are rare.

How it works

1

Scheduled trigger

A cron-scheduled CI job runs in your repository (typically nightly).
2

Sync with Packmind

The job runs packmind-cli install, which pulls the latest standards, commands, and skills.
3

Open a PR/MR for review

If anything changed, the job commits to a dedicated branch (packmind-cli-update) and opens a pull/merge request targeting your default branch. If nothing changed, the job exits silently. If a PR/MR already exists for that branch, new changes are appended instead of duplicating it.

Set up the workflow

Powered by the update-packmind-artifacts Marketplace action.

Prerequisites

  • A Packmind API key (Packmind → your profile → API keys)
  • Repository admin rights to add a secret and a workflow

Add the workflow

Create .github/workflows/nightly-packmind-update.yml:
name: Nightly Packmind Artifacts Update

on:
  schedule:
    - cron: '0 2 * * 1-5' # Every weeknight at 02:00 UTC — adjust to your timezone
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

jobs:
  update:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v4
        with:
          ref: main # replace with your default branch if different
          fetch-depth: 0 # required so the action can diff and commit
      - uses: PackmindHub/update-packmind-artifacts@v1
        with:
          packmind-api-key: ${{ secrets.PACKMIND_API_KEY_V3 }}

Configure the API key secret

In your repository: Settings → Secrets and variables → Actions → New repository secret.
Secret nameValue
PACKMIND_API_KEY_V3The API key from your Packmind user profile
The _V3 suffix is the current API key format used by Packmind — keep the name as-is.
Common action inputs (branch name, PR title, target branch, Node version) are documented on the Marketplace listing.

Verify it works

Don’t wait for the next scheduled run. Go to Actions → Nightly Packmind Artifacts Update → Run workflow and trigger it manually. Within a minute or two you should see either a new PR titled chore(packmind): nightly artifacts update, or a successful run with the message No artifact changes.

Choose a schedule

The example uses 0 2 * * 1-5 — every weeknight at 02:00 UTC (03:00 Paris in winter, 04:00 Paris in summer, 21:00 New York the previous day). Adjust the cron expression to land outside your team’s working hours so PRs are waiting when people come online. How often? Nightly fits most teams. Run hourly only if your playbook changes multiple times a day; running more frequently than your playbook evolves just creates noise.

Security considerations

The job has write access to your repository and uses an API key tied to your Packmind account. Treat both with care.
  • Always store the API key and bot token as CI/CD secrets — never commit them.
  • Where possible, generate the Packmind API key from a dedicated service account rather than a personal account, so reviews and audits stay clean if people leave the team.
  • On GitLab, scope the Project Access Token to the minimum role (Developer) and rotate it periodically.
  • The opened PR/MR is reviewed by a human — keep that step in your branch protection rules so artifact changes don’t auto-merge.

Troubleshooting

Either no artifacts changed (check the logs for No artifact changes), or the job lacked write permissions. On GitHub, verify the permissions: block includes contents: write and pull-requests: write. On GitLab, verify the Project Access Token has write_repository and api scopes and a role of at least Developer.
The API key is missing, mistyped, or revoked. Regenerate it from your Packmind profile and update the PACKMIND_API_KEY_V3 secret. Make sure the variable name matches exactly — including the _V3 suffix.
The packmind-cli-update branch may have been edited manually, or merged into the default branch without closing the PR. Close the existing PR/MR, delete the packmind-cli-update branch, and re-run the job — it will recreate the branch from your default branch.
The GitHub example pins ref: main in the checkout step. Replace it with the name of your default branch. On GitLab, CI_DEFAULT_BRANCH is auto-detected, so no change is needed.