funifier-mcp 0.1.0 → 0.2.3

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 (114) hide show
  1. package/.cursor/rules/funifier.mdc +91 -0
  2. package/.github/copilot-instructions.md +83 -0
  3. package/AGENTS.md +97 -0
  4. package/README.md +351 -351
  5. package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -0
  6. package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -0
  7. package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -0
  8. package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -0
  9. package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -0
  10. package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -0
  11. package/datasource-funifier-docs/knowledge/index.md +121 -0
  12. package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -0
  13. package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -0
  14. package/datasource-funifier-docs/knowledge/modules/action.md +80 -0
  15. package/datasource-funifier-docs/knowledge/modules/auth.md +104 -0
  16. package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -0
  17. package/datasource-funifier-docs/knowledge/modules/backup.md +40 -0
  18. package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -0
  19. package/datasource-funifier-docs/knowledge/modules/compact.md +40 -0
  20. package/datasource-funifier-docs/knowledge/modules/competition.md +149 -0
  21. package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -0
  22. package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -0
  23. package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -0
  24. package/datasource-funifier-docs/knowledge/modules/database.md +241 -0
  25. package/datasource-funifier-docs/knowledge/modules/folder.md +111 -0
  26. package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -0
  27. package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -0
  28. package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -0
  29. package/datasource-funifier-docs/knowledge/modules/level.md +83 -0
  30. package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -0
  31. package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -0
  32. package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -0
  33. package/datasource-funifier-docs/knowledge/modules/notification.md +40 -0
  34. package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -0
  35. package/datasource-funifier-docs/knowledge/modules/player.md +101 -0
  36. package/datasource-funifier-docs/knowledge/modules/point.md +67 -0
  37. package/datasource-funifier-docs/knowledge/modules/public.md +253 -0
  38. package/datasource-funifier-docs/knowledge/modules/question.md +136 -0
  39. package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -0
  40. package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -0
  41. package/datasource-funifier-docs/knowledge/modules/security.md +169 -0
  42. package/datasource-funifier-docs/knowledge/modules/staging.md +28 -0
  43. package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -0
  44. package/datasource-funifier-docs/knowledge/modules/story.md +42 -0
  45. package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -0
  46. package/datasource-funifier-docs/knowledge/modules/swap.md +132 -0
  47. package/datasource-funifier-docs/knowledge/modules/team.md +75 -0
  48. package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -0
  49. package/datasource-funifier-docs/knowledge/modules/upload.md +155 -0
  50. package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -0
  51. package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -0
  52. package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -0
  53. package/datasource-funifier-docs/knowledge/modules/widget.md +42 -0
  54. package/datasource-funifier-docs/process-gtm-saas.md +143 -0
  55. package/datasource-funifier-docs/process-instagram.md +88 -0
  56. package/datasource-funifier-docs/process.md +1826 -0
  57. package/datasource-funifier-docs/readme.md +132 -0
  58. package/dist/cli/config-writers.d.ts +15 -0
  59. package/dist/cli/config-writers.d.ts.map +1 -0
  60. package/dist/cli/config-writers.js +55 -0
  61. package/dist/cli/config-writers.js.map +1 -0
  62. package/dist/cli/config-writers.test.d.ts +2 -0
  63. package/dist/cli/config-writers.test.d.ts.map +1 -0
  64. package/dist/cli/config-writers.test.js +55 -0
  65. package/dist/cli/config-writers.test.js.map +1 -0
  66. package/dist/cli/copy.d.ts +6 -0
  67. package/dist/cli/copy.d.ts.map +1 -0
  68. package/dist/cli/copy.js +63 -0
  69. package/dist/cli/copy.js.map +1 -0
  70. package/dist/cli/copy.test.d.ts +2 -0
  71. package/dist/cli/copy.test.d.ts.map +1 -0
  72. package/dist/cli/copy.test.js +94 -0
  73. package/dist/cli/copy.test.js.map +1 -0
  74. package/dist/cli/init.d.ts +2 -0
  75. package/dist/cli/init.d.ts.map +1 -0
  76. package/dist/cli/init.js +167 -0
  77. package/dist/cli/init.js.map +1 -0
  78. package/dist/cli/paths.d.ts +7 -0
  79. package/dist/cli/paths.d.ts.map +1 -0
  80. package/dist/cli/paths.js +62 -0
  81. package/dist/cli/paths.js.map +1 -0
  82. package/dist/cli/paths.test.d.ts +2 -0
  83. package/dist/cli/paths.test.d.ts.map +1 -0
  84. package/dist/cli/paths.test.js +50 -0
  85. package/dist/cli/paths.test.js.map +1 -0
  86. package/dist/cli/platforms.d.ts +22 -0
  87. package/dist/cli/platforms.d.ts.map +1 -0
  88. package/dist/cli/platforms.js +50 -0
  89. package/dist/cli/platforms.js.map +1 -0
  90. package/dist/cli/prompts.d.ts +7 -0
  91. package/dist/cli/prompts.d.ts.map +1 -0
  92. package/dist/cli/prompts.js +49 -0
  93. package/dist/cli/prompts.js.map +1 -0
  94. package/dist/index.js +1 -1
  95. package/dist/index.js.map +1 -1
  96. package/dist/mcp/bundle.js +98 -50
  97. package/dist/mcp/index.js +18 -1
  98. package/dist/mcp/index.js.map +1 -1
  99. package/package.json +70 -65
  100. package/skills/funifier-create-action/SKILL.md +86 -86
  101. package/skills/funifier-create-aggregate/SKILL.md +126 -87
  102. package/skills/funifier-create-challenge/SKILL.md +87 -87
  103. package/skills/funifier-create-custom-page/SKILL.md +126 -87
  104. package/skills/funifier-create-leaderboard/SKILL.md +87 -87
  105. package/skills/funifier-create-level/SKILL.md +86 -86
  106. package/skills/funifier-create-point/SKILL.md +86 -86
  107. package/skills/funifier-create-quiz/SKILL.md +86 -86
  108. package/skills/funifier-create-scheduler/SKILL.md +126 -87
  109. package/skills/funifier-create-trigger/SKILL.md +127 -88
  110. package/skills/funifier-create-virtual-good/SKILL.md +86 -86
  111. package/skills/funifier-debug/SKILL.md +90 -90
  112. package/skills/funifier-help/SKILL.md +85 -85
  113. package/skills/funifier-implement-frontend/SKILL.md +89 -89
  114. package/skills/funifier-index/SKILL.md +50 -50
