flyee 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/bin/install.js +357 -0
  4. package/bridge/bridge.py +1780 -0
  5. package/bridge/local_tracker.py +722 -0
  6. package/core/agents/backend-specialist.md +266 -0
  7. package/core/agents/code-archaeologist.md +106 -0
  8. package/core/agents/database-architect.md +226 -0
  9. package/core/agents/debugger.md +225 -0
  10. package/core/agents/devops-engineer.md +323 -0
  11. package/core/agents/documentation-writer.md +104 -0
  12. package/core/agents/explorer-agent.md +73 -0
  13. package/core/agents/frontend-specialist.md +743 -0
  14. package/core/agents/game-developer.md +162 -0
  15. package/core/agents/mobile-developer.md +377 -0
  16. package/core/agents/orchestrator.md +416 -0
  17. package/core/agents/penetration-tester.md +188 -0
  18. package/core/agents/performance-optimizer.md +187 -0
  19. package/core/agents/product-manager.md +112 -0
  20. package/core/agents/product-owner.md +95 -0
  21. package/core/agents/project-planner.md +470 -0
  22. package/core/agents/qa-automation-engineer.md +103 -0
  23. package/core/agents/security-auditor.md +170 -0
  24. package/core/agents/seo-specialist.md +111 -0
  25. package/core/agents/stitch-designer.md +190 -0
  26. package/core/agents/tdd-reviewer.md +282 -0
  27. package/core/agents/test-engineer.md +158 -0
  28. package/core/scripts/auto_preview.py +148 -0
  29. package/core/scripts/checklist.py +243 -0
  30. package/core/scripts/cost_report.py +149 -0
  31. package/core/scripts/doc-sync-check.py +461 -0
  32. package/core/scripts/parse_user_stories.py +79 -0
  33. package/core/scripts/prepare_notion_updates.py +172 -0
  34. package/core/scripts/print_create_payload.py +18 -0
  35. package/core/scripts/session_manager.py +120 -0
  36. package/core/scripts/task_complete.py +127 -0
  37. package/core/scripts/verify_all.py +327 -0
  38. package/core/skills/analytics-strategy/SKILL.md +128 -0
  39. package/core/skills/api-patterns/SKILL.md +81 -0
  40. package/core/skills/api-patterns/api-style.md +42 -0
  41. package/core/skills/api-patterns/auth.md +24 -0
  42. package/core/skills/api-patterns/documentation.md +26 -0
  43. package/core/skills/api-patterns/graphql.md +41 -0
  44. package/core/skills/api-patterns/rate-limiting.md +31 -0
  45. package/core/skills/api-patterns/response.md +37 -0
  46. package/core/skills/api-patterns/rest.md +40 -0
  47. package/core/skills/api-patterns/scripts/api_validator.py +211 -0
  48. package/core/skills/api-patterns/security-testing.md +122 -0
  49. package/core/skills/api-patterns/trpc.md +41 -0
  50. package/core/skills/api-patterns/versioning.md +22 -0
  51. package/core/skills/app-builder/SKILL.md +75 -0
  52. package/core/skills/app-builder/agent-coordination.md +71 -0
  53. package/core/skills/app-builder/feature-building.md +53 -0
  54. package/core/skills/app-builder/project-detection.md +34 -0
  55. package/core/skills/app-builder/scaffolding.md +118 -0
  56. package/core/skills/app-builder/tech-stack.md +40 -0
  57. package/core/skills/app-builder/templates/SKILL.md +39 -0
  58. package/core/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  59. package/core/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  60. package/core/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  61. package/core/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  62. package/core/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  63. package/core/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  64. package/core/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  65. package/core/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  66. package/core/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  67. package/core/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  68. package/core/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  69. package/core/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  70. package/core/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  71. package/core/skills/architecture/SKILL.md +55 -0
  72. package/core/skills/architecture/context-discovery.md +43 -0
  73. package/core/skills/architecture/examples.md +94 -0
  74. package/core/skills/architecture/pattern-selection.md +68 -0
  75. package/core/skills/architecture/patterns-reference.md +50 -0
  76. package/core/skills/architecture/trade-off-analysis.md +77 -0
  77. package/core/skills/atomic-design/SKILL.md +282 -0
  78. package/core/skills/atomic-design/references/classification-guide.md +132 -0
  79. package/core/skills/atomic-design/references/quality-checklist.md +60 -0
  80. package/core/skills/atomic-design/references/stacks/stack-blade.md +254 -0
  81. package/core/skills/atomic-design/references/stacks/stack-nextjs.md +272 -0
  82. package/core/skills/atomic-design/references/stacks/stack-react.md +239 -0
  83. package/core/skills/atomic-design/references/stacks/stack-vue.md +224 -0
  84. package/core/skills/bash-linux/SKILL.md +199 -0
  85. package/core/skills/behavioral-modes/SKILL.md +242 -0
  86. package/core/skills/brainstorming/SKILL.md +163 -0
  87. package/core/skills/brainstorming/dynamic-questioning.md +373 -0
  88. package/core/skills/checkpointing-patterns/SKILL.md +163 -0
  89. package/core/skills/clean-code/SKILL.md +201 -0
  90. package/core/skills/code-review-checklist/SKILL.md +109 -0
  91. package/core/skills/code-truth-validation/SKILL.md +149 -0
  92. package/core/skills/component-library-discovery/SKILL.md +154 -0
  93. package/core/skills/content-strategy/SKILL.md +222 -0
  94. package/core/skills/context-budget/SKILL.md +155 -0
  95. package/core/skills/context-gathering-patterns/SKILL.md +278 -0
  96. package/core/skills/cost-tracking/SKILL.md +206 -0
  97. package/core/skills/database-design/SKILL.md +52 -0
  98. package/core/skills/database-design/database-selection.md +43 -0
  99. package/core/skills/database-design/indexing.md +39 -0
  100. package/core/skills/database-design/migrations.md +48 -0
  101. package/core/skills/database-design/optimization.md +36 -0
  102. package/core/skills/database-design/orm-selection.md +30 -0
  103. package/core/skills/database-design/schema-design.md +56 -0
  104. package/core/skills/database-design/scripts/schema_validator.py +172 -0
  105. package/core/skills/deployment-procedures/SKILL.md +295 -0
  106. package/core/skills/design-md/README.md +34 -0
  107. package/core/skills/design-md/SKILL.md +172 -0
  108. package/core/skills/design-md/examples/DESIGN.md +154 -0
  109. package/core/skills/design-system-enforcement/SKILL.md +339 -0
  110. package/core/skills/doc.md +177 -0
  111. package/core/skills/document-registry/SKILL.md +130 -0
  112. package/core/skills/documentation-publishing/SKILL.md +174 -0
  113. package/core/skills/documentation-templates/SKILL.md +194 -0
  114. package/core/skills/enhance-prompt/README.md +34 -0
  115. package/core/skills/enhance-prompt/SKILL.md +204 -0
  116. package/core/skills/enhance-prompt/references/KEYWORDS.md +114 -0
  117. package/core/skills/frontend-design/SKILL.md +430 -0
  118. package/core/skills/frontend-design/animation-guide.md +331 -0
  119. package/core/skills/frontend-design/color-system.md +311 -0
  120. package/core/skills/frontend-design/decision-trees.md +418 -0
  121. package/core/skills/frontend-design/motion-graphics.md +306 -0
  122. package/core/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  123. package/core/skills/frontend-design/scripts/ux_audit.py +722 -0
  124. package/core/skills/frontend-design/typography-system.md +345 -0
  125. package/core/skills/frontend-design/ux-psychology.md +541 -0
  126. package/core/skills/frontend-design/visual-effects.md +383 -0
  127. package/core/skills/game-development/2d-games/SKILL.md +119 -0
  128. package/core/skills/game-development/3d-games/SKILL.md +135 -0
  129. package/core/skills/game-development/SKILL.md +167 -0
  130. package/core/skills/game-development/game-art/SKILL.md +185 -0
  131. package/core/skills/game-development/game-audio/SKILL.md +190 -0
  132. package/core/skills/game-development/game-design/SKILL.md +129 -0
  133. package/core/skills/game-development/mobile-games/SKILL.md +108 -0
  134. package/core/skills/game-development/multiplayer/SKILL.md +132 -0
  135. package/core/skills/game-development/pc-games/SKILL.md +144 -0
  136. package/core/skills/game-development/vr-ar/SKILL.md +123 -0
  137. package/core/skills/game-development/web-games/SKILL.md +150 -0
  138. package/core/skills/geo-fundamentals/SKILL.md +156 -0
  139. package/core/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  140. package/core/skills/git-workflow/SKILL.md +263 -0
  141. package/core/skills/history-check-patterns/SKILL.md +125 -0
  142. package/core/skills/i18n-localization/SKILL.md +154 -0
  143. package/core/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  144. package/core/skills/integration-completeness/SKILL.md +219 -0
  145. package/core/skills/intelligent-routing/SKILL.md +370 -0
  146. package/core/skills/lint-and-validate/SKILL.md +45 -0
  147. package/core/skills/lint-and-validate/scripts/lint_runner.py +173 -0
  148. package/core/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  149. package/core/skills/local-verification/SKILL.md +195 -0
  150. package/core/skills/mcp-builder/SKILL.md +176 -0
  151. package/core/skills/mobile-design/SKILL.md +394 -0
  152. package/core/skills/mobile-design/decision-trees.md +516 -0
  153. package/core/skills/mobile-design/mobile-backend.md +491 -0
  154. package/core/skills/mobile-design/mobile-color-system.md +420 -0
  155. package/core/skills/mobile-design/mobile-debugging.md +122 -0
  156. package/core/skills/mobile-design/mobile-design-thinking.md +357 -0
  157. package/core/skills/mobile-design/mobile-navigation.md +458 -0
  158. package/core/skills/mobile-design/mobile-performance.md +767 -0
  159. package/core/skills/mobile-design/mobile-testing.md +356 -0
  160. package/core/skills/mobile-design/mobile-typography.md +433 -0
  161. package/core/skills/mobile-design/platform-android.md +666 -0
  162. package/core/skills/mobile-design/platform-ios.md +561 -0
  163. package/core/skills/mobile-design/scripts/mobile_audit.py +670 -0
  164. package/core/skills/mobile-design/touch-psychology.md +537 -0
  165. package/core/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  166. package/core/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  167. package/core/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  168. package/core/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  169. package/core/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  170. package/core/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  171. package/core/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  172. package/core/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  173. package/core/skills/nextjs-react-expert/SKILL.md +267 -0
  174. package/core/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  175. package/core/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  176. package/core/skills/nodejs-best-practices/SKILL.md +333 -0
  177. package/core/skills/notion-task-patterns/SKILL.md +2529 -0
  178. package/core/skills/page-specifications/SKILL.md +367 -0
  179. package/core/skills/parallel-agents/SKILL.md +175 -0
  180. package/core/skills/performance-profiling/SKILL.md +143 -0
  181. package/core/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  182. package/core/skills/plan-writing/SKILL.md +190 -0
  183. package/core/skills/powershell-windows/SKILL.md +167 -0
  184. package/core/skills/project-foundation/SKILL.md +117 -0
  185. package/core/skills/project-setup/SKILL.md +141 -0
  186. package/core/skills/project-tracking-patterns/SKILL.md +357 -0
  187. package/core/skills/project-type-discovery/SKILL.md +239 -0
  188. package/core/skills/python-patterns/SKILL.md +441 -0
  189. package/core/skills/qa-test-generation/SKILL.md +156 -0
  190. package/core/skills/react-components/README.md +36 -0
  191. package/core/skills/react-components/SKILL.md +47 -0
  192. package/core/skills/react-components/examples/gold-standard-card.tsx +80 -0
  193. package/core/skills/react-components/package-lock.json +231 -0
  194. package/core/skills/react-components/package.json +16 -0
  195. package/core/skills/react-components/resources/architecture-checklist.md +15 -0
  196. package/core/skills/react-components/resources/component-template.tsx +37 -0
  197. package/core/skills/react-components/resources/stitch-api-reference.md +14 -0
  198. package/core/skills/react-components/resources/style-guide.json +27 -0
  199. package/core/skills/react-components/scripts/fetch-stitch.sh +30 -0
  200. package/core/skills/react-components/scripts/validate.js +68 -0
  201. package/core/skills/red-team-tactics/SKILL.md +199 -0
  202. package/core/skills/remotion/README.md +105 -0
  203. package/core/skills/remotion/SKILL.md +393 -0
  204. package/core/skills/remotion/examples/WalkthroughComposition.tsx +78 -0
  205. package/core/skills/remotion/examples/screens.json +56 -0
  206. package/core/skills/remotion/resources/composition-checklist.md +124 -0
  207. package/core/skills/remotion/resources/screen-slide-template.tsx +123 -0
  208. package/core/skills/remotion/scripts/download-stitch-asset.sh +38 -0
  209. package/core/skills/seo-fundamentals/SKILL.md +129 -0
  210. package/core/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  211. package/core/skills/server-management/SKILL.md +161 -0
  212. package/core/skills/session-resilience/SKILL.md +199 -0
  213. package/core/skills/shadcn-ui/README.md +248 -0
  214. package/core/skills/shadcn-ui/SKILL.md +326 -0
  215. package/core/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  216. package/core/skills/shadcn-ui/examples/data-table.tsx +313 -0
  217. package/core/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  218. package/core/skills/shadcn-ui/resources/component-catalog.md +481 -0
  219. package/core/skills/shadcn-ui/resources/customization-guide.md +516 -0
  220. package/core/skills/shadcn-ui/resources/migration-guide.md +463 -0
  221. package/core/skills/shadcn-ui/resources/setup-guide.md +412 -0
  222. package/core/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  223. package/core/skills/state-machine/SKILL.md +264 -0
  224. package/core/skills/stitch-loop/README.md +54 -0
  225. package/core/skills/stitch-loop/SKILL.md +203 -0
  226. package/core/skills/stitch-loop/examples/SITE.md +73 -0
  227. package/core/skills/stitch-loop/examples/next-prompt.md +25 -0
  228. package/core/skills/stitch-loop/resources/baton-schema.md +61 -0
  229. package/core/skills/stitch-loop/resources/site-template.md +104 -0
  230. package/core/skills/systematic-debugging/SKILL.md +109 -0
  231. package/core/skills/tailwind-patterns/SKILL.md +284 -0
  232. package/core/skills/tdd-validation/SKILL.md +243 -0
  233. package/core/skills/tdd-workflow/SKILL.md +284 -0
  234. package/core/skills/testing-patterns/SKILL.md +196 -0
  235. package/core/skills/testing-patterns/scripts/test_runner.py +219 -0
  236. package/core/skills/ui-ux-discovery/SKILL.md +329 -0
  237. package/core/skills/ui-validation/SKILL.md +190 -0
  238. package/core/skills/ui-validation/scripts/ui_antipattern_check.py +317 -0
  239. package/core/skills/verification-gate/SKILL.md +205 -0
  240. package/core/skills/vulnerability-scanner/SKILL.md +276 -0
  241. package/core/skills/vulnerability-scanner/checklists.md +121 -0
  242. package/core/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  243. package/core/skills/web-design-guidelines/SKILL.md +57 -0
  244. package/core/skills/webapp-testing/SKILL.md +187 -0
  245. package/core/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  246. package/core/templates/ARCHITECTURE.template.md +407 -0
  247. package/core/templates/project-resources.example.json +71 -0
  248. package/core/workflows/atomic.md +182 -0
  249. package/core/workflows/brainstorm.md +134 -0
  250. package/core/workflows/check-task.md +242 -0
  251. package/core/workflows/copy-collect.md +306 -0
  252. package/core/workflows/create-agent.md +33 -0
  253. package/core/workflows/create-skill.md +39 -0
  254. package/core/workflows/create-workflow.md +33 -0
  255. package/core/workflows/create.md +92 -0
  256. package/core/workflows/debug.md +186 -0
  257. package/core/workflows/demand.md +443 -0
  258. package/core/workflows/deploy.md +260 -0
  259. package/core/workflows/discovery.md +267 -0
  260. package/core/workflows/document.md +272 -0
  261. package/core/workflows/ds-components.md +296 -0
  262. package/core/workflows/ds-init.md +58 -0
  263. package/core/workflows/ds-refactor.md +245 -0
  264. package/core/workflows/ds-references.md +197 -0
  265. package/core/workflows/ds-styleguide.md +237 -0
  266. package/core/workflows/ds-token-diff.md +103 -0
  267. package/core/workflows/ds-tokens.md +317 -0
  268. package/core/workflows/ds-validate.md +309 -0
  269. package/core/workflows/execute.md +483 -0
  270. package/core/workflows/extract-template.md +278 -0
  271. package/core/workflows/fix-failed-tests.md +160 -0
  272. package/core/workflows/init-project.md +386 -0
  273. package/core/workflows/legacy-project.md +849 -0
  274. package/core/workflows/log.md +97 -0
  275. package/core/workflows/new-project.md +610 -0
  276. package/core/workflows/new-project.md.bak +3292 -0
  277. package/core/workflows/new-task.md +404 -0
  278. package/core/workflows/orchestrate.md +237 -0
  279. package/core/workflows/page-build.md +296 -0
  280. package/core/workflows/plan.md +89 -0
  281. package/core/workflows/prd.md +255 -0
  282. package/core/workflows/preview.md +81 -0
  283. package/core/workflows/review-page.md +304 -0
  284. package/core/workflows/status.md +86 -0
  285. package/core/workflows/stitch.md +226 -0
  286. package/core/workflows/task-complete.md +473 -0
  287. package/core/workflows/task-update.md +163 -0
  288. package/core/workflows/tdd.md +344 -0
  289. package/core/workflows/test.md +251 -0
  290. package/core/workflows/ui-ux-pro-max.md +437 -0
  291. package/core/workflows/ux-mobile-optimize.md +262 -0
  292. package/core/workflows/ux-mobile-validate.md +297 -0
  293. package/engine-files/GEMINI.md +69 -0
  294. package/package.json +47 -0
  295. package/runtime-adapters/antigravity.js +26 -0
  296. package/runtime-adapters/claude.js +57 -0
  297. package/runtime-adapters/codex.js +51 -0
  298. package/runtime-adapters/copilot.js +51 -0
  299. package/runtime-adapters/cursor.js +51 -0
  300. package/runtime-adapters/gemini-cli.js +30 -0
  301. package/runtime-adapters/opencode.js +51 -0
  302. package/runtime-adapters/windsurf.js +51 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bruno Santana
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # Flyee
2
+
3
+ > AI Agent Framework — 21 specialist agents, 65+ skills, 40+ workflows. All runtimes.
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ ---
8
+
9
+ ## What is Flyee?
10
+
11
+ `flyee` is a **runtime-agnostic AI agent framework** that gives your coding assistant superpowers. It works with any AI coding tool — Antigravity, Claude Code, Cursor, GitHub Copilot, Codex, Windsurf, Gemini CLI, and more.
12
+
13
+ Think of it as a **brain transplant** for your AI assistant: instead of generic responses, your assistant gets structured knowledge about clean code, testing patterns, design systems, security auditing, and 65+ other specialized skills.
14
+
15
+ ## Quick Start
16
+
17
+ ```bash
18
+ # Auto-detect your runtime and install
19
+ npx flyee
20
+
21
+ # Or specify your runtime
22
+ npx flyee --antigravity # Gemini / Antigravity
23
+ npx flyee --claude # Claude Code
24
+ npx flyee --cursor # Cursor
25
+ npx flyee --copilot # GitHub Copilot
26
+ npx flyee --codex # OpenAI Codex
27
+ npx flyee --windsurf # Windsurf
28
+ npx flyee --gemini # Gemini CLI
29
+ npx flyee --opencode # OpenCode
30
+ npx flyee --all # All detected runtimes
31
+ ```
32
+
33
+ ## What You Get
34
+
35
+ ### 🤖 21 Specialist Agents
36
+
37
+ | Agent | Domain |
38
+ |-------|--------|
39
+ | `orchestrator` | Multi-agent coordination |
40
+ | `frontend-specialist` | Web UI/UX (React, Next.js) |
41
+ | `backend-specialist` | API, databases, server |
42
+ | `mobile-developer` | iOS, Android, React Native, Flutter |
43
+ | `security-auditor` | OWASP, vulnerability scanning |
44
+ | `debugger` | Systematic 4-phase debugging |
45
+ | `project-planner` | Strategic planning |
46
+ | `game-developer` | Game development |
47
+ | ... and 13 more | Various domains |
48
+
49
+ ### 🧩 65+ Modular Skills
50
+
51
+ Skills are knowledge modules that enhance your agent's capabilities:
52
+
53
+ - **Clean Code** — Pragmatic standards, no over-engineering
54
+ - **Testing Patterns** — Unit, integration, E2E strategies
55
+ - **Design System Enforcement** — Token-based UI consistency
56
+ - **SEO Fundamentals** — Core Web Vitals, E-E-A-T
57
+ - **State Machine** — Local project state with crash recovery
58
+ - **Verification Gate** — Mechanical verification (not vibes)
59
+ - **Cost Tracking** — LLM usage monitoring per operation
60
+ - ... and 58 more
61
+
62
+ ### 🔄 40+ Automated Workflows
63
+
64
+ ```bash
65
+ /new-task # Add features with tracking
66
+ /execute # Execute tasks (manual or autonomous)
67
+ /task-complete # Complete with verification gates
68
+ /debug # Systematic debugging
69
+ /deploy # Production deployment
70
+ /test # Test generation and execution
71
+ /plan # Strategic planning
72
+ /tdd # Test-Driven Development cycle
73
+ ```
74
+
75
+ ## Architecture
76
+
77
+ ```
78
+ your-project/
79
+ ├── .agent/ ← Installed by flyee (runtime-specific)
80
+ │ ├── agents/ ← 21 specialist agents
81
+ │ ├── skills/ ← 65+ modular skills
82
+ │ ├── workflows/ ← 40+ automated workflows
83
+ │ ├── scripts/ ← Automation scripts
84
+ │ └── bridge/ ← Optional: Flyee SaaS sync
85
+ ├── .flyee/ ← Runtime state (auto-created)
86
+ │ ├── STATE.md ← "Where am I?" dashboard
87
+ │ ├── DECISIONS.md ← Append-only decision log
88
+ │ └── sprints/ ← Work hierarchy
89
+ ├── GEMINI.md ← Engine file (or CLAUDE.md, etc.)
90
+ └── your code...
91
+ ```
92
+
93
+ ## Optional: Flyee SaaS Integration
94
+
95
+ Connect to the [Flyee Platform](https://flyee.dev) for team collaboration:
96
+
97
+ ```bash
98
+ # Configure connection
99
+ npx flyee --connect <api-key>
100
+ ```
101
+
102
+ When connected, you get:
103
+ - 📊 Team dashboard with project progress
104
+ - 🔄 Task sync across team members
105
+ - 💰 Cost analytics and budget tracking
106
+ - 📈 Gantt visualization of project timeline
107
+ - 🎯 OKR management and alignment
108
+
109
+ Without SaaS, `flyee` works **100% offline** with local state in `.flyee/`.
110
+
111
+ ## Supported Runtimes
112
+
113
+ | Runtime | Status | Config Dir | Engine File |
114
+ |---------|--------|-----------|-------------|
115
+ | Antigravity (Gemini) | ✅ | `.agent/` | `GEMINI.md` |
116
+ | Claude Code | ✅ | `.claude/` | `CLAUDE.md` |
117
+ | Cursor | ✅ | `.cursor/` | `.cursorrules` |
118
+ | GitHub Copilot | ✅ | `.github/` | `COPILOT.md` |
119
+ | OpenAI Codex | ✅ | `.codex/` | `CODEX.md` |
120
+ | Windsurf | ✅ | `.windsurf/` | `WINDSURF.md` |
121
+ | Gemini CLI | ✅ | `.gemini/` | `GEMINI.md` |
122
+ | OpenCode | ✅ | `.opencode/` | `OPENCODE.md` |
123
+
124
+ ## Contributing
125
+
126
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
127
+
128
+ ## License
129
+
130
+ MIT — see [LICENSE](LICENSE).
131
+
132
+ ---
133
+
134
+ Built with ❤️ by [Bruno Santana](https://github.com/BrunoSantanaDeveloper)
package/bin/install.js ADDED
@@ -0,0 +1,357 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Flyee Installer
5
+ *
6
+ * Installs the flyee agent framework into any project.
7
+ * Supports multiple AI coding runtimes.
8
+ *
9
+ * Usage:
10
+ * npx flyee # Auto-detect runtime
11
+ * npx flyee --antigravity # Install for Antigravity/Gemini
12
+ * npx flyee --claude # Install for Claude Code
13
+ * npx flyee --cursor # Install for Cursor
14
+ * npx flyee --copilot # Install for GitHub Copilot
15
+ * npx flyee --codex # Install for OpenAI Codex
16
+ * npx flyee --windsurf # Install for Windsurf
17
+ * npx flyee --gemini # Install for Gemini CLI
18
+ * npx flyee --opencode # Install for OpenCode
19
+ * npx flyee --all # Install for all detected runtimes
20
+ * npx flyee --dry-run # Preview without writing files
21
+ */
22
+
23
+ import { existsSync, mkdirSync, cpSync, readFileSync, writeFileSync, readdirSync, statSync } from 'node:fs';
24
+ import { join, dirname, resolve, relative } from 'node:path';
25
+ import { fileURLToPath } from 'node:url';
26
+
27
+ const __filename = fileURLToPath(import.meta.url);
28
+ const __dirname = dirname(__filename);
29
+ const PACKAGE_ROOT = resolve(__dirname, '..');
30
+ const CORE_DIR = join(PACKAGE_ROOT, 'core');
31
+ const ENGINE_FILES_DIR = join(PACKAGE_ROOT, 'engine-files');
32
+ const ADAPTERS_DIR = join(PACKAGE_ROOT, 'runtime-adapters');
33
+
34
+ // ─── Runtime Definitions ────────────────────────────────────────────────────
35
+
36
+ const RUNTIMES = {
37
+ antigravity: {
38
+ name: 'Antigravity (Gemini)',
39
+ dirName: '.agent',
40
+ engineFile: 'GEMINI.md',
41
+ engineFileTarget: 'GEMINI.md', // where to place in project root
42
+ detectFiles: ['GEMINI.md', '.agent/ARCHITECTURE.md'],
43
+ adapterFile: 'antigravity.js',
44
+ },
45
+ claude: {
46
+ name: 'Claude Code',
47
+ dirName: '.claude',
48
+ engineFile: 'CLAUDE.md',
49
+ engineFileTarget: 'CLAUDE.md',
50
+ detectFiles: ['CLAUDE.md', '.claude/settings.json'],
51
+ adapterFile: 'claude.js',
52
+ },
53
+ cursor: {
54
+ name: 'Cursor',
55
+ dirName: '.cursor',
56
+ engineFile: 'CURSOR.md',
57
+ engineFileTarget: '.cursorrules',
58
+ detectFiles: ['.cursorrules', '.cursor/settings.json'],
59
+ adapterFile: 'cursor.js',
60
+ },
61
+ copilot: {
62
+ name: 'GitHub Copilot',
63
+ dirName: '.github',
64
+ engineFile: 'COPILOT.md',
65
+ engineFileTarget: '.github/copilot-instructions.md',
66
+ detectFiles: ['.github/copilot-instructions.md'],
67
+ adapterFile: 'copilot.js',
68
+ },
69
+ codex: {
70
+ name: 'OpenAI Codex',
71
+ dirName: '.codex',
72
+ engineFile: 'CODEX.md',
73
+ engineFileTarget: 'AGENTS.md',
74
+ detectFiles: ['AGENTS.md', 'codex.json'],
75
+ adapterFile: 'codex.js',
76
+ },
77
+ windsurf: {
78
+ name: 'Windsurf',
79
+ dirName: '.windsurf',
80
+ engineFile: 'WINDSURF.md',
81
+ engineFileTarget: '.windsurfrules',
82
+ detectFiles: ['.windsurfrules', '.windsurf/settings.json'],
83
+ adapterFile: 'windsurf.js',
84
+ },
85
+ gemini: {
86
+ name: 'Gemini CLI',
87
+ dirName: '.gemini',
88
+ engineFile: 'GEMINI.md',
89
+ engineFileTarget: 'GEMINI.md',
90
+ detectFiles: ['GEMINI.md', '.gemini/settings.json'],
91
+ adapterFile: 'gemini-cli.js',
92
+ },
93
+ opencode: {
94
+ name: 'OpenCode',
95
+ dirName: '.opencode',
96
+ engineFile: 'OPENCODE.md',
97
+ engineFileTarget: 'INSTRUCTIONS.md',
98
+ detectFiles: ['INSTRUCTIONS.md', 'opencode.json'],
99
+ adapterFile: 'opencode.js',
100
+ },
101
+ };
102
+
103
+ // ─── CLI Argument Parsing ───────────────────────────────────────────────────
104
+
105
+ function parseArgs() {
106
+ const args = process.argv.slice(2);
107
+ const flags = {
108
+ runtimes: [],
109
+ dryRun: false,
110
+ all: false,
111
+ help: false,
112
+ projectDir: process.cwd(),
113
+ };
114
+
115
+ for (const arg of args) {
116
+ if (arg === '--help' || arg === '-h') flags.help = true;
117
+ else if (arg === '--dry-run') flags.dryRun = true;
118
+ else if (arg === '--all') flags.all = true;
119
+ else if (arg.startsWith('--')) {
120
+ const runtime = arg.slice(2);
121
+ if (RUNTIMES[runtime]) flags.runtimes.push(runtime);
122
+ else {
123
+ console.error(`❌ Unknown runtime: ${runtime}`);
124
+ console.error(` Available: ${Object.keys(RUNTIMES).join(', ')}`);
125
+ process.exit(1);
126
+ }
127
+ }
128
+ }
129
+
130
+ return flags;
131
+ }
132
+
133
+ function printHelp() {
134
+ console.log(`
135
+ Flyee — AI Agent Framework Installer
136
+
137
+ Usage:
138
+ npx flyee [options]
139
+
140
+ Options:
141
+ --antigravity Install for Antigravity (Gemini)
142
+ --claude Install for Claude Code
143
+ --cursor Install for Cursor
144
+ --copilot Install for GitHub Copilot
145
+ --codex Install for OpenAI Codex
146
+ --windsurf Install for Windsurf
147
+ --gemini Install for Gemini CLI
148
+ --opencode Install for OpenCode
149
+ --all Install for all detected runtimes
150
+ --dry-run Preview without writing files
151
+ -h, --help Show this help message
152
+
153
+ Examples:
154
+ npx flyee # Auto-detect & install
155
+ npx flyee --claude # Install for Claude Code
156
+ npx flyee --claude --cursor # Install for both
157
+ `);
158
+ }
159
+
160
+ // ─── Runtime Detection ──────────────────────────────────────────────────────
161
+
162
+ function detectRuntimes(projectDir) {
163
+ const detected = [];
164
+
165
+ for (const [key, config] of Object.entries(RUNTIMES)) {
166
+ for (const file of config.detectFiles) {
167
+ if (existsSync(join(projectDir, file))) {
168
+ detected.push(key);
169
+ break;
170
+ }
171
+ }
172
+ }
173
+
174
+ return detected;
175
+ }
176
+
177
+ // ─── Content Conversion ─────────────────────────────────────────────────────
178
+
179
+ /**
180
+ * Load a runtime adapter module.
181
+ * Each adapter exports a convert(content, config) function that transforms
182
+ * canonical content (using .agent/ paths) to runtime-specific content.
183
+ */
184
+ async function loadAdapter(runtimeKey) {
185
+ const config = RUNTIMES[runtimeKey];
186
+ const adapterPath = join(ADAPTERS_DIR, config.adapterFile);
187
+
188
+ if (!existsSync(adapterPath)) {
189
+ console.warn(`⚠️ Adapter not found for ${config.name}: ${config.adapterFile}`);
190
+ console.warn(` Will install canonical content without conversion.`);
191
+ return null;
192
+ }
193
+
194
+ return await import(adapterPath);
195
+ }
196
+
197
+ /**
198
+ * Convert canonical content to runtime-specific format.
199
+ * Canonical format uses .agent/ paths — adapters transform these.
200
+ */
201
+ function convertContent(content, adapter, runtimeConfig) {
202
+ if (!adapter || !adapter.convert) return content;
203
+ return adapter.convert(content, runtimeConfig);
204
+ }
205
+
206
+ // ─── File Operations ────────────────────────────────────────────────────────
207
+
208
+ function copyDirRecursive(src, dest, adapter, runtimeConfig, dryRun, stats) {
209
+ const entries = readdirSync(src, { withFileTypes: true });
210
+
211
+ for (const entry of entries) {
212
+ const srcPath = join(src, entry.name);
213
+ const destPath = join(dest, entry.name);
214
+
215
+ if (entry.isDirectory()) {
216
+ if (!dryRun) mkdirSync(destPath, { recursive: true });
217
+ copyDirRecursive(srcPath, destPath, adapter, runtimeConfig, dryRun, stats);
218
+ } else {
219
+ stats.files++;
220
+ const content = readFileSync(srcPath, 'utf-8');
221
+ const converted = (entry.name.endsWith('.md') || entry.name.endsWith('.py'))
222
+ ? convertContent(content, adapter, runtimeConfig)
223
+ : content;
224
+
225
+ if (dryRun) {
226
+ const rel = relative(process.cwd(), destPath);
227
+ console.log(` 📄 ${rel}`);
228
+ } else {
229
+ mkdirSync(dirname(destPath), { recursive: true });
230
+ writeFileSync(destPath, converted, 'utf-8');
231
+ }
232
+ }
233
+ }
234
+ }
235
+
236
+ // ─── Installation ───────────────────────────────────────────────────────────
237
+
238
+ async function installForRuntime(runtimeKey, projectDir, dryRun) {
239
+ const config = RUNTIMES[runtimeKey];
240
+ const targetDir = join(projectDir, config.dirName);
241
+ const stats = { files: 0 };
242
+
243
+ console.log(`\n🔧 Installing for ${config.name}...`);
244
+ console.log(` Target: ${config.dirName}/`);
245
+
246
+ // Load adapter
247
+ const adapter = await loadAdapter(runtimeKey);
248
+
249
+ // Create target directory
250
+ if (!dryRun) mkdirSync(targetDir, { recursive: true });
251
+
252
+ // Copy core content
253
+ const coreDirs = ['agents', 'skills', 'workflows', 'scripts', 'templates'];
254
+ for (const dir of coreDirs) {
255
+ const srcDir = join(CORE_DIR, dir);
256
+ if (!existsSync(srcDir)) continue;
257
+
258
+ const destDir = join(targetDir, dir);
259
+ if (!dryRun) mkdirSync(destDir, { recursive: true });
260
+ copyDirRecursive(srcDir, destDir, adapter, config, dryRun, stats);
261
+ }
262
+
263
+ // Copy bridge (as flyee-bridge/ subdirectory)
264
+ const bridgeSrc = join(PACKAGE_ROOT, 'bridge');
265
+ const bridgeDest = join(targetDir, 'flyee-bridge');
266
+ if (existsSync(bridgeSrc)) {
267
+ if (!dryRun) mkdirSync(bridgeDest, { recursive: true });
268
+ copyDirRecursive(bridgeSrc, bridgeDest, adapter, config, dryRun, stats);
269
+ }
270
+
271
+ // Generate engine file (always use GEMINI.md as canonical source, adapter converts)
272
+ const engineFileSrc = join(ENGINE_FILES_DIR, 'GEMINI.md');
273
+ const engineFileDest = join(projectDir, config.engineFileTarget);
274
+
275
+ if (existsSync(engineFileSrc)) {
276
+ if (dryRun) {
277
+ console.log(` 📄 ${config.engineFileTarget}`);
278
+ } else {
279
+ const engineContent = readFileSync(engineFileSrc, 'utf-8');
280
+ const converted = convertContent(engineContent, adapter, config);
281
+ mkdirSync(dirname(engineFileDest), { recursive: true });
282
+ writeFileSync(engineFileDest, converted, 'utf-8');
283
+ }
284
+ stats.files++;
285
+ } else {
286
+ console.warn(`⚠️ Engine file source not found: ${engineFileSrc}`);
287
+ }
288
+
289
+ console.log(` ✅ ${stats.files} files ${dryRun ? 'would be' : ''} installed`);
290
+ return stats;
291
+ }
292
+
293
+ // ─── Main ───────────────────────────────────────────────────────────────────
294
+
295
+ async function main() {
296
+ const flags = parseArgs();
297
+
298
+ if (flags.help) {
299
+ printHelp();
300
+ process.exit(0);
301
+ }
302
+
303
+ console.log(`
304
+ ╔═══════════════════════════════════════╗
305
+ ║ flyee installer ║
306
+ ║ AI Agent Framework — All Runtimes ║
307
+ ╚═══════════════════════════════════════╝
308
+ `);
309
+
310
+ const projectDir = flags.projectDir;
311
+ console.log(`📁 Project: ${projectDir}`);
312
+
313
+ // Determine which runtimes to install
314
+ let targetRuntimes = flags.runtimes;
315
+
316
+ if (flags.all) {
317
+ targetRuntimes = Object.keys(RUNTIMES);
318
+ console.log(`🌐 Installing for ALL runtimes`);
319
+ } else if (targetRuntimes.length === 0) {
320
+ // Auto-detect
321
+ const detected = detectRuntimes(projectDir);
322
+ if (detected.length > 0) {
323
+ console.log(`🔍 Auto-detected runtimes: ${detected.map(r => RUNTIMES[r].name).join(', ')}`);
324
+ targetRuntimes = detected;
325
+ } else {
326
+ console.log(`🔍 No runtime detected. Installing for Antigravity (default).`);
327
+ targetRuntimes = ['antigravity'];
328
+ }
329
+ }
330
+
331
+ if (flags.dryRun) {
332
+ console.log(`\n🏜️ DRY RUN — no files will be written\n`);
333
+ }
334
+
335
+ let totalFiles = 0;
336
+
337
+ for (const runtime of targetRuntimes) {
338
+ const stats = await installForRuntime(runtime, projectDir, flags.dryRun);
339
+ totalFiles += stats.files;
340
+ }
341
+
342
+ console.log(`\n${'═'.repeat(45)}`);
343
+ console.log(`✨ Done! ${totalFiles} files ${flags.dryRun ? 'would be' : ''} installed for ${targetRuntimes.length} runtime(s).`);
344
+
345
+ if (!flags.dryRun) {
346
+ console.log(`\n📋 Next steps:`);
347
+ console.log(` 1. Open your AI coding assistant`);
348
+ console.log(` 2. It will automatically detect the flyee framework`);
349
+ console.log(` 3. Try: "explain the project structure"`);
350
+ console.log(`\n💡 Optional: Connect to Flyee SaaS with 'npx flyee --connect <api-key>'`);
351
+ }
352
+ }
353
+
354
+ main().catch((err) => {
355
+ console.error(`\n❌ Installation failed:`, err.message);
356
+ process.exit(1);
357
+ });