Skip to content

chore(dev): Add dev experience tooling and add test harness - #423

Open
CafeLungo wants to merge 2 commits into
LogicLabs-OU:mainfrom
CafeLungo:dx/devcontainer-and-test-harness
Open

chore(dev): Add dev experience tooling and add test harness#423
CafeLungo wants to merge 2 commits into
LogicLabs-OU:mainfrom
CafeLungo:dx/devcontainer-and-test-harness

Conversation

@CafeLungo

Copy link
Copy Markdown
  • Add a devcontainer to avoid local tooling install
  • Add docker compose build context so the app container can be rebuilt with local dev changes
  • Add AGENTS.md to support smooth agent development

Add a Compose-based devcontainer that layers a Node 22 + pnpm `dev`
service on top of the existing backing services (postgres, valkey,
meilisearch, tika) from the root docker-compose.yml, sharing the
open-archiver-net network so the app runs from source and reaches the
services by name. The prebuilt production `open-archiver` container is
not started (runServices). post-create.sh pins pnpm 10.13.1, seeds .env
if missing, installs deps, and builds @open-archiver/types.

Also:
- docker-compose.yml: give the open-archiver service both `image` and
  `build` (same tag) so it can be pulled or built from local source.
- AGENTS.md: how to develop in the devcontainer.
- .gitignore: repo-local .pnpm-store (pnpm's cross-device hardlink
  fallback under the bind mount).
The repo currently ships no test tooling. Add vitest (dev dependency +
`test`/`test:watch` scripts), a config that runs pure Node unit tests from
`src/**/*.{test,spec}.ts` without requiring the live Postgres/Valkey/Meili/
Tika services, and a setup file. `tsconfig.json` excludes spec/test files
from the production `tsc` build. Includes one example smoke test so `pnpm
--filter @open-archiver/backend test` is green out of the box.
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@CafeLungo

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

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