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.
- package/.cursor/rules/funifier.mdc +91 -0
- package/.github/copilot-instructions.md +83 -0
- package/AGENTS.md +97 -0
- package/README.md +351 -351
- package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -0
- package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -0
- package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -0
- package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -0
- package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -0
- package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -0
- package/datasource-funifier-docs/knowledge/index.md +121 -0
- package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -0
- package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -0
- package/datasource-funifier-docs/knowledge/modules/action.md +80 -0
- package/datasource-funifier-docs/knowledge/modules/auth.md +104 -0
- package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -0
- package/datasource-funifier-docs/knowledge/modules/backup.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -0
- package/datasource-funifier-docs/knowledge/modules/compact.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/competition.md +149 -0
- package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -0
- package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -0
- package/datasource-funifier-docs/knowledge/modules/database.md +241 -0
- package/datasource-funifier-docs/knowledge/modules/folder.md +111 -0
- package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -0
- package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -0
- package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -0
- package/datasource-funifier-docs/knowledge/modules/level.md +83 -0
- package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -0
- package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -0
- package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -0
- package/datasource-funifier-docs/knowledge/modules/notification.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -0
- package/datasource-funifier-docs/knowledge/modules/player.md +101 -0
- package/datasource-funifier-docs/knowledge/modules/point.md +67 -0
- package/datasource-funifier-docs/knowledge/modules/public.md +253 -0
- package/datasource-funifier-docs/knowledge/modules/question.md +136 -0
- package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -0
- package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -0
- package/datasource-funifier-docs/knowledge/modules/security.md +169 -0
- package/datasource-funifier-docs/knowledge/modules/staging.md +28 -0
- package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/story.md +42 -0
- package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -0
- package/datasource-funifier-docs/knowledge/modules/swap.md +132 -0
- package/datasource-funifier-docs/knowledge/modules/team.md +75 -0
- package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -0
- package/datasource-funifier-docs/knowledge/modules/upload.md +155 -0
- package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -0
- package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/widget.md +42 -0
- package/datasource-funifier-docs/process-gtm-saas.md +143 -0
- package/datasource-funifier-docs/process-instagram.md +88 -0
- package/datasource-funifier-docs/process.md +1826 -0
- package/datasource-funifier-docs/readme.md +132 -0
- package/dist/cli/config-writers.d.ts +15 -0
- package/dist/cli/config-writers.d.ts.map +1 -0
- package/dist/cli/config-writers.js +55 -0
- package/dist/cli/config-writers.js.map +1 -0
- package/dist/cli/config-writers.test.d.ts +2 -0
- package/dist/cli/config-writers.test.d.ts.map +1 -0
- package/dist/cli/config-writers.test.js +55 -0
- package/dist/cli/config-writers.test.js.map +1 -0
- package/dist/cli/copy.d.ts +6 -0
- package/dist/cli/copy.d.ts.map +1 -0
- package/dist/cli/copy.js +63 -0
- package/dist/cli/copy.js.map +1 -0
- package/dist/cli/copy.test.d.ts +2 -0
- package/dist/cli/copy.test.d.ts.map +1 -0
- package/dist/cli/copy.test.js +94 -0
- package/dist/cli/copy.test.js.map +1 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +167 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/paths.d.ts +7 -0
- package/dist/cli/paths.d.ts.map +1 -0
- package/dist/cli/paths.js +62 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/paths.test.d.ts +2 -0
- package/dist/cli/paths.test.d.ts.map +1 -0
- package/dist/cli/paths.test.js +50 -0
- package/dist/cli/paths.test.js.map +1 -0
- package/dist/cli/platforms.d.ts +22 -0
- package/dist/cli/platforms.d.ts.map +1 -0
- package/dist/cli/platforms.js +50 -0
- package/dist/cli/platforms.js.map +1 -0
- package/dist/cli/prompts.d.ts +7 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +49 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/bundle.js +98 -50
- package/dist/mcp/index.js +18 -1
- package/dist/mcp/index.js.map +1 -1
- package/package.json +70 -65
- package/skills/funifier-create-action/SKILL.md +86 -86
- package/skills/funifier-create-aggregate/SKILL.md +126 -87
- package/skills/funifier-create-challenge/SKILL.md +87 -87
- package/skills/funifier-create-custom-page/SKILL.md +126 -87
- package/skills/funifier-create-leaderboard/SKILL.md +87 -87
- package/skills/funifier-create-level/SKILL.md +86 -86
- package/skills/funifier-create-point/SKILL.md +86 -86
- package/skills/funifier-create-quiz/SKILL.md +86 -86
- package/skills/funifier-create-scheduler/SKILL.md +126 -87
- package/skills/funifier-create-trigger/SKILL.md +127 -88
- package/skills/funifier-create-virtual-good/SKILL.md +86 -86
- package/skills/funifier-debug/SKILL.md +90 -90
- package/skills/funifier-help/SKILL.md +85 -85
- package/skills/funifier-implement-frontend/SKILL.md +89 -89
- package/skills/funifier-index/SKILL.md +50 -50
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Lottery (Sorteio)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/lottery`
|
|
4
|
+
**API Endpoint:** `/v3/lottery`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Configuração de sorteios e concursos. Permite criar sorteios nos quais os jogadores participam com cupons obtidos em outras mecânicas, como desafios. É possível definir datas, limites de ganhadores e prêmios para os sorteados.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar campanhas promocionais com prêmios
|
|
13
|
+
- Para sorteios de viagens, produtos ou experiências
|
|
14
|
+
- Para incentivar participação em desafios (cupons como recompensa)
|
|
15
|
+
|
|
16
|
+
## Dependências
|
|
17
|
+
|
|
18
|
+
- **Virtual Good** (opcional): itens podem ser usados como prêmio do sorteio
|
|
19
|
+
|
|
20
|
+
## Checklist de Configuração no Studio
|
|
21
|
+
|
|
22
|
+
- [ ] Definir título e descrição do sorteio
|
|
23
|
+
- [ ] Definir data do sorteio (drawDate)
|
|
24
|
+
- [ ] Definir método de escolha (random_ticket)
|
|
25
|
+
- [ ] Definir número máximo de ganhadores (maxWinners)
|
|
26
|
+
- [ ] Definir limite por jogador (maxPerPlayer)
|
|
27
|
+
- [ ] Configurar recompensas (rewards)
|
|
28
|
+
- [ ] Definir se executa automaticamente (autoExecute)
|
|
29
|
+
|
|
30
|
+
## API Endpoints
|
|
31
|
+
|
|
32
|
+
### Listar Sorteios
|
|
33
|
+
**Método:** GET
|
|
34
|
+
**Endpoint:** `/v3/lottery`
|
|
35
|
+
|
|
36
|
+
**Exemplo de Resposta:**
|
|
37
|
+
```json
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
"title": "Travel to Cancun",
|
|
41
|
+
"description": "Travel with a companion to Cancun, with airfare and accommodation, for 7 days.",
|
|
42
|
+
"drawDate": 1690824650503,
|
|
43
|
+
"autoExecute": true,
|
|
44
|
+
"choiceMethod": "random_ticket",
|
|
45
|
+
"maxWinners": 1,
|
|
46
|
+
"maxPerPlayer": 1,
|
|
47
|
+
"techniques": ["GT74"],
|
|
48
|
+
"rewards": [
|
|
49
|
+
{
|
|
50
|
+
"total": 1,
|
|
51
|
+
"type": 2,
|
|
52
|
+
"item": "flight_ticket"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"_id": "DTj0x5z"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Criar Sorteio
|
|
61
|
+
**Método:** POST
|
|
62
|
+
**Endpoint:** `/v3/lottery`
|
|
63
|
+
(Body igual ao exemplo de resposta acima)
|
|
64
|
+
|
|
65
|
+
### Deletar Sorteio
|
|
66
|
+
**Método:** DELETE
|
|
67
|
+
**Endpoint:** `/v3/lottery/:id`
|
|
68
|
+
|
|
69
|
+
### Listar Cupons
|
|
70
|
+
**Método:** GET
|
|
71
|
+
**Endpoint:** `/v3/lottery/ticket?lottery=:id`
|
|
72
|
+
|
|
73
|
+
### Criar Cupom
|
|
74
|
+
**Método:** POST
|
|
75
|
+
**Endpoint:** `/v3/lottery/ticket`
|
|
76
|
+
|
|
77
|
+
**Exemplo de Body:**
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"lottery": "DTj0x5z",
|
|
81
|
+
"player": "tom"
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Deletar Cupom
|
|
86
|
+
**Método:** DELETE
|
|
87
|
+
**Endpoint:** `/v3/lottery/ticket/:id`
|
|
88
|
+
|
|
89
|
+
### Executar Sorteio
|
|
90
|
+
**Método:** GET
|
|
91
|
+
**Endpoint:** `/v3/lottery/:id/execute`
|
|
92
|
+
**Descrição:** Executa o sorteio e seleciona os vencedores aleatoriamente.
|
|
93
|
+
|
|
94
|
+
### Reverter Execução do Sorteio
|
|
95
|
+
**Método:** DELETE
|
|
96
|
+
**Endpoint:** `/v3/lottery/:id/execute`
|
|
97
|
+
|
|
98
|
+
### Listar Vencedores
|
|
99
|
+
**Método:** GET
|
|
100
|
+
**Endpoint:** `/v3/lottery/winner?lottery=:id`
|
|
101
|
+
|
|
102
|
+
### Listar Participantes
|
|
103
|
+
**Método:** GET
|
|
104
|
+
**Endpoint:** `/v3/lottery/participants?lottery=:id`
|
|
105
|
+
|
|
106
|
+
## Validações e Testes
|
|
107
|
+
|
|
108
|
+
- [ ] Sorteio aparece na lista GET /v3/lottery
|
|
109
|
+
- [ ] Cupom é criado corretamente para jogador
|
|
110
|
+
- [ ] Ao executar sorteio, vencedor é selecionado
|
|
111
|
+
- [ ] Lista de vencedores retorna dados corretos
|
|
112
|
+
- [ ] Reverter execução funciona
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Marketplace (Mercado)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/market`
|
|
4
|
+
|
|
5
|
+
## O que é
|
|
6
|
+
|
|
7
|
+
Compartilhamento e reutilização de componentes prontos para gamificações. Disponibiliza um catálogo de componentes já configurados — como desafios, rankings, widgets, modelos de gamificação — que podem ser reutilizados em diferentes projetos, acelerando a implementação.
|
|
8
|
+
|
|
9
|
+
## Quando usar
|
|
10
|
+
|
|
11
|
+
- Para reutilizar modelos de gamificação validados
|
|
12
|
+
- Para compartilhar componentes entre departamentos
|
|
13
|
+
- Para acelerar implementação com templates prontos
|
|
14
|
+
- Para padronizar gamificações na organização
|
|
15
|
+
|
|
16
|
+
## Checklist de Configuração
|
|
17
|
+
|
|
18
|
+
- [ ] Acessar o marketplace via /market
|
|
19
|
+
- [ ] Selecionar componente desejado
|
|
20
|
+
- [ ] Importar para a gamificação atual
|
|
21
|
+
- [ ] Customizar conforme necessidade
|
|
22
|
+
|
|
23
|
+
## Validações e Testes
|
|
24
|
+
|
|
25
|
+
- [ ] Componente é importado com sucesso
|
|
26
|
+
- [ ] Configurações importadas estão corretas
|
|
27
|
+
- [ ] Componente funciona na gamificação atual
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Mystery (Mistério / Caixa Surpresa)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/mystery`
|
|
4
|
+
**API Endpoint:** `/v3/mystery`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Jogos de probabilidade e recompensas aleatórias. Permite criar experiências como caixas surpresa, rodas da fortuna, raspadinhas e outros jogos baseados em sorte, definindo as chances e prêmios disponíveis.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar rodas da fortuna
|
|
13
|
+
- Para raspadinhas premiadas
|
|
14
|
+
- Para jogos de cara ou coroa
|
|
15
|
+
- Para recompensas aleatórias com probabilidades definidas
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Definir título da mystery box
|
|
20
|
+
- [ ] Definir opções com probabilidades (devem somar 1.0)
|
|
21
|
+
- [ ] Definir número de colunas para exibição
|
|
22
|
+
- [ ] Configurar combinações vencedoras (win_chart)
|
|
23
|
+
- [ ] Definir recompensas para cada combinação
|
|
24
|
+
- [ ] Configurar requisitos para jogar (requirements)
|
|
25
|
+
|
|
26
|
+
## API Endpoints
|
|
27
|
+
|
|
28
|
+
### Listar Mystery Boxes
|
|
29
|
+
**Método:** GET
|
|
30
|
+
**Endpoint:** `/v3/mystery`
|
|
31
|
+
|
|
32
|
+
### Criar Mystery Box
|
|
33
|
+
**Método:** POST
|
|
34
|
+
**Endpoint:** `/v3/mystery`
|
|
35
|
+
|
|
36
|
+
**Exemplo de Body:**
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"title": "Heads or Tails",
|
|
40
|
+
"options": [
|
|
41
|
+
{ "title": "Heads", "value": "heads", "probability": 0.5 },
|
|
42
|
+
{ "title": "Tails", "value": "tails", "probability": 0.5 }
|
|
43
|
+
],
|
|
44
|
+
"columns": 1,
|
|
45
|
+
"requirements": [],
|
|
46
|
+
"win_chart": [
|
|
47
|
+
{
|
|
48
|
+
"combination": ["heads"],
|
|
49
|
+
"orderSensitive": false,
|
|
50
|
+
"reward": {
|
|
51
|
+
"total": 1,
|
|
52
|
+
"type": 0,
|
|
53
|
+
"item": "coin"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"techniques": ["GT72"],
|
|
58
|
+
"_id": "64a5b464d8dcca49bcf7edd0"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Deletar Mystery Box
|
|
63
|
+
**Método:** DELETE
|
|
64
|
+
**Endpoint:** `/v3/mystery/:id`
|
|
65
|
+
|
|
66
|
+
### Avaliar Condições
|
|
67
|
+
**Método:** GET
|
|
68
|
+
**Endpoint:** `/v3/mystery/evaluate/:id?player=:player_id`
|
|
69
|
+
**Descrição:** Verifica se o jogador está apto a executar a Mystery Box.
|
|
70
|
+
|
|
71
|
+
### Executar Mystery Box
|
|
72
|
+
**Método:** GET
|
|
73
|
+
**Endpoint:** `/v3/mystery/execute/:id?player=:player_id`
|
|
74
|
+
**Descrição:** Executa o sorteio e retorna o resultado.
|
|
75
|
+
|
|
76
|
+
## Validações e Testes
|
|
77
|
+
|
|
78
|
+
- [ ] Mystery Box aparece na lista
|
|
79
|
+
- [ ] Soma das probabilidades é 1.0
|
|
80
|
+
- [ ] Jogador consegue executar a mystery box
|
|
81
|
+
- [ ] Combinação vencedora entrega recompensa corretamente
|
|
82
|
+
- [ ] Requisitos são validados antes da execução
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Notification (Notificação)
|
|
2
|
+
|
|
3
|
+
**API Endpoint:** `/v3/notification`
|
|
4
|
+
|
|
5
|
+
## O que é
|
|
6
|
+
|
|
7
|
+
Envio de mensagens automáticas e feedback instantâneo aos jogadores. Permite configurar e disparar notificações personalizadas quando eventos importantes acontecem, como a conclusão de um desafio, o ganho de uma competição ou uma compra na loja virtual. Notificações podem ser configuradas diretamente em diferentes módulos (Challenge, Competition, etc.).
|
|
8
|
+
|
|
9
|
+
## Quando usar
|
|
10
|
+
|
|
11
|
+
- Para parabenizar jogadores por conquistas
|
|
12
|
+
- Para informar sobre prêmios ganhos
|
|
13
|
+
- Para enviar lembretes e feedbacks
|
|
14
|
+
- Para comunicar mudanças de nível
|
|
15
|
+
|
|
16
|
+
## Checklist de Configuração
|
|
17
|
+
|
|
18
|
+
- [ ] Definir mensagem da notificação
|
|
19
|
+
- [ ] Vincular ao módulo que dispara a notificação (challenge, competition, etc.)
|
|
20
|
+
- [ ] Definir tipo de notificação (push, in-app, email)
|
|
21
|
+
|
|
22
|
+
## API Endpoints
|
|
23
|
+
|
|
24
|
+
### Listar Notificações
|
|
25
|
+
**Método:** GET
|
|
26
|
+
**Endpoint:** `/v3/notification`
|
|
27
|
+
|
|
28
|
+
### Criar Notificação
|
|
29
|
+
**Método:** POST
|
|
30
|
+
**Endpoint:** `/v3/notification`
|
|
31
|
+
|
|
32
|
+
### Deletar Notificação
|
|
33
|
+
**Método:** DELETE
|
|
34
|
+
**Endpoint:** `/v3/notification/:id`
|
|
35
|
+
|
|
36
|
+
## Validações e Testes
|
|
37
|
+
|
|
38
|
+
- [ ] Notificação é disparada ao completar evento
|
|
39
|
+
- [ ] Mensagem chega corretamente ao jogador
|
|
40
|
+
- [ ] Variáveis dinâmicas são substituídas (nome, pontos, etc.)
|