@@ -1,86 +1,86 @@
1
- ---
2
- name: funifier-create-level
3
- description: Create Funifier levels — progression system based on accumulated points
4
- ---
5
-
6
- # funifier-create-level
7
-
8
- Create Funifier levels — progression system based on accumulated points
9
-
10
- ## Persona e Qualidade de Código
11
-
12
- A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
-
14
- ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
-
16
- 1. **Analise cuidadosamente o problema ou o código existente.**
17
- 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
- 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
- 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
- 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
- - **SOLID**
22
- - **DRY (Don't Repeat Yourself)**
23
- - **KISS (Keep It Simple, Stupid)**
24
- - **YAGNI (You Aren't Gonna Need It)**
25
-
26
- Só então prossiga com a implementação.
27
-
28
- > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
-
30
- ---
31
-
32
- ## Before starting — find relevant docs
33
-
34
- Run lexical search to load only what you need:
35
-
36
- ```bash
37
- npx tsx scripts/search-docs.ts "level progression rank tier xp points unlock" --skill funifier-create-level
38
- ```
39
-
40
- Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
-
42
- ## Primary docs for this skill
43
-
44
- If search returns insufficient results, read directly:
45
-
46
- - `datasource-funifier-docs/knowledge/modules/level.md`
47
- - `datasource-funifier-docs/knowledge/modules/point.md`
48
-
49
- ## Steps
50
-
51
- ### 1. Understand the requirement
52
-
53
- Ask the user what they want to create or accomplish. Gather:
54
- - The name/title
55
- - The purpose and behavior
56
- - Any specific configuration or constraints
57
-
58
- ### 2. Search for relevant documentation
59
-
60
- Run the lexical search (command shown above) and read the returned files.
61
-
62
- ### 3. Check existing resources (if MCP available)
63
-
64
- Use `funifier_list` with the relevant type and a `search` parameter to see
65
- if a similar resource already exists. Never list all resources without a search term.
66
-
67
- ### 4. Design and confirm
68
-
69
- Based on the docs, outline the configuration to the user and confirm before saving.
70
-
71
- ### 5. Create or update
72
-
73
- Use `funifier_save` with the appropriate type and a JSON payload to create or
74
- update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
-
76
- ### 6. Validate
77
-
78
- Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
- the resource was saved correctly and executed without errors.
80
-
81
- ## MCP
82
-
83
- If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
- - Use MCP for live server data
85
- - Use docs for correct patterns and syntax
86
- - Never learn patterns from existing live resources — docs are authoritative
1
+ ---
2
+ name: funifier-create-level
3
+ description: Create Funifier levels — progression system based on accumulated points
4
+ ---
5
+
6
+ # funifier-create-level
7
+
8
+ Create Funifier levels — progression system based on accumulated points
9
+
10
+ ## Persona e Qualidade de Código
11
+
12
+ A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
+
14
+ ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
+
16
+ 1. **Analise cuidadosamente o problema ou o código existente.**
17
+ 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
+ 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
+ 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
+ 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
+ - **SOLID**
22
+ - **DRY (Don't Repeat Yourself)**
23
+ - **KISS (Keep It Simple, Stupid)**
24
+ - **YAGNI (You Aren't Gonna Need It)**
25
+
26
+ Só então prossiga com a implementação.
27
+
28
+ > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
+
30
+ ---
31
+
32
+ ## Before starting — find relevant docs
33
+
34
+ Run lexical search to load only what you need:
35
+
36
+ ```bash
37
+ npx tsx scripts/search-docs.ts "level progression rank tier xp points unlock" --skill funifier-create-level
38
+ ```
39
+
40
+ Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
+
42
+ ## Primary docs for this skill
43
+
44
+ If search returns insufficient results, read directly:
45
+
46
+ - `datasource-funifier-docs/knowledge/modules/level.md`
47
+ - `datasource-funifier-docs/knowledge/modules/point.md`
48
+
49
+ ## Steps
50
+
51
+ ### 1. Understand the requirement
52
+
53
+ Ask the user what they want to create or accomplish. Gather:
54
+ - The name/title
55
+ - The purpose and behavior
56
+ - Any specific configuration or constraints
57
+
58
+ ### 2. Search for relevant documentation
59
+
60
+ Run the lexical search (command shown above) and read the returned files.
61
+
62
+ ### 3. Check existing resources (if MCP available)
63
+
64
+ Use `funifier_list` with the relevant type and a `search` parameter to see
65
+ if a similar resource already exists. Never list all resources without a search term.
66
+
67
+ ### 4. Design and confirm
68
+
69
+ Based on the docs, outline the configuration to the user and confirm before saving.
70
+
71
+ ### 5. Create or update
72
+
73
+ Use `funifier_save` with the appropriate type and a JSON payload to create or
74
+ update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
+
76
+ ### 6. Validate
77
+
78
+ Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
+ the resource was saved correctly and executed without errors.
80
+
81
+ ## MCP
82
+
83
+ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
+ - Use MCP for live server data
85
+ - Use docs for correct patterns and syntax
86
+ - Never learn patterns from existing live resources — docs are authoritative
@@ -1,86 +1,86 @@
1
- ---
2
- name: funifier-create-point
3
- description: Create a Funifier point category — XP, coins, or custom metrics
4
- ---
5
-
6
- # funifier-create-point
7
-
8
- Create a Funifier point category — XP, coins, or custom metrics
9
-
10
- ## Persona e Qualidade de Código
11
-
12
- A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
-
14
- ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
-
16
- 1. **Analise cuidadosamente o problema ou o código existente.**
17
- 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
- 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
- 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
- 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
- - **SOLID**
22
- - **DRY (Don't Repeat Yourself)**
23
- - **KISS (Keep It Simple, Stupid)**
24
- - **YAGNI (You Aren't Gonna Need It)**
25
-
26
- Só então prossiga com a implementação.
27
-
28
- > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
-
30
- ---
31
-
32
- ## Before starting — find relevant docs
33
-
34
- Run lexical search to load only what you need:
35
-
36
- ```bash
37
- npx tsx scripts/search-docs.ts "point xp coin currency score metric category" --skill funifier-create-point
38
- ```
39
-
40
- Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
-
42
- ## Primary docs for this skill
43
-
44
- If search returns insufficient results, read directly:
45
-
46
- - `datasource-funifier-docs/knowledge/modules/point.md`
47
- - `datasource-funifier-docs/knowledge/modules/achievement.md`
48
-
49
- ## Steps
50
-
51
- ### 1. Understand the requirement
52
-
53
- Ask the user what they want to create or accomplish. Gather:
54
- - The name/title
55
- - The purpose and behavior
56
- - Any specific configuration or constraints
57
-
58
- ### 2. Search for relevant documentation
59
-
60
- Run the lexical search (command shown above) and read the returned files.
61
-
62
- ### 3. Check existing resources (if MCP available)
63
-
64
- Use `funifier_list` with the relevant type and a `search` parameter to see
65
- if a similar resource already exists. Never list all resources without a search term.
66
-
67
- ### 4. Design and confirm
68
-
69
- Based on the docs, outline the configuration to the user and confirm before saving.
70
-
71
- ### 5. Create or update
72
-
73
- Use `funifier_save` with the appropriate type and a JSON payload to create or
74
- update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
-
76
- ### 6. Validate
77
-
78
- Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
- the resource was saved correctly and executed without errors.
80
-
81
- ## MCP
82
-
83
- If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
- - Use MCP for live server data
85
- - Use docs for correct patterns and syntax
86
- - Never learn patterns from existing live resources — docs are authoritative
1
+ ---
2
+ name: funifier-create-point
3
+ description: Create a Funifier point category — XP, coins, or custom metrics
4
+ ---
5
+
6
+ # funifier-create-point
7
+
8
+ Create a Funifier point category — XP, coins, or custom metrics
9
+
10
+ ## Persona e Qualidade de Código
11
+
12
+ A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
+
14
+ ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
+
16
+ 1. **Analise cuidadosamente o problema ou o código existente.**
17
+ 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
+ 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
+ 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
+ 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
+ - **SOLID**
22
+ - **DRY (Don't Repeat Yourself)**
23
+ - **KISS (Keep It Simple, Stupid)**
24
+ - **YAGNI (You Aren't Gonna Need It)**
25
+
26
+ Só então prossiga com a implementação.
27
+
28
+ > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
+
30
+ ---
31
+
32
+ ## Before starting — find relevant docs
33
+
34
+ Run lexical search to load only what you need:
35
+
36
+ ```bash
37
+ npx tsx scripts/search-docs.ts "point xp coin currency score metric category" --skill funifier-create-point
38
+ ```
39
+
40
+ Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
+
42
+ ## Primary docs for this skill
43
+
44
+ If search returns insufficient results, read directly:
45
+
46
+ - `datasource-funifier-docs/knowledge/modules/point.md`
47
+ - `datasource-funifier-docs/knowledge/modules/achievement.md`
48
+
49
+ ## Steps
50
+
51
+ ### 1. Understand the requirement
52
+
53
+ Ask the user what they want to create or accomplish. Gather:
54
+ - The name/title
55
+ - The purpose and behavior
56
+ - Any specific configuration or constraints
57
+
58
+ ### 2. Search for relevant documentation
59
+
60
+ Run the lexical search (command shown above) and read the returned files.
61
+
62
+ ### 3. Check existing resources (if MCP available)
63
+
64
+ Use `funifier_list` with the relevant type and a `search` parameter to see
65
+ if a similar resource already exists. Never list all resources without a search term.
66
+
67
+ ### 4. Design and confirm
68
+
69
+ Based on the docs, outline the configuration to the user and confirm before saving.
70
+
71
+ ### 5. Create or update
72
+
73
+ Use `funifier_save` with the appropriate type and a JSON payload to create or
74
+ update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
+
76
+ ### 6. Validate
77
+
78
+ Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
+ the resource was saved correctly and executed without errors.
80
+
81
+ ## MCP
82
+
83
+ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
+ - Use MCP for live server data
85
+ - Use docs for correct patterns and syntax
86
+ - Never learn patterns from existing live resources — docs are authoritative
@@ -1,86 +1,86 @@
1
- ---
2
- name: funifier-create-quiz
3
- description: Create a Funifier quiz — questionnaires with multiple-choice questions
4
- ---
5
-
6
- # funifier-create-quiz
7
-
8
- Create a Funifier quiz — questionnaires with multiple-choice questions
9
-
10
- ## Persona e Qualidade de Código
11
-
12
- A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
-
14
- ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
-
16
- 1. **Analise cuidadosamente o problema ou o código existente.**
17
- 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
- 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
- 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
- 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
- - **SOLID**
22
- - **DRY (Don't Repeat Yourself)**
23
- - **KISS (Keep It Simple, Stupid)**
24
- - **YAGNI (You Aren't Gonna Need It)**
25
-
26
- Só então prossiga com a implementação.
27
-
28
- > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
-
30
- ---
31
-
32
- ## Before starting — find relevant docs
33
-
34
- Run lexical search to load only what you need:
35
-
36
- ```bash
37
- npx tsx scripts/search-docs.ts "quiz question answer questionnaire multiple choice survey" --skill funifier-create-quiz
38
- ```
39
-
40
- Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
-
42
- ## Primary docs for this skill
43
-
44
- If search returns insufficient results, read directly:
45
-
46
- - `datasource-funifier-docs/knowledge/modules/quiz.md`
47
- - `datasource-funifier-docs/knowledge/modules/question.md`
48
-
49
- ## Steps
50
-
51
- ### 1. Understand the requirement
52
-
53
- Ask the user what they want to create or accomplish. Gather:
54
- - The name/title
55
- - The purpose and behavior
56
- - Any specific configuration or constraints
57
-
58
- ### 2. Search for relevant documentation
59
-
60
- Run the lexical search (command shown above) and read the returned files.
61
-
62
- ### 3. Check existing resources (if MCP available)
63
-
64
- Use `funifier_list` with the relevant type and a `search` parameter to see
65
- if a similar resource already exists. Never list all resources without a search term.
66
-
67
- ### 4. Design and confirm
68
-
69
- Based on the docs, outline the configuration to the user and confirm before saving.
70
-
71
- ### 5. Create or update
72
-
73
- Use `funifier_save` with the appropriate type and a JSON payload to create or
74
- update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
-
76
- ### 6. Validate
77
-
78
- Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
- the resource was saved correctly and executed without errors.
80
-
81
- ## MCP
82
-
83
- If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
- - Use MCP for live server data
85
- - Use docs for correct patterns and syntax
86
- - Never learn patterns from existing live resources — docs are authoritative
1
+ ---
2
+ name: funifier-create-quiz
3
+ description: Create a Funifier quiz — questionnaires with multiple-choice questions
4
+ ---
5
+
6
+ # funifier-create-quiz
7
+
8
+ Create a Funifier quiz — questionnaires with multiple-choice questions
9
+
10
+ ## Persona e Qualidade de Código
11
+
12
+ A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
13
+
14
+ ### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
15
+
16
+ 1. **Analise cuidadosamente o problema ou o código existente.**
17
+ 2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
18
+ 3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
19
+ 4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
20
+ 5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
21
+ - **SOLID**
22
+ - **DRY (Don't Repeat Yourself)**
23
+ - **KISS (Keep It Simple, Stupid)**
24
+ - **YAGNI (You Aren't Gonna Need It)**
25
+
26
+ Só então prossiga com a implementação.
27
+
28
+ > **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
29
+
30
+ ---
31
+
32
+ ## Before starting — find relevant docs
33
+
34
+ Run lexical search to load only what you need:
35
+
36
+ ```bash
37
+ npx tsx scripts/search-docs.ts "quiz question answer questionnaire multiple choice survey" --skill funifier-create-quiz
38
+ ```
39
+
40
+ Read only files returned with score > 0.5 (this threshold is printed in the search output).
41
+
42
+ ## Primary docs for this skill
43
+
44
+ If search returns insufficient results, read directly:
45
+
46
+ - `datasource-funifier-docs/knowledge/modules/quiz.md`
47
+ - `datasource-funifier-docs/knowledge/modules/question.md`
48
+
49
+ ## Steps
50
+
51
+ ### 1. Understand the requirement
52
+
53
+ Ask the user what they want to create or accomplish. Gather:
54
+ - The name/title
55
+ - The purpose and behavior
56
+ - Any specific configuration or constraints
57
+
58
+ ### 2. Search for relevant documentation
59
+
60
+ Run the lexical search (command shown above) and read the returned files.
61
+
62
+ ### 3. Check existing resources (if MCP available)
63
+
64
+ Use `funifier_list` with the relevant type and a `search` parameter to see
65
+ if a similar resource already exists. Never list all resources without a search term.
66
+
67
+ ### 4. Design and confirm
68
+
69
+ Based on the docs, outline the configuration to the user and confirm before saving.
70
+
71
+ ### 5. Create or update
72
+
73
+ Use `funifier_save` with the appropriate type and a JSON payload to create or
74
+ update the resource. If MCP is unavailable, show the complete JSON for manual use.
75
+
76
+ ### 6. Validate
77
+
78
+ Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
+ the resource was saved correctly and executed without errors.
80
+
81
+ ## MCP
82
+
83
+ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
84
+ - Use MCP for live server data
85
+ - Use docs for correct patterns and syntax
86
+ - Never learn patterns from existing live resources — docs are authoritative