Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
@Qirvo

Qirvo

One Command Center to Control Your Life.

Qirvo AI

Qirvo AI Platform — Monorepo Overview

Qirvo is a personal life management platform that unifies planning, habits, health, tasks, and AI-driven assistance. It’s built as a TypeScript monorepo with a plugin-first architecture so you can extend features via widgets, actions, and services.


What’s in this repo

Top-level workspaces (folders are siblings of this .github directory):

  • qirvo (Private) — Main Next.js 15 dashboard (App Router) with plugin marketplace and widget system.
  • qirvo-docs (Public) - Docusaurus documentation for the Qirvo platform.
  • qirvo-plugin-sdk (Public) — TypeScript SDK for building Qirvo plugins.
  • qirvo-echo-cli (Public) — Node.js CLI that authenticates with Qirvo and syncs actions/automation.
  • qirvo-admin-dashboard (Private) — Turborepo-based admin interface.
  • qirvo-website (Private) — Public marketing site (Next.js + Tailwind).
  • qirvo-weather-plugin (Public) — Example weather plugin demonstrating manifests and widgets.

Tip: Use your IDE’s “Go to file” to jump into any of these folders quickly.


Tech stack

  • Framework: Next.js 15 (App Router) + TypeScript
  • UI: Mantine UI + Zustand for client state
  • Auth: Firebase Auth (client) + Firebase Admin (server)
  • Database: MongoDB Atlas
  • Plugins: Manifest-driven, secure runtime with CommonJS require() support (JS/TS/TSX)
  • Testing: Jest with a 90% coverage target

Architecture at a glance

Plugin system

  • Canonical manifest schema (with adapters for legacy manifests).
  • Widgets: visual units rendered in dashboard areas (landing, daily, sidebar, etc.).
  • Runtime: sandboxed execution with module resolution for JS/TS/TSX components.
  • Validation & Security: manifests validated, Content Security Policy enforced, and permissions honored.
  • Storage precedence for plugin files: user-installed → private storage → public registry.

Authentication & API security

  • Client obtains Firebase ID token; server verifies it via Firebase Admin on every API call.
  • Standard API route structure: extract Bearer token → verify → connect to MongoDB → perform sanitized queries.
  • No client-side trust for authorization; server performs all checks.

Key packages

qirvo (Dashboard)

  • Next.js app hosting the dashboard, marketplace, and widgets UI.
  • Server Actions used where appropriate; Zustand for client state.
  • WidgetArea dynamically loads widgets a user has added and renders plugin components through the runtime.

qirvo-plugin-sdk (SDK)

  • Types/utilities for plugin authors.
  • Manifest schema, config validation, and packaging guidance.

qirvo-echo-cli (CLI)

  • Auth via the dashboard, then local automation and sync from your terminal.

qirvo-weather-plugin (Example)

  • A reference plugin showcasing dashboard_widget, config schema, and packaging.

Security & privacy

  • All API routes verify Firebase ID tokens server-side.
  • Sensitive config is not logged; PII is avoided in runtime logs.
  • Plugins are validated and executed under enforced CSP and explicit permissions.

Building plugins

  1. Use qirvo-plugin-sdk for manifest types and helpers.
  2. Implement components for your dashboard_widget (React, TS/TSX supported).
  3. Validate and test with the dashboard dev server (hot reload supported in dev).
  4. Package and publish (or install privately to your account).

Common manifest fields:

  • dashboard_widget (name, component, description, size/defaultSize, configSchema)
  • config_schema (fields, types, validation rules)
  • permissions (e.g., storage, network)

Contributing

  • Use feature branches: feat/..., fix/... (Conventional Commits preferred).
  • Keep PRs small and focused; update tests and docs with behavior changes.
  • Respect workspace boundaries and security patterns (Firebase Admin, sanitized DB access).

Support & community

  • Open issues in the relevant workspace folder.
  • For security disclosures, use private channels—do not include sensitive details in public issues.

License

Refer to the individual package folders for license details.


Quick facts

  • Next.js + TypeScript + Mantine + Zustand
  • Firebase Auth (client) + Firebase Admin (server)
  • MongoDB Atlas for data
  • Manifest-driven plugin system with a secure runtime
  • SDK, CLI, example plugins, admin tools, and a marketing site in one monorepo

Pinned Loading

  1. qirvo-echo-cli qirvo-echo-cli Public

    ⚡ Qirvo CLI — Command Anything, Anywhere

    TypeScript 3

  2. qirvo-plugin-sdk qirvo-plugin-sdk Public

    TypeScript 1

  3. qirvo-weather-plugin qirvo-weather-plugin Public

    TypeScript

Repositories

Loading
Type
Select type
Language
Select language
Sort
Select order
Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…

Morty Proxy This is a proxified and sanitized view of the page, visit original site.