본문으로 건너뛰기
cccskills
무료GitHub에 공개

ee

Working pattern for enterprise-edition features in Grida — the commercial/hosted concerns (entitlement, BYOD, billing) on top of the OSS core. Anchor for the `GRIDA-EE: <surface>` grep marker, `(ee)` route group, `*-hosted` package suffix, and namespaced `grida_*` schema. Use when adding or touching an EE-only feature, or deciding whether a feature is EE territory. Surface skills (`platform-consumers`) are siblings.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Vercel
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ee

Grida is open source. Some features only exist because Grida is also a hosted commercial product — org-level entitlement, custom domains, billing. Those features are EE (enterprise edition): they ship in the same monorepo as the OSS core, but a self-hoster running the codebase without paid infrastructure should be able to identify and strip them.

This skill is the anchor for that boundary. No GRIDA-EE marker exists in the repo today; this skill establishes the convention.

What counts as EE

The test: would this feature still make sense in a single-user, no-billing self-hosted instance? If no, it is EE.

Three surfaces today:

  • Org / entitlement — the commercial layer on top of multi-tenant routing. Paid plans, member seats, the entitlement check that gates paid features. The tenant routing substrate itself ((tenant) route group, RLS, hostname resolution) is OSS infrastructure — only the commercial layer on top of it is EE.
  • Custom domains (BYOD) — user-owned apex + subdomain mapping on Vercel. See multi-tenant-custom-domain-vercel.
  • Billing — subscriptions, AI credit, the entitlement gate primitive. Platform billing handles the financial engine and policy. Grida retains its integration consumers; see platform-consumers for that workflow.

The GRIDA-EE marker

Like GRIDA-SEC, the boundary is grep-able. Tag every file that exists only for EE, with the surface as the sub-label:

// GRIDA-EE: entitlement — paid-plan gate
// GRIDA-EE: byod — apex domain verification
// GRIDA-EE: billing — see platform-consumers

Sub-labels are surface names (entitlement / byod / billing), not ids — there is no central registry like SECURITY.md. The grep is the index:

grep -rn 'GRIDA-EE' editor crates packages

Tag the file header when the entire file is EE; tag inline when only a branch is EE.

Known limitation. The marker captures files that exist only for EE. Shared utilities that EE imports but OSS also uses are not tagged — strip-time discovery has to come from an import audit, not grep. Don't tag OSS modules with EE callers; tag inline at the EE branch instead.

Physical placement

Co-locate by surface so the grep doesn't have to do all the work.

  • Next.js routes — group under (ee) only when a cluster of EE-only routes shares chrome/auth distinct from OSS readers (per naming, route groups encode the reader on the other side of the screen). For a single EE route inside an OSS reader's surface, tag inline rather than fragmenting the existing group. Tenant content rendering stays in (tenant) — that is the OSS routing substrate, not EE.
  • Packages and crates — use the existing *-hosted suffix when the whole package is EE-only. grida_hosted already lives in the DB schemas as the parallel namespace, and *-hosted is in naming's established suffix list. Don't mint a parallel *-ee suffix. Mixed packages stay unsuffixed and tag the EE branches inside.
  • Database — namespaced schema. Existing examples: grida_hosted. Historical grida_billing tables are retained financial archives; new financial definitions belong to Platform billing. Don't bleed EE columns into OSS-relevant tables. Schema-design rules live in the database skill / supabase/AGENTS.md; consult those.

When in doubt, default to the EE-named location. The cost of moving later is the cost of every import.

Working on EE features

  1. Tag every file you create or touch with GRIDA-EE: <surface>.
  2. Place new code in an EE-named location. If there's no existing EE location for the surface yet, create it — don't dilute an OSS one.
  3. Direction of dependency: EE → OSS, not OSS → EE. Stripping the (ee) group and *-hosted packages must not break OSS modules. Where OSS needs to query an EE concept (entitlement, paid plan, member seats), define the interface in OSS and let EE provide the implementation — not a direct import of an EE module from an OSS one.
  4. Fail-closed at the EE boundary is security discipline — see GRIDA-SEC-003 (BYOK fail-closed) for the worked example.

When EE crosses security

EE surfaces that also carry a GRIDA-SEC-<id> tag — the BYOK carve-out (GRIDA-SEC-003), any path that gates entitlement on a signed payload — run the security review first; this pattern is the second pass. Tag the file with both markers.

Precedence is stated here only; if the rule becomes load-bearing, mirror it into security/SKILL.md so a reader entering from that side doesn't miss it.

See also: platform-consumers (Grida billing consumers), security (boundary contracts, fail-closed discipline), naming (the suffix list this inherits), oss-standards (public-by-default discipline), database (schema namespacing).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Grida AI agent system work: `@grida/daemon` (DaemonServer, loopback HTTP perimeter, files/workspaces, secrets store, daemon discovery) and `@grida/agent` (the agent tenant: sessions, providers/BYOK, runtime/tool execution, skills discovery, prompts, tiers, sandbox hosts). Use for `packages/grida-daemon/**`, `packages/grida-ai-agent/**`, desktop sidecar protocol changes, agent chat transport, and bugs in agent state or streams. For pure Electron window, preload, menu, deep-link, or CDP work, use `desktop`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

ai-models

무료

Research, compare, and update shared AI model JSON for TypeScript, web, and Rust consumers. Covers text model tiers, image and video generation models, image tool models, release provenance, pricing data sourcing, and product-side catalogue cost estimates. Use when bumping model versions, adding new models, updating pricing, or auditing model specs against provider documentation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

React-specific code shape in the Grida editor. Hooks cannot be tested or benchmarked and silently break tuned UX under layered composition, so they are barred from the engine and main system — load-bearing logic lives in classes and namespaces, hooks only as thin edge wires. `data-testid` follows component-root discipline: one per significant component, not scattered. Use when authoring React in `editor/grida-canvas-react/`, `editor/components/`, `editor/scaffolds/`, or `editor/app/*`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

code-ts

무료

TypeScript code shape inside a well-named module — taste, not lint. Prefer one class or namespace per file (the unit a test targets) over scattered free exports; consolidate related code, don't fragment. The unit of code should be the unit of spec. Use when authoring TS in `editor/grida-canvas*`, `editor/lib/`, or `packages/*`. Sibling to the `naming` skill; React-specific shape lives in `code-react`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

database

무료

Use BEFORE editing any file in `supabase/migrations/` or `supabase/schemas/`, OR when the user runs a `/database` subcommand (`compact local migration`, `rls scenarios`, `align`). Encodes the three contracts that protect the Grida database layer: applied migrations are immutable, RLS implementation mirrors tests (never the reverse), `schemas/*.sql` is the human-readable end-state. Companion to `supabase/AGENTS.md` (RLS, grants, security boundaries).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

desktop

무료

Grida Desktop Electron shell and release-impact work: BrowserWindow, preload, `window.grida`, menus, protocol/deep links, file associations, Forge, path-scoped bridge security, Electron-only UI bugs, and CDP / Playwright verification. Use for `desktop/`, `editor/app/desktop/**`, `editor/scaffolds/desktop/**`, `editor/lib/desktop/**`, `/desktop/*` CSP, GRIDA-SEC-004, and deciding whether linked-package or hosted-renderer changes require a native Desktop version bump or coordinated release. For implementing daemon/agent-tenant core behavior, use `agent-system` as well.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gridaco/grida2.7천2026년 10월 15일 업데이트

gridaco의 스킬 모두 보기

이 스킬의 문제 신고