hexagone-frontend

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Hexagone Frontend Documentation -- Navigation Skill

Hexagone 前端文档 -- 导航技能

This skill gives you access to the Hexagone frontend component documentation (
@his/hexa-components
) published as GitLab Pages. Your role is to fetch and read the relevant documentation files when answering questions about Hexagone frontend components, patterns, and conventions.
本技能允许你访问发布为GitLab Pages的Hexagone前端组件文档
@his/hexa-components
)。你的职责是在回答有关Hexagone前端组件、模式和规范的问题时,获取并读取相关的文档文件

What is Hexagone frontend documentation

什么是Hexagone前端文档

The Hexagone frontend is built with Vue.js 2 using a custom component library (
@his/hexa-components
) with beta-scss utility classes and Vuex with vuex-pathify for state management. The documentation site is published at:
https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/frontend/hexagone-documentation
The site is a single-page application (SPA) and cannot be fetched directly. Instead, use the raw markdown files from the GitLab repository, which are specifically optimized for LLM consumption.
When to use this skill:
  • The user asks about a Hexagone UI component (
    <btn>
    ,
    <multiselect>
    ,
    <data-table>
    , etc.)
  • The user needs props, events, or usage examples for a Hexagone component
  • The user asks about beta-scss CSS utility classes (
    flex:6/12
    ,
    p:1
    ,
    m:1
    , etc.)
  • The user asks about the Vuex store modules (user, session, environment, navigation, etc.)
  • The user asks about the API utility (
    Api()
    ,
    StandardApi()
    )
  • The user asks about custom directives (
    v-focus
    ,
    v-uppercase
    )
  • The user asks about form validation rules or form patterns in Hexagone
  • The user is building or modifying a Hexagone Web frontend view/space
  • Any question mentioning "Hexagone" combined with "component", "composant", "frontend", "Vue", "template", "formulaire", or "interface"
Hexagone前端基于Vue.js 2构建,使用自定义组件库(
@his/hexa-components
)、beta-scss工具类以及集成vuex-pathify的Vuex做状态管理。文档站点发布地址为:
https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/frontend/hexagone-documentation
该站点是单页应用(SPA),无法直接抓取,你需要改用GitLab仓库中的原始markdown文件,这些文件是专门为LLM消费优化的。
何时使用本技能:
  • 用户询问Hexagone UI组件(
    <btn>
    <multiselect>
    <data-table>
    等)相关问题
  • 用户需要Hexagone组件的props、events或使用示例
  • 用户询问beta-scss CSS工具类(
    flex:6/12
    p:1
    m:1
    等)相关问题
  • 用户询问Vuex store模块(用户、会话、环境、导航等)相关问题
  • 用户询问API工具(
    Api()
    StandardApi()
    )相关问题
  • 用户询问自定义指令(
    v-focus
    v-uppercase
    )相关问题
  • 用户询问Hexagone中的表单验证规则或表单模式
  • 用户正在构建或修改Hexagone Web前端视图/空间
  • 任何同时提及"Hexagone"和"component"、"composant"、"frontend"、"Vue"、"template"、"formulaire"或"interface"的问题

Critical conventions

关键规范

IMPORTANT: Hexagone uses custom tag names. NEVER use standard HTML tags for these components.
Standard HTMLHexagone equivalentDoc file
<button>
<btn>
components/button.md
<select>
<multiselect>
components/select.md
<table>
<data-table>
components/datatable.md
<input type="checkbox">
<checkbox>
components/checkbox.md
Key rules:
  • All components are globally registered -- no import needed in templates
  • Form fields must be wrapped in
    <div class="input-field"><label for="id">Label</label><!-- component --></div>
  • Use beta-scss utility classes:
    flex
    ,
    flex:wrap
    ,
    flex:6/12
    ,
    p:1
    ,
    m:1
    , etc.
  • Store access via vuex-pathify:
    this.$store.get('module/path')
    and
    this.$store.set('module/path', value)
  • Library:
    @his/hexa-components
    , Framework: Vue.js 2
重要提示:Hexagone使用自定义标签名,绝对不要为这些组件使用标准HTML标签。
标准HTMLHexagone对应组件文档文件
<button>
<btn>
components/button.md
<select>
<multiselect>
components/select.md
<table>
<data-table>
components/datatable.md
<input type="checkbox">
<checkbox>
components/checkbox.md
核心规则:
  • 所有组件都是全局注册的 -- 模板中无需导入
  • 表单字段必须包裹在
    <div class="input-field"><label for="id">标签</label><!-- 组件 --></div>
    结构中
  • 使用beta-scss工具类:
    flex
    flex:wrap
    flex:6/12
    p:1
    m:1
  • 通过vuex-pathify访问store:
    this.$store.get('module/path')
    this.$store.set('module/path', value)
  • 组件库:
    @his/hexa-components
    ,框架:Vue.js 2

