Benjamin FoskeyLETTERS FROM THE GROVE
Music
PERSONAL SYSTEMS

Weekly Command Center

A portable macOS launcher. Customize the script, then start your weekly routine in one click.

Download the applet + scripts

README.md

# Weekly Command Center

A small, portable macOS launcher for your weekly planning stack. Double-click the
applet to run your own planning script. No subscription, dependencies, or startup
screen. Successful launches are silent; missing scripts and script failures show
a clear dialog.

This is a launcher template, not the author's personal planning dashboard. The
included launch script is intentionally a no-op until you add your own logic.

## Folder layout

```text
Weekly-Command-Center/
├── Weekly Command Center.app/
├── Weekly Command Center.applescript
├── scripts/
│   ├── launch.sh
│   └── grocery.sh
├── README.md
├── WORKSHOP.html
└── LICENSE
```

## Install

1. Unzip the entire folder anywhere on your Mac. Keep `scripts` beside the `.app`.
2. Edit `scripts/launch.sh` in a text editor and add your weekly planning steps.
3. Double-click `Weekly Command Center.app`. Moving the whole folder is safe;
   moving just the app requires bundling the scripts or setting the override below.

macOS may ask you to authorize an unsigned downloaded app. Use Finder's Open
action or the explicit Open Anyway control in Privacy & Security if offered.
Do not disable Gatekeeper globally. You can also compile the reviewed source on
your own Mac using Apple's included tools.

## Compile from source

In Terminal, change into this folder and run:

```sh
chmod +x scripts/launch.sh scripts/grocery.sh
osacompile -o 'Weekly Command Center.app' 'Weekly Command Center.applescript'
```

Or open the `.applescript` in Script Editor, choose File → Export, select
Application, and leave both **Stay open after run handler** and **Show startup
screen** unchecked. To distribute one self-contained app, copy `scripts/` into
`Weekly Command Center.app/Contents/Resources/` after compilation.

## Use a different launch script

Resolution order:

1. `WCC_LAUNCH_SCRIPT` in the app's environment, or the GUI login-session value.
2. `scripts/launch.sh` beside the app.
3. `Contents/Resources/scripts/launch.sh` inside the app bundle.

The override must point to a readable file; an invalid override shows an error
instead of silently running a different script. Paths containing spaces or
apostrophes are supported. Use a fully expanded path, not a literal `~`.

For Finder launches:

```sh
launchctl setenv WCC_LAUNCH_SCRIPT "$HOME/my-planning/scripts/launch.sh"
```

Quit the app before opening it again. This setting is for the current login
session; it is not a permanent system setting. Remove the override with:

```sh
launchctl unsetenv WCC_LAUNCH_SCRIPT
```

For a direct Terminal source run:

```sh
WCC_LAUNCH_SCRIPT="$HOME/my-planning/scripts/launch.sh" \
  osascript 'Weekly Command Center.applescript'
```

An `export` in Terminal alone does not change Finder's environment. Finder also
has a minimal PATH: use full executable paths or set PATH in your custom script
for tools you install separately.

## Customize and connect

Put your steps in the marked section of `scripts/launch.sh`. It uses
`set -euo pipefail` and resolves its own directory, so the caller's working
directory does not matter. Start persistent services in the background with
their output redirected, and check readiness before returning. A nonzero script
exit is displayed by the applet; the applet cannot detect failures in detached
jobs after the launch script exits.

The optional `scripts/grocery.sh` is an empty integration hook. Enable it by
setting `WCC_RUN_GROCERY=1` in your environment or inside `launch.sh`. Future
grocery lists or family automations can use this hook; none are implemented or
connected by this template.

## Share

Zip the whole folder with the app and scripts together. Source is included so
recipients can inspect and recompile it. A broadly distributed signed app would
need your own Apple Developer signing identity and notarization; this package
is unsigned. macOS only. Free to use and modify under the MIT license.

Weekly Command Center.applescript

-- Compile with: osacompile -o "Weekly Command Center.app" "Weekly Command Center.applescript"
on run
    set launchScript to ""
    try
        set launchScript to system attribute "WCC_LAUNCH_SCRIPT"
        -- Finder apps do not inherit exports from a Terminal window.
        if launchScript is "" then set launchScript to do shell script "/bin/launchctl getenv WCC_LAUNCH_SCRIPT || true"
        if launchScript is "" then
            set appPath to POSIX path of (path to me)
            set siblingScript to do shell script "/usr/bin/dirname " & quoted form of appPath
            set siblingScript to siblingScript & "/scripts/launch.sh"
            set bundledScript to appPath & "Contents/Resources/scripts/launch.sh"
            if my readableFile(siblingScript) then
                set launchScript to siblingScript
            else if my readableFile(bundledScript) then
                set launchScript to bundledScript
            else
                error "Cannot find scripts/launch.sh. Keep the scripts folder beside Weekly Command Center.app, or set WCC_LAUNCH_SCRIPT to your launch script."
            end if
        end if
        if not my readableFile(launchScript) then error "The launch script is missing or unreadable: " & launchScript
        -- Successful launches are silent. The script should start long-lived jobs in the background.
        do shell script "/bin/zsh " & quoted form of launchScript
    on error messageText
        display dialog messageText with title "Weekly Command Center" buttons {"OK"} default button "OK" with icon caution
    end try
end run

on readableFile(filePath)
    try
        do shell script "/bin/test -f " & quoted form of filePath & " && /bin/test -r " & quoted form of filePath
        return true
    on error
        return false
    end try
end readableFile

scripts/launch.sh

#!/bin/zsh
set -euo pipefail

# Resolve from this file, never from the caller's working directory.
SCRIPT_DIR="$(cd -- "$(dirname -- "$0")" && pwd -P)"
PROJECT_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd -P)"
cd -- "$PROJECT_DIR"

# YOUR WEEKLY PLANNING LOGIC GOES HERE.
# Example: /usr/bin/open 'https://your-planner.example'
# If starting a persistent service, start it in the background, redirect its
# output to a log, and wait for readiness before returning from this script.
# This template intentionally does nothing until you customize it.

# Optional connector hook. Enable explicitly; no groceries are ordered.
if [[ "${WCC_RUN_GROCERY:-0}" == "1" ]]; then
  /bin/zsh "$SCRIPT_DIR/grocery.sh"
fi

scripts/grocery.sh

#!/bin/zsh
set -euo pipefail

# Optional grocery-list connector hook. Add your own list export or integration.
# This example has no network calls, credentials, purchases, or other side effects.
:

LICENSE

MIT License

Copyright (c) 2026 Benjamin Foskey

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

WORKSHOP.html

<!-- Replace these two relative placeholder destinations when publishing. -->
<article class="workshop-feature operating-feature" id="weekly-command-center">
  <div class="workshop-feature-copy">
    <span class="eyebrow">04 / PERSONAL SYSTEMS</span>
    <h2>Weekly Command Center</h2>
    <p class="workshop-subtitle">ONE CLICK. A WEEK WITH INTENTION.</p>
    <p>A small macOS launcher for a weekly planning stack. Keep the app and scripts together, make the routine your own, and start it with one click.</p>
    <p>Portable source, clear instructions, and a simple hook for future grocery lists and family automations. No account or subscription required.</p>
    <a class="button" href="/downloads/weekly-command-center.zip">Download the applet + scripts</a>
    <a class="project-text-link" href="/projects/weekly-command-center/">View source / instructions</a>
    <p class="workshop-small">macOS · Free to use · Editable launch template</p>
  </div>
</article>

Back to the Workshop

Open full image