How-to

Using the
admin panel

Add local projects, set Jira rules, copy config files. The admin is an editor — it does not install Seal into your repos by itself.

Open admin panel → Full setup guide

Open locally — the panel is a file on your PC, not a live website (until you deploy to Netlify):
D:\BertaSeal\website\admin.html
Double-click it, or run: npx serve D:\BertaSeal\website -p 8765 then open http://localhost:8765/admin.html

Admin does

  • Build programmes.json (which folders = which Jira project)
  • Build policies.json (always / ask / never for Jira)
  • Copy JSON or CLI commands to clipboard

Admin does not

  • Save files to your PC automatically
  • Run seal init in your repos
  • Create Jira projects in Atlassian
  • Start Orchestra (npm run dev)

Quick start

Add a new local project (5 minutes)

  1. Open admin.html

    File → D:\BertaSeal\website\admin.html in your browser.

  2. Add a row (or click + Add programme)

    Fill in the table at the bottom of the page:

    ColumnExample (Parental)Meaning
    Programme IDparentalShort id — used in CLI (--programme parental). Lowercase, no spaces.
    LabelParental ControlHuman name shown in delivery cards.
    PathD:/Rondaninidotcom/ParentalFull folder path. Use forward slashes. Must match where you open Cursor.
    JiraparentalJira Berta project id — not the ticket prefix. Usually same as Programme ID. Maps to ORCH, INDIE, PARENTAL, etc. in Jira Cloud.
    PolicyaskEmpty = inherit global. always = auto tickets. never = no Jira.
  3. Click “Copy programmes.json”

    JSON is copied to your clipboard. Save it here:

    C:\Users\YOURNAME\.berta-seal\programmes.json

    In PowerShell: notepad $env:USERPROFILE\.berta-seal\programmes.json → paste → save.

  4. Install Seal rule in that repo (required)

    node D:\BertaSeal\product\bin\seal.mjs init --target D:\Rondaninidotcom\Parental

    Creates .cursor/rules/seal.mdc so Cursor agents follow Seal workflow.

  5. If Jira project is brand new — register + create in Cloud

    Add an entry to D:\mix\jira-berta\projects.json (same id + localPath), then:

    node D:\mix\jira-berta\bin\jira-berta.mjs bootstrap --create --only parental

    Skip this if the project already exists in Jira Berta (e.g. orchestra, indie).

  6. Verify

    cd D:\Rondaninidotcom\Parental
    node D:\BertaSeal\product\bin\seal.mjs health

    Must show your programme name — not Cwd programme: (none).

    If you see (none), the Path in admin does not match your current folder.

Existing config

Edit projects you already have

  1. Load your current file

    Open %USERPROFILE%\.berta-seal\programmes.json in Notepad, copy all, paste into the Paste programmes.json box in admin.

  2. Click “Load programmes → policy table”

    All rows appear in the table. Edit paths, add rows, or change policies.

  3. Click “Copy programmes.json” again

    Paste back into the same file and save. Run seal init --target only for new folders.

Policies

Jira: always / ask / never

Separate from programmes — controls whether agents open Jira tickets without asking.

SettingWhen to use
ask (default)Agent asks before every seal open / seal done
alwaysPower users — tickets open/close automatically
neverScratch folders — work without Jira

After editing: click Copy policies.json → save to %USERPROFILE%\.berta-seal\policies.json

Or click Copy CLI commands and run them in PowerShell instead of editing JSON.

Confused?

Common mistakes

What you seeFix
seal.berta.one/admin → 404Use local file D:\BertaSeal\website\admin.html
Cwd programme: (none)Path in admin ≠ folder you're in. Fix Path, save programmes.json.
Ticket goes to ORCH instead of your projectProgramme not registered — Seal fell back to Orchestra.
Jira project doesn't existRun bootstrap --create --only <id> in jira-berta.
Copied JSON but nothing changedYou must save to .berta-seal\programmes.json — admin only copies to clipboard.
Policy keeps askingUse --force once, or seal policy remember --programme <id> always

Example

Parental Control (worked setup)

Programme ID:  parental
Label:         Parental Control
Path:          D:/Rondaninidotcom/Parental
Jira:          parental          → tickets like PARENTAL-2
Policy:        ask

Then:
  seal init --target D:\Rondaninidotcom\Parental
  jira-berta bootstrap --create --only parental
  cd D:\Rondaninidotcom\Parental && seal health
Open admin panel