Documentation catalog

文档目录

The raw files are available at:
BASE_RAW_URL = https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/
原始文件可从以下地址获取:
BASE_RAW_URL = https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/

Components (36 components)

组件(共36个)

Forms and input

表单与输入类

ComponentTagFile path
Input
<input>
+ wrapper
components/input.md
Textarea
<textarea>
+ wrapper
components/textarea.md
Number
<number>
components/number.md
Currency
<currency>
components/currency.md
Select
<multiselect>
components/select.md
Autocomplete
<autocomplete>
components/autocomplete.md
Checkbox
<checkbox>
components/checkbox.md
Radio
<radio>
components/radio.md
ButtonSwitch
<btn-switch>
components/button-switch.md
Datepicker
<datepicker>
components/datepicker.md
Timepicker
<timepicker>
components/timepicker.md
Colorpicker
<colorpicker>
components/colorpicker.md
File
<file>
components/file.md
Iban
<iban>
components/iban.md
Bic
<bic>
components/bic.md
Radical
<radical>
components/radical.md
组件标签文件路径
Input
<input>
+ 包裹层
components/input.md
Textarea
<textarea>
+ 包裹层
components/textarea.md
Number
<number>
components/number.md
Currency
<currency>
components/currency.md
Select
<multiselect>
components/select.md
Autocomplete
<autocomplete>
components/autocomplete.md
Checkbox
<checkbox>
components/checkbox.md
Radio
<radio>
components/radio.md
ButtonSwitch
<btn-switch>
components/button-switch.md
Datepicker
<datepicker>
components/datepicker.md
Timepicker
<timepicker>
components/timepicker.md
Colorpicker
<colorpicker>
components/colorpicker.md
File
<file>
components/file.md
Iban
<iban>
components/iban.md
Bic
<bic>
components/bic.md
Radical
<radical>
components/radical.md

Navigation and actions

导航与操作类

ComponentTagFile path
Button
<btn>
components/button.md
ButtonGroup
<btn-group>
components/button-group.md
FloatingButton
<floating-btn>
components/floating-button.md
Action
<action>
components/action.md
Link
<link>
components/link.md
Bookmark
<bookmark>
components/bookmark.md
Tabs
<tabs>
components/tabs.md
Steps
<steps>
components/steps.md
组件标签文件路径
Button
<btn>
components/button.md
ButtonGroup
<btn-group>
components/button-group.md
FloatingButton
<floating-btn>
components/floating-button.md
Action
<action>
components/action.md
Link
<link>
components/link.md
Bookmark
<bookmark>
components/bookmark.md
Tabs
<tabs>
components/tabs.md
Steps
<steps>
components/steps.md

Data display

数据展示类

ComponentTagFile path
DataTable
<data-table>
components/datatable.md
SimpleTable
<simple-table>
components/simple-table.md
Card
<card>
components/card.md
ProgressBar
<progress-bar>
components/progress-bar.md
组件标签文件路径
DataTable
<data-table>
components/datatable.md
SimpleTable
<simple-table>
components/simple-table.md
Card
<card>
components/card.md
ProgressBar
<progress-bar>
components/progress-bar.md

User feedback

用户反馈类

ComponentTagFile path
Alert
<alert>
components/alert.md
Modal
<modal>
components/modal.md
Notification
$notification()
components/notification.md
Question
<question>
components/question.md
Tooltips
<tooltips>
components/tooltips.md
PostIt
<post-it>
components/post-it.md
Spinner
<spinner>
components/spinner.md
组件标签文件路径
Alert
<alert>
components/alert.md
Modal
<modal>
components/modal.md
Notification
$notification()
components/notification.md
Question
<question>
components/question.md
Tooltips
<tooltips>
components/tooltips.md
PostIt
<post-it>
components/post-it.md
Spinner
<spinner>
components/spinner.md

Layout

布局类

ComponentTagFile path
Collapsible
<collapsible>
components/collapsible.md
组件标签文件路径
Collapsible
<collapsible>
components/collapsible.md

Patterns

开发模式

TopicFile pathDescription
API utility
patterns/api.md
Api(url, options)
and
StandardApi(USP)
for web service calls
Store (Vuex)
patterns/store.md
Vuex store with vuex-pathify, shared modules (user, session, etc.)
主题文件路径描述
API工具
patterns/api.md
用于服务调用的
Api(url, options)
StandardApi(USP)
Store (Vuex)
patterns/store.md
集成vuex-pathify的Vuex store,共享模块(用户、会话等)

