Conversation
Reapplies work lost during the merge to main: PM2 ecosystem config, server:* scripts, systemd service installer, lefthook restart hook, ADR 0030, and Tailscale/LAN CSP + allowedHosts fixes for the playground. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
Fallow audit reportFound 3 findings. Details
Generated by fallow. |
Contributor
Fallow audit report0 inline findings selected for GitHub review. |
Both websites/alistigo and websites/storybook are missing their source files (package.json, astro.config.ts, .storybook/main.ts) — they were never committed to git. The processes crash immediately with ERR_PNPM_RECURSIVE_EXEC_NO_PACKAGE. Remove them from the ecosystem config to stop the restart loop; add them back once the websites/ work is committed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Recreates the alistigo documentation website from built dist artifacts. Content recovered: home hero, platform overview, architecture constraints, layer diagram, ADR index, and playground page. Adds ADR 0029 documenting the Astro Starlight decision. Adds website process back to PM2 ecosystem config and registers websites/* in pnpm workspace. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Astro/MDX files are not analyzable by fallow. Add websites/ dirs to ignorePatterns and astro/starlight/sharp to ignoreDependencies. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mirrors the vite.config.ts allowedHosts pattern so the Astro dev server accepts Tailscale/LAN requests via os.hostname() and .local. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e global instance at websites/storybook - Create websites/storybook with dynamic story discovery using globSync across all apps/* and packages/* — title prefix auto-derived from package name - Remove .storybook/ dirs and storybook devDeps from 6 packages/apps - Remove storybook/build-storybook Nx targets from all 6 project.json files - Fix story titles in artifact-list-checkbox-plugin and artifact-user-plugin to drop the package-name prefix (now injected via global titlePrefix) - Add storybook process to PM2 ecosystem config (port 6006, allowedHosts via viteFinal) - Add storybook/glob to .fallowrc.json ignoreDependencies Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…stories to dynamicallyLoaded
Keep @storybook/react-vite in packages' devDeps for type declarations
while the storybook CLI remains consolidated in websites/storybook.
Add *.stories.{ts,tsx} to fallow dynamicallyLoaded so story files are
treated as valid entry points. Add react/react-dom to ignoreDependencies
since websites/storybook needs them as peer deps but .storybook/ is excluded
from fallow analysis.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace per-package CSS imports with a conditional global decorator in preview.tsx that wraps playground stories in a #host-root div with height: 100vh, restoring the host.css height cascade without bleeding overflow:hidden into other packages' stories. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| "@types/react": "^19.2.14", | ||
| "@types/react-dom": "^19.2.3", | ||
| "@vitejs/plugin-react": "^4.3.4", | ||
| "glob": "^11.0.0", |
Contributor
There was a problem hiding this comment.
warn fallow/unused-dev-dependency: Package 'glob' is in devDependencies but never imported
os.hostname() is fragile — it can return an FQDN that doesn't match the hostname the browser connects to. Switching to true allows any host, which is appropriate for a private dev server. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sform Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…d packages globals.css only scanned list-components-react files via its @source directive, so playground utility classes were never emitted. A dedicated preview.css extends the scope to apps/** and packages/**. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
websites/alistigo/Astro 5 + Starlight documentation site (recovered from built artifacts)allowedHoststo Astro config and Vite config usingos.hostname()for Tailscale/LAN access (thinkpad,thinkpad.local)websites/storybook/websites/alistigoandwebsites/storybookto PM2 ecosystem config (ports 4321 and 6006)Details
Astro website (
websites/alistigo)package.json,astro.config.ts,tsconfig.json,project.jsonpnpm-workspace.yamland PM2 as thewebsiteprocessGlobal Storybook (
websites/storybook)package.jsonwith storybook deps;storybookCLI only lives here — not in individual packages.storybook/main.ts: dynamically discovers allapps/*/srcandpackages/*/srcthat contain*.stories.@(ts|tsx)usingglobSync; auto-derivestitlePrefixfrom each package name.storybook/preview.ts: global preview importinglist-components-reactbase CSSviteFinal: adds tailwindcss + lingui plugins; setsallowedHostsfor Tailscale accessstorybookprocess (port 6006)Per-package storybook removal
.storybook/dirs from 6 packages/appsstorybookCLI devDep from all 6 (kept@storybook/react-vitefor type declarations)storybook/build-storybookNx targets from all 6project.jsonfilesartifact-list-checkbox-pluginandartifact-user-pluginto remove the package-name prefix (now injected by globaltitlePrefix)Fallow/QA
*.stories.{ts,tsx}todynamicallyLoaded(story files are discovered by Storybook at runtime)react,react-dom,storybook,@storybook/react-vitetoignoreDependencieswebsites/storybooktoignorePatternsTest plan
pnpm server:kill-all && pnpm server:start:dev→ 3 processes online (playground, website, storybook)localhost:4321→ Astro Starlight site respondslocalhost:6006→ Storybook shows all stories grouped by package namelocalhost:5173→ Playground respondsthinkpad:4321,thinkpad:5173,thinkpad:6006all respondpnpm build:typecheckpassespnpm qa:auditpasses🤖 Generated with Claude Code