google / google/capsem

Bootstrap does not install docs and marketing site dependencies

Open
#178 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
72
Forks
13
Avg merge
1d 2h
Merged PRs (30d)
5

Description

## Summary

A fresh `./bootstrap.sh` installs the `frontend/` pnpm dependencies, but does not install dependencies for `site/` or `docs/`. As a result, local marketing and documentation builds fail immediately after bootstrap even though both surfaces are part of the repository's CI gate.

## Reproduction

1. Start from a fresh checkout without `node_modules`.
2. Run `./bootstrap.sh --yes`.
3. Run either:

```sh
pnpm --dir site run build
pnpm --dir docs run build
```

## Actual result

The build fails because Astro is unavailable:

```text
sh: 1: astro: not found
Local package.json exists, but node_modules missing
```

`bootstrap.sh` and the doctor registration currently run only:

```sh
cd frontend && pnpm install --frozen-lockfile
```

The `just _pnpm-install` helper likewise installs only the frontend dependency tree.

## Expected result

A successful bootstrap prepares every locally built pnpm workspace used by the standard development and CI surfaces, including:

- `frontend/`
- `site/`
- `docs/`
- `release-site/` where required by the relevant local gate

After bootstrap, the documented site and docs build commands should run without an additional manual install.

## Context

The independent deployment workflows already install `site/` and `docs/` dependencies correctly, so public deployment is not blocked. This is a local bootstrap/parity gap.

## Acceptance criteria

- Bootstrap installs the locked dependencies needed by the marketing and docs builds.
- Re-running bootstrap remains idempotent and non-interactive under `--yes`.
- Setup documentation accurately lists all dependency trees bootstrap installs.
- Bootstrap/recipe contract tests cover `site/` and `docs/` dependency installation.

Contributor guide

Open the contributing guide

Research direction

Start with bootstrap.sh and the just _pnpm-install helper, then inspect the doctor registration and existing deployment workflows to compare dependency installation. Reproduce the missing Astro dependency after a fresh ./bootstrap.sh --yes. Done means bootstrap installs the required frontend, site, docs, and relevant release-site trees idempotently, with setup documentation and contract tests updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, shell
Domain
build-system, documentation, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.