Reference

参考资料

TopicFile pathDescription
Directives
reference/directives.md
v-uppercase
,
v-focus
custom directives
Events
reference/events.md
Mouse and keyboard event handling
Form rules
reference/form-rules.md
Validation rules, required fields,
@is-valid
pattern
主题文件路径描述
指令
reference/directives.md
v-uppercase
v-focus
等自定义指令
事件
reference/events.md
鼠标和键盘事件处理
表单规则
reference/form-rules.md
验证规则、必填字段、
@is-valid
模式

Tag-to-file quick lookup

标签-文件快速查询表

Use this table to quickly find which file to fetch when the user mentions a component tag:
Tag patternFile
<btn>
,
button
components/button.md
<btn-group>
components/button-group.md
<btn-switch>
components/button-switch.md
<floating-btn>
components/floating-button.md
<multiselect>
,
select
components/select.md
<data-table>
,
datatable
,
table
components/datatable.md
<simple-table>
components/simple-table.md
<datepicker>
,
date
components/datepicker.md
<timepicker>
,
time
,
heure
components/timepicker.md
<checkbox>
components/checkbox.md
<radio>
components/radio.md
<autocomplete>
components/autocomplete.md
<modal>
,
modale
components/modal.md
<alert>
,
alerte
components/alert.md
<notification>
,
$notification
components/notification.md
<question>
components/question.md
<card>
,
carte
components/card.md
<collapsible>
components/collapsible.md
<tabs>
,
onglets
components/tabs.md
<steps>
,
etapes
components/steps.md
<spinner>
,
loading
components/spinner.md
<currency>
,
montant
components/currency.md
<iban>
components/iban.md
<bic>
components/bic.md
<number>
,
nombre
components/number.md
<input>
,
champ texte
components/input.md
<textarea>
components/textarea.md
<file>
,
upload
components/file.md
<radical>
components/radical.md
<colorpicker>
,
couleur
components/colorpicker.md
<action>
components/action.md
<link>
,
lien
components/link.md
<bookmark>
,
signet
components/bookmark.md
<post-it>
components/post-it.md
<progress-bar>
components/progress-bar.md
<tooltips>
,
infobulle
components/tooltips.md
当用户提及组件标签时,可使用下表快速查找需要抓取的文件:
标签匹配文件
<btn>
button
components/button.md
<btn-group>
components/button-group.md
<btn-switch>
components/button-switch.md
<floating-btn>
components/floating-button.md
<multiselect>
select
components/select.md
<data-table>
datatable
table
components/datatable.md
<simple-table>
components/simple-table.md
<datepicker>
date
components/datepicker.md
<timepicker>
time
heure
components/timepicker.md
<checkbox>
components/checkbox.md
<radio>
components/radio.md
<autocomplete>
components/autocomplete.md
<modal>
modale
components/modal.md
<alert>
alerte
components/alert.md
<notification>
$notification
components/notification.md
<question>
components/question.md
<card>
carte
components/card.md
<collapsible>
components/collapsible.md
<tabs>
onglets
components/tabs.md
<steps>
etapes
components/steps.md
<spinner>
loading
components/spinner.md
<currency>
montant
components/currency.md
<iban>
components/iban.md
<bic>
components/bic.md
<number>
nombre
components/number.md
<input>
champ texte
components/input.md
<textarea>
components/textarea.md
<file>
upload
components/file.md
<radical>
components/radical.md
<colorpicker>
couleur
components/colorpicker.md
<action>
components/action.md
<link>
lien
components/link.md
<bookmark>
signet
components/bookmark.md
<post-it>
components/post-it.md
<progress-bar>
components/progress-bar.md
<tooltips>
infobulle
components/tooltips.md

CSS utility classes (beta-scss)

CSS工具类(beta-scss)

These classes are available without any fetch -- use them directly:
ClassDescription
flex
Display flex
flex:wrap
Flex wrap
flex:col
Flex direction column
flex:X/12
Fractional width (e.g.,
flex:6/12
= 50%)
p:1
Padding 1rem
m:1
Margin 1rem
pt:1
,
pr:1
,
pb:1
,
pl:1
Directional padding
mt:1
,
mr:1
,
mb:1
,
ml:1
Directional margin
text:bold
Font-weight bold
text:center
Text-align center
bg:grey-light
Light grey background
border
Standard border
rounded:1/2
Border-radius
w:full
Width 100%
以下类无需抓取,可直接使用:
类名描述
flex
弹性布局
flex:wrap
弹性换行
flex:col
弹性纵向排列
flex:X/12
分数宽度(例如
flex:6/12
= 50%宽度)
p:1
内边距1rem
m:1
外边距1rem
pt:1
pr:1
pb:1
pl:1
方向内边距
mt:1
mr:1
mb:1
ml:1
方向外边距
text:bold
字体加粗
text:center
文本居中
bg:grey-light
浅灰背景
border
标准边框
rounded:1/2
边框圆角
w:full
宽度100%

