mit einem Klick
steedos-platform
steedos-platform enthält 23 gesammelte Skills von steedos, mit Repository-Berufsabdeckung und Skill-Detailseiten auf SkillsMP.
Skills in diesem Repository
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.