chore: iios workspace skeleton (pnpm workspace, configs, postgres:5434)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-30 20:56:36 +05:30
commit c00d038df2
7 changed files with 120 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
# iios-service
PORT=3200
DATABASE_URL="postgresql://iios:iios@localhost:5434/iios?schema=public"
# Agent/session signing (reused AppTokenVerifier pattern)
JWT_SECRET="dev-only-change-me"
# Per-app HS256 secrets, JSON map keyed by appId (the `session` platform port)
APP_SECRETS={"portal-demo":"dev-secret"}
+7
View File
@@ -0,0 +1,7 @@
node_modules/
dist/
*.log
.env
.DS_Store
# Prisma generated client
packages/*/src/generated/
+20
View File
@@ -0,0 +1,20 @@
services:
postgres:
image: pgvector/pgvector:pg16
container_name: iios-db
environment:
POSTGRES_USER: iios
POSTGRES_PASSWORD: iios
POSTGRES_DB: iios
ports:
- "5434:5432"
volumes:
- iios_postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U iios"]
interval: 5s
timeout: 5s
retries: 10
volumes:
iios_postgres_data:
+25
View File
@@ -0,0 +1,25 @@
{
"name": "iios",
"version": "0.0.0",
"private": true,
"description": "Insignia Interaction OS — interaction kernel (P0 + P1)",
"scripts": {
"build": "pnpm -r build",
"typecheck": "pnpm -r typecheck",
"test": "pnpm -r test",
"lint": "eslint .",
"boundary": "node scripts/check-import-boundary.mjs"
},
"devDependencies": {
"@types/node": "^26.0.1",
"typescript": "^5.7.3"
},
"pnpm": {
"onlyBuiltDependencies": [
"@prisma/client",
"@prisma/engines",
"prisma",
"esbuild"
]
}
}
+39
View File
@@ -0,0 +1,39 @@
lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
.:
devDependencies:
'@types/node':
specifier: ^26.0.1
version: 26.0.1
typescript:
specifier: ^5.7.3
version: 5.9.3
packages:
'@types/node@26.0.1':
resolution: {integrity: sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==}
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
undici-types@8.3.0:
resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==}
snapshots:
'@types/node@26.0.1':
dependencies:
undici-types: 8.3.0
typescript@5.9.3: {}
undici-types@8.3.0: {}
+2
View File
@@ -0,0 +1,2 @@
packages:
- "packages/*"
+19
View File
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "ES2022",
"moduleResolution": "node",
"lib": ["ES2022"],
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"strict": true,
"strictNullChecks": true,
"noImplicitAny": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"sourceMap": true
}
}