en un clic
steedos-platform
steedos-platform contient 23 skills collectées depuis steedos, avec une couverture métier par dépôt et des pages de détail sur le site.
Skills dans ce dépôt
Steedos Server environment variables and YAML settings. TRIGGER: .env files; env vars (MONGO_URL, ROOT_URL, B6_TRANSPORTER, JWT_SECRET); Docker compose setup, production vs development config, YAML env interpolation; datasources, tenant settings, CFS file storage, SSO/OIDC, email. SKIP: B6_* internals → steedos-builder6-internals; project structure → steedos-project-package.
Steedos project/package init & creation (初始化项目, 创建软件包), yarn install/start (NEVER npm).
Steedos project automated development & testing with Playwright MCP. TRIGGER: "自动测试", "迭代开发", "dev-test", "test iterate", "构建重启", "build restart", "playwright", "browser test", "配置测试环境", "setup dev environment", copilot-instructions template. SKIP: object/field definitions → steedos-objects; UI pages → steedos-pages.
Analytics question (.question.yml) and dashboard (.dashboard.yml) files. TRIGGER: .question.yml or .dashboard.yml files; analytics reports, charts, MBQL queries, display types, visualization_settings, result_metadata; dashboard grid layout, card placement, parameter_mappings; @steedos-labs/analytics package; YAML seed data under <package>/main/default/. SKIP: custom Amis page → steedos-pages; analytics API calls → steedos-server-api.
Steedos application definition (.app.yml). TRIGGER: .app.yml files; application sidebar menu, icon/color, mobile visibility, admin_menus, tab_groups, permission_set visibility; app menu not showing (missing tabs field); required fields: name, code, tabs; icon_slds, showSidebar. SKIP: sidebar nav items → steedos-tabs; page content → steedos-pages.
Builder6 REST API: Tables, Direct MongoDB, Files, Auth, Users. TRIGGER: /api/v6/tables/:baseId/:tableId CRUD; /api/v6/direct/:objectName; /api/v6/files; /api/v6/auth/login; /api/v6/users/me; presigned URLs; Swagger UI at /api/v6; baseId/tableId addressing, batch operations, collection naming (t_{baseId}_{tableId}), lookup field resolution, DataLoader batching, DevExtreme adapter (@builder6/query-mongodb), MetaService. SKIP: /api/v6/data/ or /api/v6/objects or /api/v6/functions → steedos-server-api; GraphQL → steedos-graphql-api; architecture → steedos-builder6-internals; auth guards/files/plugins → steedos-builder6-modules.
Builder6 Server architecture: NestJS 11 + Moleculer 0.14 hybrid monorepo. TRIGGER: @builder6/* packages, monorepo structure, module organization, bootstrap, middleware, guards; B6_* environment variables, dotenv-flow, STEEDOS_ compatibility aliases, ConfigService access. SKIP: use API → steedos-builder6-api; Steedos Server internals → steedos-server-internals; project env config → steedos-configuration.
Builder6 auth, file storage, and plugin modules. TRIGGER: AuthGuard, AdminGuard, token formats, signIn, password hashing, cookie management, API keys; file upload/download (local/S3, /api/v6/files, presigned URLs, cfs.* collections); plugin system (B6_PLUGIN_MODULES, B6_PLUGIN_PACKAGES, PluginModule, MoleculerPluginService). SKIP: object permissions → steedos-object-permissions; architecture → steedos-builder6-internals.
Steedos platform built-in objects reference (~93 objects). TRIGGER: lookup/master_detail field referencing built-in object; built-in object names, fields, relationships; core entities: users, organizations, spaces, space_users, company, roles, permission_set, apps, tasks, accounts, contacts; Chinese/English name mapping (Department=organizations, Workspace=spaces, Division=company, Permission Profile=permission_set); sharing rules, organizational hierarchy. SKIP: custom object syntax → steedos-objects; field types → steedos-object-fields.
Steedos Platform overview, skill routing guide, and CLI commands. TRIGGER: new to Steedos, "what is Steedos", "where do I start"; which skill to use; no specific skill matches; Steedos CLI (steedos start, restart, deploy, import/export); package validation. SKIP: specific task identified → route to relevant skill directly. Orientation/routing guide ONLY, not for implementation details.
Steedos GraphQL API auto-generated from object metadata at /graphql. TRIGGER: POST /graphql; {object}, {object}__findOne, {object}__count, {object}__insert, {object}__update, {object}__delete; __expand (lookup expansion), _display (formatted values), _permissions (record permissions), _related_* (related records); filters/pagination/sorting in GraphQL; Apollo Playground. SKIP: REST CRUD → steedos-server-api or steedos-builder6-api; server functions → steedos-server-logic.
Custom action buttons (.button.yml) for record pages and list views. TRIGGER: .button.yml in objects/{name}/buttons/; button properties (name, label, type, on, is_enable, visible, visibleOn, amis_schema); Amis actions (ajax, dialog, broadcast, reload, toast); button visibility formulas; hide standard buttons (standard_edit, standard_delete, standard_new). CRITICAL: amis_schema root MUST be a `service` wrapper. SKIP: auto logic on data change → steedos-server-logic; sidebar navigation → steedos-tabs.
Steedos field types and .field.yml configuration. TRIGGER: .field.yml files in objects/{name}/fields/; field types (text, number, currency, select, lookup, master_detail, formula, summary, file, image, location); field properties (required, default, index, searchable, filterable, visible_on, amis, group); lookup/relationship config, formulas, field UI with Amis schema. SKIP: object definition → steedos-objects; list columns → steedos-objects; field-level security → steedos-object-permissions.
Multi-level permission control: object-level, field-level, record-level. TRIGGER: .permission.yml, .permissionset.yml, .profile.yml, .role.yml, .restrictionRule.yml; allowCreate/Read/Edit/Delete, viewAllRecords, modifyAllRecords; readable_fields, editable_fields; restriction rules (dynamic row-level filters); permission set, profile definition. SKIP: button visibility (visibleOn) → steedos-object-buttons; field visible_on → steedos-object-fields; tab permissions → steedos-tabs.
Steedos object data models (.object.yml) and list views (.listview.yml). TRIGGER: .object.yml, .listview.yml files; object settings (label, icon, enable_files, enable_approvals, enable_audit), object relationships (extend, base), folder structure (objects/{name}/ with fields/, listviews/, permissions/, buttons/); list view columns, filters, sort, searchable fields, mobile columns, view types (grid, calendar, kanban), crud_mode, shared/shared_to, filter_scope; "how do I create a new object". SKIP: fields → steedos-object-fields; permissions → steedos-object-permissions; buttons → steedos-object-buttons; triggers/functions → steedos-server-logic.
Amis-based custom pages: standalone (type: app) and object-bound (type: record/list). TRIGGER: .page.yml, .page.amis.json files; standalone Amis pages for dashboards/reports/forms; record detail pages, list pages, pageAssignments; Steedos Amis components (steedos-record-service, steedos-object-listview, steedos-record-form, steedos-record-detail-header); render_engine: amis. SKIP: React webapp → steedos-webapps; action buttons → steedos-object-buttons; sidebar nav → steedos-tabs.
Initial seed data files (.data.json/.yml/.csv) in main/default/data/. TRIGGER: .data.json, .data.yml, .data.csv files; pre-populate initial records at startup; seed data naming, _id requirements, template variables (${space_id}, ${space_owner_id}), EJSON date format, autonumber values; import behavior (onlyInsert on startup vs upsert on space init). SKIP: CLI import → steedos-getting-started; object schema → steedos-objects; programmatic insert in trigger → steedos-server-logic.
Steedos Server REST API (v6): data CRUD, object metadata, function invocation. TRIGGER: /api/v6/data/:objectName CRUD; /api/v6/objects/:objectApiName metadata; /api/v6/functions/:objectName/:functionName; /api/v6/health; /api/v6/public/settings; query params (fields, filters, sort, skip, top); call Steedos function via REST; cookie-based vs Bearer token auth. SKIP: /api/v6/tables/ or /api/v6/direct/ → steedos-builder6-api; GraphQL → steedos-graphql-api.
Steedos Server internal architecture: NestJS 11 + Moleculer 0.14 hybrid. TRIGGER: NestJS module organization; Moleculer broker (namespace, transporter, cacher, serializer); AppMoleculer events ($packages.changed, $metadata.*, @objectRecordEvent); Socket.IO AppGateway, WebSocket rooms; bootstrap sequence, middleware, guards, dependency injection; broker.call, broker.emit; edition system, @builder6/* ecosystem. SKIP: use REST API → steedos-server-api or steedos-builder6-api; configure server → steedos-configuration; Builder6 internals → steedos-builder6-internals; overview → steedos-getting-started.
Server-side triggers (.trigger.yml) and functions (.function.yml). TRIGGER: .trigger.yml, .function.yml files in main/default/triggers/ and functions/; server-side JavaScript on record CRUD; lifecycle hooks (beforeInsert, afterInsert, beforeUpdate, afterUpdate, beforeDelete, afterDelete); trigger context (ctx.params.doc, previousDoc, id); data validation, auto-fill, cascade updates, external API calls; function properties (name, objectApiName, is_rest, script, isEnabled), ctx.input, objects API. SKIP: button UI → steedos-object-buttons; REST calls → steedos-server-api; object definitions → steedos-objects.
Navigation tabs (.tab.yml) for Steedos application sidebars. TRIGGER: .tab.yml files; sidebar navigation item; tab types (object, page, url, analytics_dashboard); link to object list view, micro page, analytics dashboard, external/internal URL; tab icon, label, desktop/mobile, is_use_iframe, is_new_window, license, permission_set visibility; tab not appearing. SKIP: application container → steedos-applications; page content → steedos-pages.
Steedos i18n: .translation.yml and .objectTranslation.yml files. TRIGGER: .translation.yml, .objectTranslation.yml files; Chinese/English labels for objects, fields, list views, buttons, select options, tab/app names; i18n/internationalization; translate field labels, help text, picklist options; naming conventions (en.translation.yml, zh-CN.objectTranslation.yml); label shows wrong language. SKIP: field definition → steedos-object-fields; object structure → steedos-objects; app/tab source config → steedos-applications / steedos-tabs.
Custom React + Vite webapps in Steedos packages (webapps/ directory). TRIGGER: webapps/ directory, React + Vite SPA; custom amis Renderer components (IIFE, amisRequire, ScopedContext); vite.amis.config.ts, amis-entry.ts, amis-jsx-shim.ts; client loader (*.client.js, waitForThing, loadJs, loadCss); CSS scope isolation (postcss-prefix-selector); Tailwind v4; build scripts, deployment to public/. SKIP: Amis page (non-React) → steedos-pages.