qfeius/make-platform-skills

make-env-setup

Use when preparing or updating the local Make development environment before development.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/qfeius/make-platform-skills --skill make-env-setup

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

make-env-setup

Get this machine ready to build a Make App: select the appropriate toolchain, verify Make login, and initialize a project folder only for a new App. Run it on a new machine, and again whenever the tools need updating. Use makecli for resource/deploy operations and the owning skills for implementation.

Safety Rules

  • Do not print or store tokens, cookies, Authorization headers, passwords, or secrets.
  • Do not manually create PRD, DSL, Service, or UI files; only run makecli app init in the selected directory.
  • Interactive secret entry must be completed by the user. Do not ask the user to paste secrets into chat.
  • Do not install pnpm through npm. For a new or explicitly migrated App, use the fixed Corepack/pnpm baseline below. An existing compatible npm or Yarn App keeps its declared installer and lockfile; this environment skill must not switch it to pnpm.

Select Project Mode

  • For a new App or a user-requested explicit runtime migration, follow the fixed Node.js/Corepack/pnpm baseline below. Runtime migration itself belongs to make-app-runtime; do not change an existing repository's manifests or lockfile in this setup flow.
  • For an existing Make App without an explicit migration, inspect its workspace packageManager, Node engines, Node-selection file, lockfile and CI/install workflow before choosing tools. Keep the compatible declared Node and package manager, including npm or Yarn. Do not add Corepack or pnpm merely to update the local environment. If these declarations disagree, the needed runtime is unclear, or the target platform build image is incompatible, stop and report the blocker to make-app-runtime rather than guessing or creating another lockfile.
  • If the target folder or new-versus-existing mode is unclear, ask the user before choosing a project runtime or initializing a folder.

Install Or Update Toolchain

This skill supports macOS, Linux, and Windows. For a new App or an explicitly migrated App, the runtime is fixed: Node.js 22.20.0, its bundled Corepack 0.34.0, and pnpm@10.20.0. Steps 1–3 below apply only to that mode. Do not substitute a moving LTS release, a Homebrew or global pnpm binary, or a newer Corepack release.

For an existing Make App without migration, verify its declared Node version with the active Node binary and use its established npm, Yarn or Corepack-managed pnpm workflow. If its declared Node is not installed, ask before installing that version; do not install 22.20.0 as an automatic replacement. Continue with the shared git, makecli and Skill checks, without rewriting App files.

  1. Ensure exact Node.js 22.20.0 and git are available. If either is missing, install it with the platform's own method only after the user confirms.
PlatformNode.js 22.20.0git
macOSInstall and select with nvm install 22.20.0 then nvm use 22.20.0; if nvm is unavailable, use an exact-version manager selected by the userxcode-select --install, or Homebrew if already present
LinuxInstall and select with nvm install 22.20.0 then nvm use 22.20.0; if nvm is unavailable, use an exact-version manager selected by the userdistro package, for example apt install git
WindowsUse an exact-version manager such as nvm-windows to install and select 22.20.0, or the official Node.js 22.20.0 installerwinget install Git.Git

Do not use a moving package-manager formula such as brew install node, apt install nodejs, or winget install OpenJS.NodeJS.LTS for the Make App runtime. If no exact-version Node manager is available, stop and ask the user to select one.

  1. Verify the fixed Node.js and Corepack baseline before installing pnpm. The checks below are cross-platform and must both pass:
bash
   node -e 'if (process.versions.node !== "22.20.0") { throw new Error(`Make Apps require Node.js 22.20.0; got ${process.versions.node}`) }'
   node -e 'const { execFileSync } = require("node:child_process"); const actual = execFileSync("corepack", ["--version"], { encoding: "utf8" }).trim(); if (actual !== "0.34.0") { throw new Error(`Corepack must report 0.34.0; got ${actual}`) }'
  1. Enable Corepack and cache the fixed new/migrated App pnpm baseline. Do not install pnpm through npm, Homebrew, or another global package manager. Use corepack install -g, not the deprecated corepack prepare.
bash
   corepack enable
   corepack install -g pnpm@10.20.0
   node -e 'const { execFileSync } = require("node:child_process"); const actual = execFileSync("corepack", ["pnpm", "--version"], { encoding: "utf8" }).trim(); if (actual !== "10.20.0") { throw new Error(`pnpm must report 10.20.0; got ${actual}`) }'
  1. Install or update makecli. If makecli exists, run makecli update --skip-skills; otherwise run npm install -g @qfeius/makecli. makecli update knows how it was installed: an npm or pnpm install is upgraded through that package manager, and any other installation replaces the binary in place.

If the npm global install fails with EACCES on macOS or Linux, do not use sudo. Point npm's global prefix at a user-owned directory, add it to PATH, then retry:

bash
   npm config set prefix "$HOME/.npm-global"
   export PATH="$HOME/.npm-global/bin:$PATH"   # also add this line to the shell profile
  1. Install or update Make platform skills every run.
bash
   npx skills add qfeius/make-platform-skills --all -y

Show a compact Make skills result based on the command output, such as installed, updated, or already current.

Verify Versions

For a new or explicitly migrated App, run all checks and show a compact summary:

bash
node --version
npm --version
corepack --version
corepack pnpm --version
git --version
makecli version

In that mode, Node must report exactly v22.20.0, Corepack exactly 0.34.0, and pnpm exactly 10.20.0. If any check fails, stop and repair the active runtime; do not continue with a different version.

For an existing Make App without migration, check node --version, git --version, makecli version, and only the package-manager command declared by the project (npm --version, yarn --version, or corepack pnpm --version for a compatible pnpm App). Compare them with the inspected manifest, Node-selection file and CI/install workflow. Do not require the fixed new-App triple or run Corepack checks for an npm/Yarn App. If they do not agree, stop and hand the compatibility blocker to make-app-runtime.

