AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기RiftView - Cloud Incident Diagnostic Layer
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The incident diagnostic layer your cloud doesn't have.
Your cloud console is organized by service silo. When something breaks, you open 4 tabs to answer one question: what else is connected to this? RiftView answers it in 30 seconds.README 전문 보기 ↗The incident diagnostic layer your cloud doesn't have.
Your cloud console is organized by service silo. When something breaks, you open 4 tabs to answer one question: what else is connected to this? RiftView answers it in 30 seconds.
The console is a service browser. It cannot show you cross-service relationships. It cannot tell you what breaks if a queue goes down. It cannot compare your live infra to your IaC. RiftView does all three — and the graph is always live, so you can trust the answers.
| Provider | Status | Auth |
|---|---|---|
| AWS | Shipping (v0.2.0) | ~/.aws/credentials, env vars, SSO |
| Hetzner | In progress | API token |
| Azure | Planned | — |
The scanner is provider-agnostic at the graph layer (see packages/cloud-scan/ and packages/shared/src/types/cloud.ts). New providers slot in as additional plugin packages.
~/.aws/credentials, environment variables, or an active SSO session.Coming soon. Plugin and provider profile in progress; this section will document the API-token flow when the integration ships.
Planned for a future release.
Electron 32 · React 19 · TypeScript · React Flow v12 · AWS SDK v3 · Tailwind CSS 4
The AWS SDK is the only provider SDK shipping today. Hetzner and Azure SDKs land alongside their respective plugin packages.
RiftView ships with a companion command-line tool, @riftview/cli, for running scans and drift checks from CI without the desktop app.
npm install -g @riftview/cli
riftview scan --profile prod
riftview drift --state terraform.tfstate --fail-on-drift
The --profile flag is AWS-shaped today; per-provider auth flags arrive alongside the matching scanner plugins.
See apps/cli/README.md for the full reference: command flags, JSON output schema, exit codes, and a GitHub Actions example.
This is a pnpm workspaces monorepo. Workspaces:
apps/desktop — the Electron app (private, not published)apps/cli — @riftview/cli (published to npm)packages/shared — platform-agnostic analysis, graph, drift, and scan primitives reused by both appspackages/cloud-scan — AWS SDK plugin registry and client factoryThe package manager is pinned via the packageManager field in
package.json. Install pnpm via the official guide
or Corepack (corepack enable) — pnpm install at the root sets up
every workspace.
RiftView's snapshot store uses better-sqlite3, a native module. On Apple Silicon Macs, Node must be arm64 or the Electron runtime will fail to load the native binary. If you installed Node via Intel Homebrew (/usr/local/bin/node), either switch to /opt/homebrew Node, use nvm, or run npx @electron/rebuild after pnpm install to rebuild native modules against Electron's arch.
# Install dependencies (pnpm — see packageManager field in package.json)
pnpm install
# One-time: install the pre-commit hook (prettier + eslint on staged files)
pnpm exec lefthook install
# Start dev server
pnpm run dev
# Run tests
pnpm test
# Typecheck
pnpm run typecheck
# Lint
pnpm run lint
For the LocalStack-backed CLI integration tests, see
apps/cli/tests/integration/README.md.
# macOS
pnpm run build:mac
# Windows
pnpm run build:win
# Linux
pnpm run build:linux
RiftView is an independent tool, not affiliated with, endorsed by, or sponsored by Amazon Web Services, Inc. or any other cloud provider. AWS, Amazon EC2, and all related marks are trademarks of Amazon.com, Inc. or its affiliates. Hetzner is a trademark of Hetzner Online GmbH. Microsoft Azure is a trademark of Microsoft Corporation. All other service marks referenced are trademarks of their respective owners.
See NOTICE.md for third-party license acknowledgments and the full attribution list.
apps/ — pnpm workspaces root containing the desktop app and CLI.apps/desktop/ — Electron app (main process, renderer, preload).apps/cli/ — node CLI (riftview scan, risks, diff, etc.).packages/ — shared workspaces.packages/shared/ — typed NodeType/Edge shape, @riftview/shared/snapshot canonical core, cloud types.packages/cloud-scan/ — AWS SDK-backed scan orchestrator.scripts/ — one-off maintenance scripts (e.g. wait-localstack.sh)..github/workflows/ — CI (ci.yml) and release (winget.yml).eslint.config.mjs, lefthook.yml, tsconfig.base.json, tsconfig.json, vitest.config.ts, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, renovate.json.apps/desktop/src/main/ — main process: IPC handlers, history SQLite store, AWS scanner, isDemoMode(), capability gating.apps/desktop/src/main/history/ — versioned snapshot store (SQLite).apps/desktop/src/main/ipc/ — IPC channel registry + handlers.apps/desktop/src/main/aws/ — AWS scanner entry point used by the main process.apps/desktop/src/main/capability.ts — Tier-1 protected; SecOps-reviewed.apps/desktop/src/preload/ — preload bridge exposing main-process APIs to the renderer.apps/desktop/src/renderer/ — React app (Canvas, Timeline strip, Inspector, modals).apps/desktop/tests/ — Playwright e2e (e2e/), IPC unit tests (ipc/), main-process tests (main/), renderer tests (renderer/).apps/cli/cli/ — CLI command implementations; apps/cli/cli/snapshot.ts defines the JSON snapshot format.apps/cli/tests/integration/ — LocalStack-backed integration suite, including fixtures/seed.tf.packages/shared/src/snapshot/ — canonical snapshot core used by both desktop and CLI.packages/shared/src/types/cloud.ts — NodeType literal union + integration edge types. Source of truth for what's scannable.From the repo root (verbatim from package.json scripts):
pnpm install — workspace install (uses the version pinned in packageManager).pnpm run dev — Electron dev with hot reload (delegates to @riftview/desktop).pnpm run lint — eslint across workspaces.pnpm run typecheck — tsc --noEmit across workspaces.pnpm test — vitest unit suites.pnpm run test:watch / pnpm run test:ui — vitest watch mode and UI.pnpm run test:integration — CLI ↔ LocalStack integration suite.pnpm run test:e2e — Playwright e2e (excludes @release specs).pnpm run test:e2e:release / pnpm run test:e2e:release:mac — release-gated Playwright specs.pnpm run build — build all workspaces.pnpm run build:cli — CLI bundle only.pnpm run cli — run the CLI from source via tsx.pnpm run start / pnpm run stories — Electron production start, Ladle stories.pnpm run localstack:up / pnpm run localstack:down — bring LocalStack + Terraform fixtures up/down for integration work.pnpm run format — prettier write.For platform binaries, the desktop workspace exposes pnpm run build:mac, pnpm run build:win, and pnpm run build:linux (see the Build section above).
.github/workflows/ci.yml runs two jobs on every PR and push to main:
fast — install + lockfile-change guard (PR-only) + lint + typecheck + test + CLI build + bundle smoke + phantom-dep guard (pnpm pack + isolated install).e2e — IPC contract walker + CLI ↔ LocalStack integration + Electron E2E smoke under xvfb (docker-compose brings up LocalStack).The release job is skipped except on release tags (refs/tags/v*), where it builds, signs, and publishes the desktop binaries for macOS and Linux.
Planning notes, operational automation, and internal tooling live in a separate private repo.