Skip to content
Merged

Loop #96

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions .beads/issues.jsonl

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .beads/last-touched
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
developer-3us
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@fuww:registry=https://npm.pkg.github.com
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ WORKDIR /app
RUN apk add --no-cache python3 py3-setuptools make g++ vips-dev vips

FROM base AS deps
COPY package.json bun.lock ./
COPY package.json bun.lock .npmrc ./
RUN bun install --frozen-lockfile

FROM base AS prod-deps
COPY package.json bun.lock ./
COPY package.json bun.lock .npmrc ./
RUN bun install --frozen-lockfile --production && \
rm -rf /root/.bun/install/cache

Expand Down
4 changes: 3 additions & 1 deletion PROMPT_build.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
0a. Run `br ready --json --limit 1` to find the highest priority unblocked task.
0a. Run `br ready --json --limit 1 --type task` to find the highest priority unblocked task.
If no tasks are found, try `br ready --json --limit 1 --type bug` for bugs.
Never pick an epic directly — epics contain child tasks to work on instead.
0b. Run `br show <task-id>` to read the full specification.
0c. For reference, the application source code is in `src/*`.

Expand Down
8 changes: 2 additions & 6 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import fashionunitedTheme from '@fuww/starlight-plugin-theme';
import starlightLlmsTxt from 'starlight-llms-txt';
import starlightThemeNext from 'starlight-theme-next';
import tailwind from "@astrojs/tailwind";
Expand All @@ -23,20 +24,15 @@ export default defineConfig({
},
site: 'https://developer.fashionunited.com',
integrations: [starlight({
components: {
Head: "./src/components/starlight/Head.astro",
PageTitle: "./src/components/starlight/PageTitle.astro",
},
title: 'FashionUnited Docs',
customCss: ['./src/styles/custom.css', '@fontsource/ibm-plex-mono/400.css', '@fontsource/ibm-plex-mono/600.css', '@fontsource-variable/inter', '@fontsource-variable/lora'],
social: [
{
label: 'GitHub',
href: 'https://github.com/fuww/developer.fashionunited.com',
icon: 'github'
}
],
plugins: [starlightLlmsTxt({ rawContent: true }), starlightThemeNext()],
plugins: [fashionunitedTheme(), starlightLlmsTxt({ rawContent: true }), starlightThemeNext()],
head: [{
tag: "script",
attrs: {
Expand Down
10 changes: 3 additions & 7 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified bun.lockb
Binary file not shown.
26 changes: 13 additions & 13 deletions docs/PLAN_shared-starlight-theme.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ The `developer` and `about` repos are both Astro Starlight sites with the same F

## Options

### Option A: Shared npm package (`@fashionunited/starlight-theme`)
### Option A: Shared npm package (`@fuww/starlight-theme`)

Create a new repo (or a directory in the org workspace) that publishes an npm package containing:

```
@fashionunited/starlight-theme/
@fuww/starlight-theme/
tailwind.config.mjs # The base config (colors, fonts, gradients, plugins)
tailwind-preset.mjs # Tailwind preset (importable, mergeable)
styles/
Expand All @@ -58,7 +58,7 @@ Create a new repo (or a directory in the org workspace) that publishes an npm pa

```js
// tailwind.config.mjs
import { fuThemePreset } from '@fashionunited/starlight-theme/tailwind-preset';
import { fuThemePreset } from '@fuww/starlight-theme/tailwind-preset';
export default {
presets: [fuThemePreset],
// site-specific overrides here
Expand All @@ -67,7 +67,7 @@ export default {

```js
// astro.config.mjs
import { starlightConfig } from '@fashionunited/starlight-theme';
import { starlightConfig } from '@fuww/starlight-theme';
export default defineConfig({
integrations: [
starlight({
Expand Down Expand Up @@ -96,7 +96,7 @@ export default defineConfig({

Starlight has a [plugin API](https://starlight.astro.build/reference/plugins/) that can inject CSS, components, and configuration. This is what `starlight-theme-next` already does for you.

Create `@fashionunited/starlight-plugin-theme`:
Create `@fuww/starlight-plugin-theme`:

```ts
// index.ts
Expand All @@ -109,13 +109,13 @@ export default function fashionunitedTheme(): StarlightPlugin {
setup({ config, updateConfig, addIntegration }) {
updateConfig({
customCss: [
'@fashionunited/starlight-plugin-theme/styles/base.css',
'@fashionunited/starlight-plugin-theme/styles/globals.css',
'@fuww/starlight-plugin-theme/styles/base.css',
'@fuww/starlight-plugin-theme/styles/globals.css',
...config.customCss,
],
components: {
Head: '@fashionunited/starlight-plugin-theme/components/Head.astro',
PageTitle: '@fashionunited/starlight-plugin-theme/components/PageTitle.astro',
Head: '@fuww/starlight-plugin-theme/components/Head.astro',
PageTitle: '@fuww/starlight-plugin-theme/components/PageTitle.astro',
...config.components, // consumer overrides win
},
});
Expand All @@ -129,7 +129,7 @@ export default function fashionunitedTheme(): StarlightPlugin {

```js
// astro.config.mjs
import fashionunitedTheme from '@fashionunited/starlight-plugin-theme';
import fashionunitedTheme from '@fuww/starlight-plugin-theme';

starlight({
plugins: [fashionunitedTheme(), starlightLlmsTxt(), starlightThemeNext()],
Expand Down Expand Up @@ -196,7 +196,7 @@ The Tailwind preset can ship alongside the plugin as a separate export. The shad

### Phase 1: Extract shared theme (new package)

1. Create `@fashionunited/starlight-plugin-theme` repo (or `/theme` in the org workspace)
1. Create `@fuww/starlight-plugin-theme` repo (or `/theme` in the org workspace)
2. Move into it:
- `styles/base.css` — the shared ~55 lines from custom.css / tailwind.css (dark mode fix, hero gradient, site-title gradient, button gradients, sidebar active state)
- `styles/globals.css` — the shadcn CSS variable system (pick one source of truth, reconcile the HSL drift)
Expand All @@ -211,7 +211,7 @@ The Tailwind preset can ship alongside the plugin as a separate export. The shad

### Phase 2: Migrate developer site

1. `bun add @fashionunited/starlight-plugin-theme`
1. `bun add @fuww/starlight-plugin-theme`
2. Replace `tailwind.config.mjs` with preset import + site-specific overrides only
3. Replace `custom.css` with an import of the shared base (or let the plugin inject it)
4. Remove `globals.css`, `utils.ts`, `constants.ts`, `button.tsx`, `card.tsx`, `PageTitle.astro` (now from package)
Expand All @@ -220,7 +220,7 @@ The Tailwind preset can ship alongside the plugin as a separate export. The shad

### Phase 3: Migrate about site

1. `bun add @fashionunited/starlight-plugin-theme`
1. `bun add @fuww/starlight-plugin-theme`
2. Replace shared portions of `tailwind.config.mjs` with preset
3. Split `src/tailwind.css` — shared base moves to package, prompt system CSS stays local
4. Remove duplicated files
Expand Down
2 changes: 1 addition & 1 deletion loop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1300,7 +1300,7 @@ ${C_BOLD}OPTIONS${C_RESET}
--no-review Disable review phase after each iteration
--review-model M Review model for codex exec (default: gpt-5.3-codex)
--review-max-revisions N
Max revision attempts on REVISE (default: 3)
Max revision attempts on REVISE (default: 5)
-v, --verbose Verbose output
-h, --help Show this help

Expand Down
10 changes: 2 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,12 @@
"@astrojs/starlight": "^0.37.3",
"@astrojs/starlight-tailwind": "^3.0.1",
"@astrojs/tailwind": "^6.0.2",
"@fontsource-variable/inter": "^5.2.8",
"@fontsource-variable/lora": "^5.2.8",
"@fontsource/ibm-plex-mono": "^5.2.7",
"@fuww/starlight-plugin-theme": "github:fuww/starlight-plugin-theme#v0.1.0",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Regenerate Bun text lockfile after adding theme package

This adds @fuww/starlight-plugin-theme to dependencies, but the commit only updates bun.lockb and leaves bun.lock unchanged; meanwhile Dockerfile runs bun install --frozen-lockfile (lines 9 and 13), and bun install --help documents that this flag “Disallow[s] changes to lockfile.” In practice, CI/container builds will fail at install time because the package manifest now requires lockfile changes that frozen mode forbids, so bun.lock needs to be regenerated and committed with this dependency change.

Useful? React with 👍 / 👎.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claude fix

Copy link

@claude claude bot Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude finished @javdl's task in 1m 27s —— View job


Fixing lockfile issue

  • Gather context — confirmed bun.lock (text lockfile) is missing @fuww/starlight-plugin-theme; Dockerfile uses --frozen-lockfile which requires both lockfiles to be in sync
  • Run bun install to regenerate bun.lock text lockfile
  • Commit and push the updated lockfile

Note: The bun install command requires approval in the current permission mode. Please approve it so I can regenerate bun.lock, or run it locally:

bun install
git add bun.lock bun.lockb
git commit -m "fix: regenerate bun.lock text lockfile for @fuww/starlight-plugin-theme dependency"
git push origin loop

"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-slot": "^1.2.4",
"@types/react": "^18.3.7",
"@types/react-dom": "^18.3.0",
"astro": "^5.16.13",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^12.23.24",
"lucide-react": "^0.562.0",
"react": "^18.3.1",
Expand All @@ -37,15 +33,13 @@
"simplex-noise": "^4.0.3",
"starlight-llms-txt": "^0.6.1",
"starlight-theme-next": "^0.3.3",
"tailwind-merge": "^2.6.0",
"tailwindcss": "^3.4.19",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.9.3"
},
"devDependencies": {
"@playwright/test": "^1.57.0",
"@tailwindcss/typography": "^0.5.19",
"@types/node": "^20.14.11",
"astro-vtbot": "^2.1.10"
"@types/node": "^20.14.11"
}
}
4 changes: 0 additions & 4 deletions src/components/constants.ts

This file was deleted.

53 changes: 0 additions & 53 deletions src/components/starlight/Head.astro

This file was deleted.

Loading
Loading