Verify Token With Guided Login

After the environment is configured successfully, check the current token:

bash
makecli configure verify --output=json

If verification succeeds, continue to project folder selection or initialization as appropriate.

If verification fails because the token is missing, expired, invalid, or belongs to the wrong environment:

  1. Run:
bash
   makecli login --timeout=60s

The command opens the browser, waits up to 60 seconds for the login callback, then exits on its own. If it prints an authorization URL instead of opening a browser, relay that URL to the user.

  1. If the command exits successfully, login is done; continue to project folder selection or initialization as appropriate.
  2. If the command exits with a timeout or callback error, tell the user:
text
   请在浏览器中完成 makecli 登录。完成后回复“已经完成登录”。

Then stop and wait for the user to reply 已经完成登录.

  1. After the user replies, run makecli configure verify --output=json. If valid is true, login succeeded; continue. If valid is false, go back to step 1.

If browser login is not convenient, offer the token fallback:

bash
makecli configure token

The user must complete interactive secret entry in their own terminal. After the user finishes, run makecli configure verify --output=json to confirm the token. If valid is false, ask the user to re-enter the token, or fall back to the guided makecli login flow above.

Initialize App Project Folder

For an existing Make App without a requested reinitialization, do not run makecli app init. Keep its current project folder and report that location. The steps below apply only to a new App or a user-requested initialization.

makecli app init derives the app key from the target directory's basename and validates the name itself; do not pre-validate names in this skill.

  1. Pick a candidate:
  • If the user has already described the app they want to build, recommend a folder name derived from that description.
  • Otherwise, if the current directory is not an existing project, recommend initializing in place.
  • Otherwise recommend a generic name such as make_app.
  1. Confirm with the user:
text
   是否使用 <app-folder> 作为 App 目录?请回复 “是” 或 “否”。

If the user replies anything other than 是 or 否, ask again with the same prompt.

  1. If the user replies 否, ask:
text
   请输入 App 目录地址:

Accept an absolute or relative path as provided.

  1. Run makecli app init <app-folder>, or makecli app init with no argument when initializing the current directory. The command creates the directory if needed and is idempotent.
  2. If init fails with an invalid key error, the error message states the naming rule: derive a compliant folder name from the chosen one (for example contract-ledger → contract_ledger), tell the user the adjusted name, and retry. For other errors, report the error and ask the user whether to retry or choose another directory. Continue only after init succeeds.

Setup Completion Output

End only after the selected toolchain is verified and the token is valid (initial verification passed or the login flow succeeded). A new App also requires successful makecli app init; an existing App requires its declared runtime and folder to be verified without reinitialization. Use a concise readiness report:

  • Tool versions: Node, git, makecli and the selected project's package manager; include Corepack only when that project's workflow requires it.
  • Make skills result.
  • Login status: already valid or refreshed with makecli login.
  • App folder: the initialized or verified existing directory.

Keep the completion output concise and next-step focused. Omit negative summaries about actions not performed.

If everything passes, say:

text
Make 开发环境已经准备好,可以进行下一步开发 App。

For a newly initialized App, provide this small example:

text
App 参考示例:

我要做一个 Make App,用来演示合同台账管理。
角色包括管理员和业务人员。
核心流程是新建合同、维护付款计划、查看合同列表和详情。
请先和我确认需求细节,生成 apps/docs/PRD.md,再进行 DSL 建模;DSL 必须先 diff,等我确认后才 apply。

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills
qfeius
Społeczność

canvas-table-integration

Use when integrating @qfei-design/canvas-table into an app or page. Covers consumer-side local, virtual, large-data fast-scroll, and grouped tables; public props/methods/events; row-head and header menus; selection, Shift 200 条上限, row colors, drag, fixed columns, summaries, empty states, async row sync, canvas interactions, cell editing, and Make schema field display. Make record lists use make-app-actions for the default selectable record-action workflow. Use make-app-sort for record sorting an

instalacje
1
GitHub Stars
0
Aktualizacja
9 paź
qfeius
Społeczność

make-ai-assistant

Use when integrating, upgrading, debugging, or reviewing @qfei-design/make-ai-assistant in a Make App: Agent discovery, multi-session chat, streaming, file/image input, Service gateway routes, and package-owned UI. Does not own generic dialogs, model behavior, authentication or permission policy, DSL, or publishing.

instalacje
1
GitHub Stars
0
Aktualizacja
9 paź
qfeius
Społeczność

make-app-actions

Use when generating, integrating, refactoring, reviewing, or debugging Make record-list actions: CanvasTable actions are the default desktop/tablet selection and batch workflow, while 手机/phone 卡片/card and mobile detail pages reuse single edit/delete actions. Triggered by 复选框, 行操作, 选择操作栏, 编辑, 删除, 批量编辑, 暂无可用的操作, selectAll, Shift selection, selectionIntent, 手机卡片操作, 手机详情操作栏, 行级写权限预检, noPermissionRecordIds, record-write-permission, records/bulk, @qfei-design/make-app-actions, or action tests. Covers

instalacje
1
GitHub Stars
0
Aktualizacja
9 paź
qfeius
Społeczność

make-app-auth

Use when generating, modifying, reviewing, or debugging Make App unified login and authenticated /api/make requests with @qfeius/make-app-auth. Covers unified login, OAuth/ngrok mode, 401/403 handling, logout, current-user/account-drawer auth wiring, current-context identity, Feishu-container logout visibility, cookies, sessions, redirect callbacks, and Make App auth troubleshooting. Preserve authenticated context for the default /api/make/app/principal/permission flow. Does not cover UI layout,

instalacje
1
GitHub Stars
0
Aktualizacja
9 paź