Icons

图标

Use the
<icon>
component with the icon name:
html
<icon>checked</icon>
<icon>close</icon>
<icon>search</icon>
<icon>edit</icon>
Icons come from
@his/fonts-icons
.
使用
<icon>
组件配合图标名称即可:
html
<icon>checked</icon>
<icon>close</icon>
<icon>search</icon>
<icon>edit</icon>
图标来自
@his/fonts-icons

How to answer questions

如何回答问题

Step 1: Identify the relevant file

步骤1:识别相关文件

Map the user's question to one or more documentation files using the tables above:
  • Specific component tag (e.g.,
    <btn>
    ,
    <multiselect>
    ) --> use the tag-to-file lookup
  • Component name (e.g., "datatable", "datepicker") --> match to the component catalog
  • Store / state management --> fetch
    patterns/store.md
  • API / web service calls --> fetch
    patterns/api.md
  • Directives (
    v-focus
    ,
    v-uppercase
    ) --> fetch
    reference/directives.md
  • Form validation / required fields --> fetch
    reference/form-rules.md
  • Events (click, keyboard) --> fetch
    reference/events.md
  • CSS classes --> use the CSS utility table above (no fetch needed)
  • Icons --> use the icons section above (no fetch needed)
  • General "list all components" --> use the catalog above (no fetch needed)
使用上方的表格将用户的问题映射到一个或多个文档文件:
  • 特定组件标签(例如
    <btn>
    <multiselect>
    ) --> 使用标签-文件查询表
  • 组件名称(例如"datatable"、"datepicker") --> 匹配组件目录
  • Store / 状态管理 --> 抓取
    patterns/store.md
  • API / 服务调用 --> 抓取
    patterns/api.md
  • 指令
    v-focus
    v-uppercase
    ) --> 抓取
    reference/directives.md
  • 表单验证 / 必填字段 --> 抓取
    reference/form-rules.md
  • 事件(点击、键盘) --> 抓取
    reference/events.md
  • CSS类 --> 使用上方的CSS工具表(无需抓取)
  • 图标 --> 使用上方的图标部分(无需抓取)
  • 通用的"列出所有组件"需求 --> 使用上方的组件目录(无需抓取)

Step 2: Fetch the file

步骤2:抓取文件

Use WebFetch to retrieve the raw markdown file from GitLab:
WebFetch: url="${BASE_RAW_URL}<file-path>" prompt="Return the full content of this markdown file"
For example:
  • Button component:
    WebFetch: url="https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/components/button.md" prompt="Return the full content"
  • Store pattern:
    WebFetch: url="https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/patterns/store.md" prompt="Return the full content"
Fetch only the file(s) you need. Do not fetch all files at once.
If WebFetch fails (network error, timeout), inform the user that the GitLab instance is unreachable and suggest they:
  1. Access the documentation site directly:
    https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/frontend/hexagone-documentation
  2. Browse the source repo:
    https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/tree/master/docs/llm
使用WebFetch从GitLab获取原始markdown文件:
WebFetch: url="${BASE_RAW_URL}<file-path>" prompt="Return the full content of this markdown file"
示例:
  • 按钮组件:
    WebFetch: url="https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/components/button.md" prompt="Return the full content"
  • Store模式:
    WebFetch: url="https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/raw/master/docs/llm/patterns/store.md" prompt="Return the full content"
仅抓取你需要的文件,不要一次性抓取所有文件。
如果WebFetch失败(网络错误、超时),告知用户GitLab实例无法访问,并建议他们:
  1. 直接访问文档站点:
    https://erp-pas.gitlab-pages-erp-pas.dedalus.lan/hexagone/frontend/hexagone-documentation
  2. 浏览源仓库:
    https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation/-/tree/master/docs/llm

Step 3: Extract and present the answer

步骤3:提取并呈现答案

After fetching, extract the relevant information:
  1. For a specific component: present the props table, events table, and usage examples
  2. For a pattern: present the API/function signature, options, and examples
  3. For a reference topic: present the relevant rules, tables, or directives
