Skip to content

Commit c58f16a

Browse files
committed
Neutralize references to the app, its repo, and pricing in public files
1 parent 180d5e1 commit c58f16a

4 files changed

Lines changed: 20 additions & 22 deletions

File tree

.github/workflows/cli.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ jobs:
2323
2424
- name: Guard against committing private / generated files
2525
run: |
26-
# Fail if anything machine-specific, generated, or paid ever gets tracked.
26+
# Fail if anything machine-specific, generated, or non-public ever gets tracked.
2727
# .gitignore stops accidental `git add`; this catches a file already committed.
2828
forbidden=$(git ls-files | grep -E '(^|/)apps\.json$|^pids/|^logs/|^Caddyfile$|^dashboard\.html$|^\.claude/|(^|/)\.DS_Store$' || true)
29-
# The paid Mac app lives in the private devkit-app repo; only MenuBarApp/docs/ is public.
30-
paid=$(git ls-files 'MenuBarApp/*' | grep -vE '^MenuBarApp/docs/' || true)
31-
if [ -n "$forbidden$paid" ]; then
29+
# Only MenuBarApp/docs/ (the landing page) is public; app source is not part of this repo.
30+
appsrc=$(git ls-files 'MenuBarApp/*' | grep -vE '^MenuBarApp/docs/' || true)
31+
if [ -n "$forbidden$appsrc" ]; then
3232
echo "::error::forbidden files are tracked in this public repo:"
33-
printf '%s\n' "$forbidden" "$paid"
33+
printf '%s\n' "$forbidden" "$appsrc"
3434
exit 1
3535
fi
3636
echo "repo hygiene OK"

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ jobs:
5757
run: |
5858
git clone "https://x-access-token:${GH_TOKEN}@github.com/djadmin/homebrew-tap.git"
5959
cd homebrew-tap
60-
# Update only the CLI formula (devkit.rb); the app cask lives in Casks/ and is
61-
# released from the devkit-app repo.
60+
# Update only the CLI formula (devkit.rb). The cask in Casks/ is released by its
61+
# own repo's workflow, not here.
6262
sed -i "s|^ url \".*\"| url \"$URL\"|" devkit.rb
6363
sed -i "s|^ sha256 \".*\"| sha256 \"$SHA256\"|" devkit.rb
6464
sed -i "s|^ version \".*\"| version \"$VERSION\"|" devkit.rb

.gitignore

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,16 @@ logs/
1212
# macOS
1313
.DS_Store
1414

15-
# PAID Mac app source — lives in the private devkit-app repo, NEVER in this public repo.
16-
# Blanket-ignore everything under MenuBarApp so a stray `git add .` (or a newly named
17-
# source file/dir) can't re-leak the paid product. The ONLY exception is docs/, the
18-
# public landing page served at djadmin.github.io/devkit via the Pages workflow.
15+
# App source is maintained in a separate repo and is not part of this CLI. Blanket-ignore
16+
# everything under MenuBarApp so a stray `git add .` (or a newly named file/dir) can't add
17+
# it. The only public exception is docs/, the landing page served via the Pages workflow.
1918
MenuBarApp/*
2019
!MenuBarApp/docs/
2120

2221
# local Claude settings (machine-specific paths, gh allow-rules)
2322
.claude/settings.local.json
2423

25-
# internal planning — lives in devkit-internal repo
24+
# internal planning — kept out of this public repo
2625
LAUNCH.md
2726
RELEASE_PLAN.md
2827
IDEAS.md

CLAUDE.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,10 @@ asserts a stray `~/devkit` is ignored, not adopted).
3535
The live registry is `apps.json`, which is local-only and gitignored.
3636
The committed example registry is `apps.example.json`.
3737

38-
## Consumer contract (the Mac app + MCP build on this)
38+
## Machine-readable contract
3939

40-
The CLI is the single brain; the menu bar app and the MCP server are thin clients that
41-
shell out to it and parse its output. Treat these as a stable public contract — other
42-
programs depend on them, so do not break them casually:
40+
The CLI is the single source of truth. Other tools may shell out to it and parse its
41+
output, so treat these as a stable public contract and do not break them casually:
4342

4443
- `devkit list --json` — one JSON object per app (`name`, `port`, `hostname`, `state`,
4544
`path`, `managedBy`, and the failed-start reason / log path). This is how clients read
@@ -50,11 +49,11 @@ programs depend on them, so do not break them casually:
5049
- `devkit scan --json`, `devkit doctor --json` — machine-readable, same spirit.
5150
- **Exit codes matter**: 0 = success, non-zero = failure (clients branch on this).
5251
- **Every command must terminate** non-interactively (no `tail -f`-style hangs) — an agent
53-
or the app may invoke any of them.
52+
or a script may invoke any of them.
5453

5554
Versioning: additive changes (new fields/commands) are a minor bump; renaming/removing a
56-
field or changing `state` values is a breaking change — bump major and update the app/MCP
57-
in lockstep. Keeping this contract stable is what lets the three surfaces stay in sync.
55+
field or changing `state` values is a breaking change — bump major. Keeping this contract
56+
stable is what lets any consumer stay in sync.
5857

5958
## Generated files
6059

@@ -70,14 +69,14 @@ They are regenerated by `devkit reload`.
7069
This repo is **public**. Avoid baking machine-specific paths, usernames, or private
7170
project names into committed files.
7271

73-
**Never commit (privacy / paid product):**
72+
**Never commit (privacy / non-public source):**
7473

7574
- `apps.json` — the live registry; it contains your real project names and paths. Only the
7675
sanitized `apps.example.json` is tracked.
7776
- `pids/`, `logs/`, `Caddyfile`, `dashboard.html` — runtime + generated, machine-specific.
7877
- `.claude/settings.local.json` (local paths / allow-rules) and `.claude/` generally.
79-
- Anything under `MenuBarApp/` except `MenuBarApp/docs/`the Mac app is the **paid**
80-
product and lives in the private `devkit-app` repo. Never let its source land here.
78+
- Anything under `MenuBarApp/` except `MenuBarApp/docs/`that source is maintained in a
79+
separate repo and is not part of this CLI. Only the `docs/` landing page is public here.
8180

8281
These are all in `.gitignore`, but `.gitignore` only stops accidental `git add` — it does
8382
not catch a file that is already tracked. The `cli.yml` workflow has a **repo-hygiene

0 commit comments

Comments
 (0)