project-run

A configuration format for a project's run panel. It defines buttons that start or stop commands such as development servers, builds, tests, packaging tasks, and deployments, including their working directories and local URLs.

In plain words
What is it for?
Use it to configure runnable frontend and backend services, scripts, builds, installers, release commands, and deployment tasks in .easymint/run.json.
Why use it?
It gives a project a consistent way to expose common commands without remembering them or entering them manually.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/tianemon/easymint/project-run
Any agent
npx skills add tianemon/EasyMint --skill project-run
Clone the repo
git clone --depth 1 https://github.com/tianemon/EasyMint

Made for: Claude Code, Codex.

Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,575 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00072 $0.01575
Opus 5 $0.00036 $0.00788
Sonnet 5 $0.00014 $0.00315
Haiku 4.5 $0.00007 $0.00158

Measured 3d ago against content hash b69ce3259f1c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

project-run scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

resources/skills/project-run/SKILL.md · 75 lines

How it starts

The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Project Run — 运行面板配置

.easymint/run.json 由左侧「运行」面板读取,每条 commands 显示为一个可一键启动/停止的按钮(含端口状态)。文件变化时面板自动刷新。

格式

{
  "commands": [
    { "platform": "react", "label": "前端", "cwd": "./client", "run_command": "npm run dev", "url": "http://localhost:5173" },
    { "platform": "spring", "label": "后端", "cwd": "./server", "run_command": "mvn spring-boot:run", "url": "http://localhost:8080" }
  ]
}

字段

  • platform按 run_command 判断(解释器+文件扩展名或首个命令词),不要按项目技术栈硬标。合法值:react/vue/nextjs/nuxt/angular/svelte/spring/django/flask/fastapi/nodejs/rails/laravel/go/rust/dotnet/react-native/expo/flutter/electron/tauri/python/shell/git/java。对应关系:flutter 开头→flutter、git 开头→git、npm/pnpm/yarn/node→nodejs、python→python、bash/sh/./xx.sh→shell、mvn/gradle/java→java、cargo→rust、go→go、dotnet→dotnet、docker→shell;脚本文件按扩展名(.py→python、.sh→shell、.js/.ts→nodejs、.java→java、.rb→rails、.go→go、.rs→rust、.dart→flutter)。mac 桌面脚本用 shell,桌面应用用 electron。(面板显示时也会按此规则推断,写对避免跳变)
  • label:显示名,如"前端"、"后端"、"Android"(命名规则见下方「脚本标题命名」)
  • cwd:工作目录(相对项目根),默认 "."
  • run_command:运行命令,如 npm run dev、python main.py、flutter run、flutter build apk、bash deploy.sh
  • install_command(可选):依赖安装命令,如 flutter pub get、npm install。保留记录用,面板当前仅展示不提供安装按钮
  • url(可选):启动后访问地址,如 http://localhost:3000(仅运行类脚本需要,构建/打包/安装类不填)

规则

  • 多入口(前后端分离、跨平台)写多条
  • 静态 HTML 页面(纯 HTML/CSS/JS,无构建工具、无 npm 依赖)不需要开发服务器:run_command 用 open index.html(mac 直接打开)或 python3 -m http.server 8000(本地静态托管),url 对应 file:// 路径或 http://localhost:8000。不要为静态页面无谓创建 dev server 或引入框架构建
  • 用户提出相关需求时,直接读现有 run.json 追加/更新——不必等任务全部完成,项目可运行即可生成;项目完成时生成(每次回到 done 更新)

脚本管理(不只限于启动项目)

  • 脚本形式分工
    • 简单单行命令(构建/打包/运行等一步到位)→ 直接写在 run_command:flutter build apknpm run build
    • 复杂多步脚本(条件/循环/多命令串联,如发版部署)→ 先写脚本文件到 scripts/ 下(如 scripts/release.sh,加执行说明注释),run_command 写 bash scripts/release.sh 引用路径——脚本可版本管理、可独立测试、可复用
    • 面板编辑弹窗内 run_command 可直接改,简单命令无需单独建文件
  • 脚本内不要手动重定向输出(如 > file 2>&1| tee):面板运行时会自动收集 stdout/stderr(日志面板实时显示 + 落盘),重定向会绕过收集导致面板无输出(与 bash 工具规则一致)

Read the full file on GitHub · 75 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 75 lines · 72 tokens per session scan A b69ce3259f1c

Subscribe to this mod's changes

project-run is a skill published in the GitHub repository tianemon/EasyMint (21 stars, last pushed 3d ago), licensed MIT. It adds 72 tokens to every session and 1,575 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.