import assert from 'node:assert/strict'; import { access, readFile } from 'node:fs/promises'; import { resolve } from 'node:path'; const root = resolve(import.meta.dirname, '..'); const requiredPaths = [ '.node-version', '.nvmrc', 'AGENTS.md', '.env.example', '.editorconfig', 'package.json', 'apps/client/package.json', 'docs/adr', 'docs/architecture', 'infra', 'packages', 'scripts/dev.mjs', 'scripts/bootstrap-macos.sh', ]; await Promise.all(requiredPaths.map((path) => access(resolve(root, path)))); const rootPackage = JSON.parse(await readFile(resolve(root, 'package.json'), 'utf8')); const clientPackage = JSON.parse( await readFile(resolve(root, 'apps/client/package.json'), 'utf8'), ); assert.equal(rootPackage.private, true, 'the monorepo must remain private'); assert.equal(rootPackage.name, '@botsu/suite'); assert.deepEqual(rootPackage.workspaces, ['apps/*', 'packages/*']); assert.equal(clientPackage.name, 'cinny'); assert.equal(clientPackage.version, '4.12.6'); console.log('BOTSU workspace structure: OK');