Present the information clearly, preserving the original structure (prop tables, event tables, code examples).
抓取完成后,提取相关信息:
  1. 特定组件查询:展示props表、events表和使用示例
  2. 开发模式查询:展示API/函数签名、参数和示例
  3. 参考主题查询:展示相关规则、表格或指令
清晰呈现信息,保留原始结构(属性表、事件表、代码示例)。

Step 4: Cross-reference if needed

步骤4:按需交叉引用

If the user's question spans multiple topics (e.g., "how do I build a form with datepicker and validation?"), fetch multiple files and compose a coherent answer showing how to combine the components.
如果用户的问题涉及多个主题(例如"我如何构建一个带datepicker和验证的表单?"),抓取多个文件并组合出连贯的答案,展示如何结合使用这些组件。

Response guidelines

响应规范

When presenting component documentation, use this structure:
markdown
undefined
展示组件文档时,请使用以下结构:
markdown
undefined

<ComponentName> (
<tag-name>
)

<组件名称> (
<标签名>
)

Library: @his/hexa-components Source: [file URL]
组件库: @his/hexa-components 来源: [文件URL]

Props

Props

PropTypeDefaultDescription
属性类型默认值描述

Events

Events

EventDescription
事件描述

Example

示例

[Code example from the documentation]
undefined
[来自文档的代码示例]
undefined

Important rules

重要规则

  1. Always fetch from the GitLab repository -- never answer from memory or general knowledge about Vue.js components. Hexagone has specific conventions (custom tags, beta-scss, vuex-pathify) that differ from standard Vue.js patterns.
  2. Quote the source file when presenting information: always mention which documentation file the information comes from.
  3. Do not invent props, events, or component behavior -- if the information is not found in the fetched file, say so explicitly. Do not guess or extrapolate.
  4. Respect Hexagone conventions:
    • Use
      <btn>
      not
      <button>
      ,
      <multiselect>
      not
      <select>
      ,
      <data-table>
      not
      <table>
    • Wrap form fields in
      <div class="input-field">
    • Use beta-scss utility classes, not custom CSS
    • Use
      this.$store.get()
      /
      this.$store.set()
      for store access
  5. Handle missing documentation gracefully -- if a component is not documented, inform the user and suggest they check the hexagone-documentation site or open an issue in the repository at
    https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation
    .
  6. Cross-reference with hexagone-swdoc -- if the question involves calling Hexagone backend web services from a frontend view, suggest using the
    hexagone-swdoc
    skill for the API contract details and the
    Api()
    /
    StandardApi()
    utility from this skill for the frontend call pattern.
  7. Form field pattern to always follow:
    html
    <div class="input-field">
      <label for="myField">My Label</label>
      <!-- component here -->
    </div>
  8. Use
    <btn-group>
    instead of
    <multiselect>
    when options are fewer than 6
    -- this avoids an extra click and shows all options directly.
  1. 始终从GitLab仓库抓取内容 -- 绝对不要凭记忆或Vue.js组件的通用知识回答,Hexagone有和标准Vue.js模式不同的特殊规范(自定义标签、beta-scss、vuex-pathify)。
  2. 引用源文件:展示信息时始终说明信息来自哪个文档文件。
  3. 不要虚构props、events或组件行为 -- 如果在抓取的文件中找不到相关信息,明确告知用户,不要猜测或推断。
  4. 遵守Hexagone规范:
    • 使用
      <btn>
      而非
      <button>
      <multiselect>
      而非
      <select>
      <data-table>
      而非
      <table>
    • 将表单字段包裹在
      <div class="input-field">
    • 使用beta-scss工具类,不要自定义CSS
    • 使用
      this.$store.get()
      /
      this.$store.set()
      访问store
  5. 优雅处理缺失文档 -- 如果某个组件没有文档,告知用户并建议他们查看hexagone-documentation站点,或在
    https://gitlab-erp-pas.dedalus.lan/erp-pas/hexagone/frontend/hexagone-documentation
    仓库提交issue。
  6. 与hexagone-swdoc交叉引用 -- 如果问题涉及从前端视图调用Hexagone后端服务,建议使用
    hexagone-swdoc
    技能获取API契约详情,使用本技能的
    Api()
    /
    StandardApi()
    工具实现前端调用模式。
  7. 始终遵守的表单字段模式:
    html
    <div class="input-field">
      <label for="myField">我的标签</label>
      <!-- 组件放在这里 -->
    </div>
  8. 当选项少于6个时使用
    <btn-group>
    而非
    <multiselect>
    -- 这样可以避免额外点击,直接展示所有选项。