Skip to content

Mayia-App/mayia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

182 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mayia

Persistent structured memory for AI tools — a Chrome / Edge / Firefox MV3 extension that gives Claude, ChatGPT, and Gemini context that actually sticks.

Mayia gives knowledge-work professionals a 4-layer vault the AI can read on every prompt instead of starting from zero each conversation:

Layer Holds Example shape
Workspace org-wide defaults jurisdiction, register, working language
Entity a client / patient / brand name, sector, key risks, preferences
Sub-entity a specific contact within an Entity role, communication style
Matter the current case or task title, status, key facts

Multi-tenant B2B from day one. Built with WXT + React + Tailwind + shadcn on the front, Hono on Cloud Run + Firebase + Gemini on the back.


Status

Item State
Phase 0 — internal API reading proven ✅ closed
Phase 1 M1 — monorepo + tooling skeleton ✅ shipped
Phase 1 M2 — @mayia/shared Claude adapter 🟡 in review
Phase 1 M3–M5 + Phases 2–11 ⏳ planned

Full plan: plan/PLAN.md.


Quick start (developers)

nvm use                # reads .nvmrc → Node 22
pnpm install
pnpm test              # vitest across all packages
pnpm typecheck
pnpm lint

End-user installation instructions ship at the start of Phase 1 M5 when the first signed build lands.


Repo layout

mayia/
├── packages/shared/        # Zod schemas, Claude adapter, prompt assembler (TDD-driven)
├── apps/extension/         # WXT extension (Phase 1 M3+)
├── apps/server/            # Hono on Cloud Run (Phase 1 M4+)
├── apps/memory/            # Python FastAPI + graphiti-core + Neo4j
├── apps/import/            # Python document import pipeline
├── packages/eval/          # Gemini extraction eval harness (Phase 5+)
├── .github/workflows/      # CI/CD (currently: pr.yml; main/release/security land in M4)
├── .claude/                # Plan, agents, skills, MCP config for Claude Code contributors
├── CLAUDE.md               # Project rules — read first if working with Claude Code
├── CONTRIBUTING.md         # Branching, commits, TDD, coverage targets
└── CHANGELOG.md            # Keep-a-Changelog format, semver

Stack

Layer Choice
Extension framework WXT (CRXJS fallback)
UI React 19 + Tailwind v4 + shadcn/ui
State Zustand + TanStack Query v5
Forms React Hook Form + Zod
Backend Node 22 LTS + Hono on Cloud Run (europe-west1)
Auth & DB Firebase Auth + Firestore + Storage (europe-west1)
AI extraction Gemini 2.x (EU endpoint, structured responseSchema)
Billing Stripe + Stripe Tax (Mayia = Merchant of Record)
Tests Vitest + Playwright + Firebase Emulator + MSW
Lint/format Biome
Pre-commit lefthook
CI/CD GitHub Actions (trunk-based, tag-driven releases)
Errors / logs Sentry, pino → Cloud Logging, OpenTelemetry → Cloud Trace

Full rationale + locked decisions: CLAUDE.md §2 and PLAN.md §2.


Contributing

See CONTRIBUTING.md for branching, conventional commits, TDD workflow, and coverage targets.

TL;DR: trunk-based, feature branches off main, conventional commits, TDD enforced (RED → GREEN → REFACTOR), pre-commit runs Biome + tsc + vitest-related, CI runs lint + typecheck + coverage + audit.


Security

Found a vulnerability? Email [email protected] rather than opening a public issue. We respond within 72 hours.

Do not use pull_request_target in any workflow (CONTRIBUTING.md explains why).


License

UNLICENSED — proprietary, all rights reserved. Source available to authorized collaborators only.

About

Mayia Vault — persistent structured memory for AI tools (Chrome/Edge/Firefox MV3 extension)

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors