Skip to content

feature/Scaffold-method-app · L-260916-c985a3 — scaffold drives create - #25

Merged
lchoquel merged 4 commits into
devfrom
feature/Scaffold-method-app
Sep 16, 2026
Merged

lchoquel merged 4 commits into
devfrom
feature/Scaffold-method-app

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 16, 2026

Copy link
Copy Markdown
Member

/pipelex-scaffold's TypeScript branch now makes a web app around a method from the demo-free method app: it copies webapp-js/ out of pipelex-method-apps, commits it once, runs the template's own make create with the user's method, and ends with the dev server running on loopback and its URL first in the report. The server is started only from a copy whose dev script binds loopback, and the start command stops it if it listens anywhere else or has not opened its port by the end of the wait. The gallery is acquired only when the user names it, and /pipelex-integrate runs a project's bundle arm of make add-method when it has one.

Closes L-260916-c985a3
Advances L-260916-0d976b

🤖 Generated with Claude Code

https://claude.ai/code/session_01KomWwDpdmE7BYxyXLR5sjY


Summary by cubic

/pipelex-scaffold's TypeScript branch now scaffolds a running web app around the user's method from pipelex-method-apps' webapp-js/ instead of defaulting to the starter: it copies the template, commits it once, runs the template's own make create, and reports the dev server's loopback URL first. The server is started only from a copy whose dev script binds loopback, and the start command stops it if it listens anywhere else or hasn't opened its port by the end of the wait. The starter gallery is now acquired only when the user names it, and /pipelex-integrate runs a project's bundle arm of make add-method when it has one.

Closes L-260916-c985a3, advances L-260916-0d976b.

Written for commit 1c94382. Summary will update on new commits.

Review in cubic

lchoquel and others added 4 commits September 16, 2026 21:46
/pipelex-scaffold's TypeScript branch now copies webapp-js/ out of a
shallow clone of pipelex-method-apps, commits it once, runs the
template's own make create with the user's method, starts the dev
server on a free port and reports its URL first once one request has
proven the page answers. The pipelex-starter-js gallery is acquired
only when named. The skill's env-file step applies to the starters
alone, since the gesture writes .env.local itself.

/pipelex-integrate runs a project's bundle arm when its make
add-method takes a bundle path. The copy-out chain is executed against
a stand-in family repository, and the create and dev-server blocks in
every POSIX shell on the machine, which caught a status=$? that zsh
refuses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KomWwDpdmE7BYxyXLR5sjY
… copy its own

The dev server the method-app path starts ran Server Actions that spend the
developer's key for anyone on the network: `next dev` listens on every
interface. The skill now starts it with APP_HOST=127.0.0.1, reads back where
it listens with lsof, and stops it and reports no URL when it listens
anywhere else. The restart command keeps the chosen port and host, a retry
stops the server the skill started instead of moving to the next port, lsof
joins the prerequisites, and the page check is capped in total.

The fresh-clone shortcut makes the copy a repository of its own before
reading HEAD or origin, so a copy made without git, or one inside another
repository, is committed where it stands. Placeholders are substituted as
one shell word. The reference's pristine commit is a block of its own, and
the wording no longer claims a refusal or a dry run writes nothing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KomWwDpdmE7BYxyXLR5sjY
…the template for a copy

`next dev` opens its port before the first page compiles and takes its host
only from its command line, so checking the listener after the page request
left the method's key-spending Server Actions on the network for minutes.
The skill now refuses a copy whose package.json dev script names no loopback
host, and its start command waits for the port, stops a listener of the
project's that is bound beyond loopback before any request, leaves a holder
that is not the project alone, and reports a server that never started as
such. The stop command is a no-op on an empty port instead of a bare kill.

The fresh-clone shortcut initialized a repository before reading origin, so
run from pipelex-method-apps/webapp-js it hid the family's origin and let
make create rewrite the template's tracked files. It now reads the origin of
whichever repository holds the directory, refuses a directory another
repository tracks, and initializes only an untracked copy.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KomWwDpdmE7BYxyXLR5sjY
…ts own server in any letter case

When the port has not opened by the end of the wait, the start block now stops the process it launched and every process under it, suspending each before its children, instead of exiting and leaving a server to open the port later unchecked while the retry starts a second one. The project's directory is resolved by the external pwd, because the pwd built into bash and sh keeps the typed letter case while lsof reports the disk's, which made the project's own server read as a stranger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KomWwDpdmE7BYxyXLR5sjY
@lchoquel
lchoquel merged commit ec35515 into dev Sep 16, 2026
2 checks passed
@lchoquel
lchoquel deleted the feature/Scaffold-method-app branch September 16, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant