What happened?
After installing via brew install tddworks/tap/asccli, running asc web-server --port 8420 starts the Node.js server successfully, but all web app routes (/command-center/, /console/) return 404.
The server extracts only server.js to a temp directory (e.g., /private/var/folders/.../T/asc-web-server/server.js), but the web app static files (command-center/, console/, shared/) are not extracted alongside it. The server.js file expects these directories to exist in __dirname (line 34: const APPS_DIR = __dirname), but they're missing.
Workaround: Sparse-clone the web app files from GitHub and symlink them into the temp directory:
git clone --depth 1 --filter=blob:none --sparse https://github.com/tddworks/asc-cli.git ~/.asc/web
git -C ~/.asc/web sparse-checkout set apps/asc-web
TEMP_DIR=$(find /private/var/folders /tmp -name "server.js" -path "*/asc-web-server/*" -exec dirname {} \; 2>/dev/null | head -1)
ln -sf ~/.asc/web/apps/asc-web/command-center "$TEMP_DIR/command-center"
ln -sf ~/.asc/web/apps/asc-web/console "$TEMP_DIR/console"
ln -sf ~/.asc/web/apps/asc-web/shared "$TEMP_DIR/shared"
After symlinking, all routes serve correctly.
What did you expect?
asc web-server should serve the Command Center and Console web apps out of the box after a Homebrew install, without needing to clone files separately.
Steps to reproduce
brew install tddworks/tap/asccli
asc web-server --port 8420 &
sleep 3
curl -s -o /dev/null -w "%{http_code}" http://localhost:8420/command-center/
# Returns: 404
Environment
- asc version: 0.1.56
- macOS version: 15.x (Apple Silicon)
- Install method: brew (
brew install tddworks/tap/asccli)
- Node.js: v25.6.0
The issue appears to be in the Swift EmbedServerJS plugin — it embeds server.js but not the sibling web app directories (command-center/, console/, shared/) into the binary. When building from source with swift run asc web-server, the files are likely resolved from the source tree, so this only affects the Homebrew distribution.
What happened?
After installing via
brew install tddworks/tap/asccli, runningasc web-server --port 8420starts the Node.js server successfully, but all web app routes (/command-center/,/console/) return 404.The server extracts only
server.jsto a temp directory (e.g.,/private/var/folders/.../T/asc-web-server/server.js), but the web app static files (command-center/,console/,shared/) are not extracted alongside it. Theserver.jsfile expects these directories to exist in__dirname(line 34:const APPS_DIR = __dirname), but they're missing.Workaround: Sparse-clone the web app files from GitHub and symlink them into the temp directory:
After symlinking, all routes serve correctly.
What did you expect?
asc web-servershould serve the Command Center and Console web apps out of the box after a Homebrew install, without needing to clone files separately.Steps to reproduce
Environment
brew install tddworks/tap/asccli)The issue appears to be in the Swift
EmbedServerJSplugin — it embedsserver.jsbut not the sibling web app directories (command-center/,console/,shared/) into the binary. When building from source withswift run asc web-server, the files are likely resolved from the source tree, so this only affects the Homebrew distribution.