本文へ移動
cccskills
無料GitHub で公開

ever-works

Repo-specific guide to the Ever Works monorepo (ever-works/ever-works) — its pnpm + Turborepo layout, the per-workspace test runners (Jest vs Vitest vs Playwright), file-naming and import-alias conventions, the commit/branch model, and the real build/lint/type-check commands. Use this whenever working anywhere in this repository so changes match the codebase's actual conventions and pass CI.

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-worksスター 182(GitHub 182 + cccskills 0)
連携ツールKubernetesPlaywright

実行スコア 未検証

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.5 KB
  • references/ui-patterns.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Ever Works monorepo

Ever Works is an open-source, AI-powered work/content builder platform — an open agentic runtime that researches, ships, and maintains content-rich websites and Git repositories.

Read the repo's own instructions first. AGENTS.md (repo root) routes agents to CLAUDE.md (repo root), which is the canonical, authoritative rule set. This skill is a concise summary of those files plus conventions verified from the code. If anything here ever diverges from CLAUDE.md, CLAUDE.md wins — do not treat this skill as a replacement for it.

Monorepo layout (Turborepo + pnpm workspaces)

Workspaces are apps/*, packages/*, and packages/plugins/*; Turborepo orders builds via ^build.

  • apps/api — NestJS 11 REST API (SWC compiler, TypeORM, JWT + OAuth). Dev port 3100.
  • apps/web — Next.js 16 App Router (React 19, Tailwind CSS 4, next-intl). Dev port 3000.
  • apps/cli — public CLI (esbuild + commander); apps/internal-cli — internal NestJS CLI (nest-commander).
  • apps/admin — admin interface; apps/mcp — Model Context Protocol server; apps/docs — Docusaurus 3 site (renders the root docs/).
  • packages/plugin — plugin-system contracts & utilities (ESM, tsup); packages/contracts — shared TypeScript types (ESM, tsup).
  • packages/agent — @ever-works/agent, the core AI agent logic (NestJS + SWC), 21 sub-module exports; consumed by the API.
  • packages/plugins/* — 39 provider plugins (ai-provider, ai-gateway, search, content-extractor, screenshot, git-provider, deployment, pipeline, …). Each is ESM, built with tsup, tested with Vitest.
  • packages/tasks — Trigger.dev background jobs; packages/monitoring — Sentry + PostHog; packages/cli-shared — shared CLI utilities.
  • docs/ — markdown docs content; .specify/ — GitHub Spec Kit (feature specs live under docs/specs/features/).

Commands (pnpm only — never npm/yarn; Node >= 26)

pnpm install
pnpm dev:web            # Next.js app on :3000 (next dev --turbopack)
pnpm dev:api            # NestJS API on :3100
pnpm build              # Turborepo build (excludes apps/docs)
pnpm build:web          # single target; also build:api, build:plugins, build:packages
pnpm type-check         # tsc --noEmit across all workspaces
pnpm lint               # ESLint (flat config, eslint.config.mjs — ESLint 9)
pnpm format             # Prettier (format:check to verify only)
pnpm test               # All unit tests (turbo fans out to each workspace's runner)
pnpm test:e2e           # Web Playwright e2e

Package manager is pinned: pnpm@10.33.3. Run pnpm install after adding deps.

Testing (three runners — use the one the package uses)

Ever Works uses Jest and Vitest, split by build tooling (see the repo's own docs/testing/overview.md), plus Playwright for web e2e:

  • Jest — packages/agent (~26 suites / ~719 tests, packages/agent/jest.config.js) and apps/api (apps/api/jest.config.js). These are the SWC/NestJS packages. Test files are *.spec.ts.
    • cd packages/agent && pnpm test · pnpm test:cov · npx jest --testPathPattern='generators'
    • cd apps/api && pnpm test
  • Vitest — packages/plugin, every packages/plugins/*, and apps/web unit tests. Test files are *.spec.ts.
    • cd packages/plugins/openai && pnpm test · npx vitest run src/openai.spec.ts
    • cd apps/web && pnpm test (web unit)
  • Playwright — apps/web end-to-end. Specs in apps/web/e2e/*.spec.ts, config apps/web/playwright.config.ts.
    • cd apps/web && pnpm test:e2e (or pnpm test:e2e from the repo root)
  • Root pnpm test runs turbo run test, delegating to each workspace's own runner.

File & symbol naming

Follow the "Code Style → Naming" section of CLAUDE.md as authoritative. Verified across the tree, the working rules are:

  • kebab-case for all non-component TypeScript files: NestJS *.service.ts, *.controller.ts, *.module.ts, *.dto.ts, entities, guards, and shared/agent modules (e.g. tenant-job-runtime.service.ts, account-import.service.ts); web hooks are use-*.ts (e.g. use-local-storage.ts); lib/ and utility files are kebab-case too.
  • PascalCase for React component files under apps/web/src/components/** and apps/docs/src/theme/** (e.g. ActivityTable.tsx, AgentActivityClient.tsx). This is the dominant convention for components (~340 files).
  • lowercase reserved names for Next.js App Router files — page.tsx, layout.tsx, loading.tsx, route.ts, etc. (framework-required).
  • Symbols: PascalCase for classes / interfaces / types, camelCase for functions / variables, UPPER_SNAKE_CASE for constants.
  • A few legacy files deviate (a camelCase hook, a kebab-case component). When unsure, match the sibling files in the directory you are editing and defer to CLAUDE.md.

Imports & path aliases

  • @/* → apps/web/src/* (web). e.g. import { APP_NAME } from '@/lib/constants'.
  • @src/* → apps/api/src/* (api).
  • @ever-works/* → workspace packages. e.g. import { BasePlugin } from '@ever-works/plugin'; plugins also import sub-paths such as @ever-works/plugin/abstract and @ever-works/plugin/ai.
  • Use relative imports within the same feature folder. There is no import-renaming convention (import { X as Y }) — do not introduce one.

Code style

  • Prettier formats the repo. The root package.json config (tabs, print width 120, single quotes, semicolons, no trailing commas) takes precedence over the per-package .prettierrc (spaces, width 100). Run pnpm format; don't hand-fight it.
  • TypeScript strict, ESLint 9 flat config (eslint.config.mjs).

Commits & branches

  • Conventional Commits, enforced by commitlint (@commitlint/config-conventional, run via husky): feat:, fix:, docs:, refactor:, test:, chore: (plus the standard build, ci, perf, style, revert). Scopes are welcome, e.g. feat(api): ….
  • Branches: develop (default / integration) → stage → main (production). Promote changes forward through the cascade — open a PR from develop → stage, then stage → main; the repo uses dedicated cascade/* branches for these promotions. Merge the whole branch forward rather than cherry-picking individual commits.

Deployment (do not run ad-hoc deploy commands)

Apps ship as containers (node:26-alpine) to Kubernetes via GitOps. The API self-applies pending TypeORM migrations on boot (migrationsRun, gated by the RUN_MIGRATIONS env). Trigger.dev tasks deploy via pnpm deploy:trigger. Do not invent or run other deploy / kubectl commands from this repository.

Gotchas

  • Web build uses Webpack, not Turbopack. apps/web builds with next build --webpack (dev uses --turbopack). Keep the --webpack flag on the build script.
  • Build shared packages before type-checking / testing. @ever-works/contracts and @ever-works/plugin must be built (pnpm build / pnpm build:plugins) before apps/web type-check or agent tests can resolve them. The agent Jest config also maps those packages to source via moduleNameMapper — if test imports fail, build first.
  • TypeORM migrations ship with entity changes. Any entity/schema change needs a migration in the same PR (apps/api/src/migrations/). See docs/specs/architecture/database-migrations.md.
  • DTS build failure with conditional spreads. ...cond && { key: value } yields string | false and breaks declaration emit — use explicit if blocks to add properties conditionally.
  • No stray docs in the repo root. Working/plan/summary/tracker markdown goes under docs/internal/ (or docs/specs/<feature>/), never the root — see AGENTS.md / CLAUDE.md.

UI & design patterns

Canonical CTA rules (light vs dark mode) and KPI / stat-card rules live in references/ui-patterns.md. Follow them for apps/web UI work.

Authoritative source

AGENTS.md → CLAUDE.md (repo root) are the source of truth; AUGMENT.md and .github/copilot-instructions.md add tool-specific notes. Prefer updating CLAUDE.md over duplicating rules here.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

ai-sdk

無料

Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables. Use when users mention Better Auth, betterauth, auth.ts, or need to set up TypeScript authentication with email/password, OAuth, or plugin configuration.

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

Configure email verification, implement password reset flows, set password policies, and customise hashing algorithms for Better Auth email/password authentication. Use when users need to set up login, sign-in, sign-up, credential authentication, or password security with Better Auth.

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

Use when a Task asks you to change an App Work — a running open-source application the owner forked, copied or linked into Ever Works — for example "add an SMS reminder", "fix the failed deployment of 3f9c2ab", or a Goal iteration or Mission Task filed on that App Work. Covers planning within the app's size guidance, respecting its protected paths and human-merge paths, running its declared checks, and writing a reviewable pull request against the branch the app deploys from.

日本語の概要は準備中です。原文の説明を表示しています。

ever-works/ever-works1822026年10月24日 更新

ever-works のスキルをすべて見る

このスキルの問題を報告する