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
@@ -0,0 +1,41 @@
1
+ # WebSocket (WebSocket)
2
+
3
+ **Acesso Studio:** `/studio/websocket`
4
+ **API Endpoint:** `/v3/websocket`
5
+
6
+ ## O que é
7
+
8
+ Entrega de feedbacks em tempo real e interação instantânea entre jogadores. Permite configurar rotinas para enviar e receber informações instantaneamente entre jogadores e o sistema, sem precisar recarregar a página.
9
+
10
+ ## Quando usar
11
+
12
+ - Para comunicação em tempo real durante competições
13
+ - Para feedback instantâneo ao completar desafios
14
+ - Para chats ao vivo entre jogadores
15
+ - Para atualização de status em tempo real
16
+
17
+ ## Checklist de Configuração no Studio
18
+
19
+ - [ ] Configurar rotinas de websocket
20
+ - [ ] Definir eventos que disparam mensagens
21
+ - [ ] Configurar canais de comunicação
22
+
23
+ ## API Endpoints
24
+
25
+ ### Listar WebSockets
26
+ **Método:** GET
27
+ **Endpoint:** `/v3/websocket`
28
+
29
+ ### Criar WebSocket
30
+ **Método:** POST
31
+ **Endpoint:** `/v3/websocket`
32
+
33
+ ### Deletar WebSocket
34
+ **Método:** DELETE
35
+ **Endpoint:** `/v3/websocket/:id`
36
+
37
+ ## Validações e Testes
38
+
39
+ - [ ] WebSocket aparece na lista
40
+ - [ ] Mensagens são entregues em tempo real
41
+ - [ ] Conexão se mantém estável
@@ -0,0 +1,42 @@
1
+ # Widget (Widget)
2
+
3
+ **Acesso Studio:** `/studio/widget`
4
+ **API Endpoint:** `/v3/widget`
5
+
6
+ ## O que é
7
+
8
+ Criação de componentes visuais para exibir técnicas de jogo. Permite criar e configurar widgets gráficos — como rankings, listas de desafios, status do jogador, lojas virtuais — para apresentar informações gamificadas de maneira clara e motivadora. Podem ser integrados em sistemas web existentes (intranets, CRMs, LMS).
9
+
10
+ ## Quando usar
11
+
12
+ - Para exibir rankings em intranets
13
+ - Para mostrar lista de desafios ativos
14
+ - Para exibir status do jogador
15
+ - Para integrar gamificação visualmente em sistemas existentes
16
+
17
+ ## Checklist de Configuração no Studio
18
+
19
+ - [ ] Definir tipo do widget
20
+ - [ ] Configurar dados a exibir
21
+ - [ ] Personalizar estilo visual
22
+ - [ ] Gerar código de embed
23
+
24
+ ## API Endpoints
25
+
26
+ ### Listar Widgets
27
+ **Método:** GET
28
+ **Endpoint:** `/v3/widget`
29
+
30
+ ### Criar Widget
31
+ **Método:** POST
32
+ **Endpoint:** `/v3/widget`
33
+
34
+ ### Deletar Widget
35
+ **Método:** DELETE
36
+ **Endpoint:** `/v3/widget/:id`
37
+
38
+ ## Validações e Testes
39
+
40
+ - [ ] Widget aparece na lista
41
+ - [ ] Widget exibe dados corretos
42
+ - [ ] Widget funciona integrado em página externa
@@ -0,0 +1,143 @@
1
+ # PROCESSO: Go-to-Market — Produto SaaS Funifier
2
+
3
+ ## QUANDO USAR
4
+
5
+ Após o produto estar implementado, testado e publicado no Netlify, e Ricardo confirmar via WhatsApp que está pronto para lançar.
6
+
7
+ > **Passo de aprovação:** Ao finalizar os testes do produto, perguntar ao Ricardo: _"Ficou bom? Posso iniciar o lançamento?"_ — aguardar confirmação antes de executar este processo.
8
+
9
+ ## CONTEXTO
10
+
11
+ Use este processo para qualquer produto self-service construído com Funifier como backend e publicado no Netlify. Cobre produtos **B2C** (usuário final paga direto) e **B2B** (empresa contrata o serviço).
12
+
13
+ Ferramentas deste processo: Funifier (produto + CRM), Asaas (pagamento), Instagram (aquisição B2C), Gmail (outreach), Freepik (visuais), browser.
14
+
15
+ ---
16
+
17
+ ## FASE 1 — PRODUTO DE MERCADO
18
+
19
+ ### 1.1 Verificar landing page
20
+
21
+ A landing page deve ter obrigatoriamente:
22
+ - Headline clara: o que é o produto e para quem serve
23
+ - 3 benefícios principais
24
+ - Preço visível ou CTA para trial gratuito
25
+ - Botão de ação claro (ex: "Começar agora", "Testar grátis")
26
+
27
+ Se faltar algum elemento, corrigir antes de prosseguir.
28
+
29
+ ### 1.2 Ativar pagamento (Asaas)
30
+
31
+ 1. Localizar no código do produto onde a API key do Asaas está configurada
32
+ 2. Substituir a chave de sandbox pela chave de produção
33
+ 3. Fazer um pagamento teste com cartão real para confirmar o fluxo
34
+ 4. Verificar que o webhook de confirmação de pagamento está recebendo e processando
35
+ 5. Remover qualquer indicação visual de "ambiente de teste" na interface
36
+
37
+ ### 1.3 Criar conta Instagram do produto
38
+
39
+ Executar `process-instagram.md` com o nome e domínio do produto.
40
+ Email a usar: `funifier.agent.dev01+{nome-do-produto}@gmail.com`
41
+
42
+ ### 1.4 Criar pipeline no CRM
43
+
44
+ Na instância CRM dedicada ao agente no Funifier Studio, criar um pipeline para o produto:
45
+
46
+ **B2C** (ex: Orvya, Estudos):
47
+ ```
48
+ Interesse → Trial → Pagante → Ativo → Churn
49
+ ```
50
+
51
+ **B2B** (ex: Fidelidade PME):
52
+ ```
53
+ Lead → Qualificado → Demo Agendada → Proposta Enviada → Cliente → Ativo
54
+ ```
55
+
56
+ ---
57
+
58
+ ## FASE 2 — LANÇAMENTO (primeira semana)
59
+
60
+ ### 2.1 Posts de lançamento no Instagram
61
+
62
+ Publicar 3 posts em 3 dias consecutivos na conta do produto (ver `process-instagram.md`).
63
+
64
+ - **Post 1 — Apresentação:** o que é o produto, para quem é
65
+ - **Post 2 — Problema resolvido:** a dor que o produto elimina (antes/depois)
66
+ - **Post 3 — CTA direto:** resultado concreto + link na bio
67
+
68
+ ### 2.2 Mensagem para rede pessoal do Ricardo
69
+
70
+ Enviar email via Gmail para contatos próximos do Ricardo anunciando o produto:
71
+
72
+ ```
73
+ Assunto: [Nome do produto] — acabei de lançar
74
+
75
+ Oi [nome],
76
+
77
+ Acabei de lançar o [nome do produto] — [descrição em uma frase].
78
+
79
+ Acessa aqui: [URL]
80
+
81
+ Adoraria saber o que você acha.
82
+
83
+ []s, Ricardo
84
+ ```
85
+
86
+ Enviar apenas para contatos que façam sentido para o perfil do produto (não spam de lista completa).
87
+
88
+ ### 2.3 Registrar primeiros leads no CRM
89
+
90
+ Qualquer pessoa que demonstre interesse (responde o email, comenta no Instagram, manda mensagem):
91
+ 1. Criar **Person** no CRM com nome, email, telefone e canal de origem
92
+ 2. Criar **Deal** vinculado à Person no pipeline do produto, stage inicial
93
+ 3. Registrar **Activity** com nota sobre o primeiro contato e contexto
94
+
95
+ ---
96
+
97
+ ## FASE 3 — AQUISIÇÃO CONTÍNUA
98
+
99
+ ### 3.1 Cadência de conteúdo no Instagram
100
+
101
+ 3 posts por semana (ex: segunda, quarta, sexta):
102
+ - 2 posts de valor: dica, resultado de cliente, bastidor, curiosidade relevante
103
+ - 1 post de conversão: CTA direto para o produto com prova social ou oferta
104
+
105
+ ### 3.2 Follow-up de leads no CRM
106
+
107
+ Rotina semanal:
108
+ 1. Verificar no CRM deals com mais de 3 dias sem activity registrada
109
+ 2. Para cada deal parado: enviar email de follow-up via Gmail, registrar Activity
110
+ 3. Avançar stage do deal se houver resposta positiva
111
+ 4. Marcar como "Lost" com motivo se o lead confirmar desinteresse (dado para aprendizado)
112
+
113
+ ---
114
+
115
+ ## CRM — REFERÊNCIA RÁPIDA
116
+
117
+ **Instância:** CRM dedicada ao agente — separada dos projetos enterprise e de cada produto
118
+ **Acesso:** Funifier Studio → módulo CRM
119
+ **Um único CRM para todos os produtos** — diferenciados por Pipeline
120
+
121
+ | Entidade | Uso |
122
+ |----------|-----|
123
+ | **Person** | Lead individual — B2C e contato em B2B |
124
+ | **Organization** | Empresa — usar apenas em B2B |
125
+ | **Deal** | Oportunidade no pipeline de um produto |
126
+ | **Activity** | Registro de cada interação: email, WhatsApp, DM, ligação |
127
+ | **Insight** | Relatório de deals ganhos e perdidos (análise mensal) |
128
+
129
+ > **Regra:** Todo lead que entrar em contato vai para o CRM antes de qualquer ação de follow-up. Nunca fazer follow-up sem registro.
130
+
131
+ ---
132
+
133
+ ## DIFERENÇAS B2C vs B2B
134
+
135
+ | | B2C | B2B |
136
+ |--|-----|-----|
137
+ | Canal de aquisição | Instagram do produto | LinkedIn (Ricardo pessoal) + email direto |
138
+ | Ticket | Baixo — decisão rápida | Alto — ciclo de semanas/meses |
139
+ | Quem decide | O próprio usuário | Múltiplos aprovadores |
140
+ | Proposta formal | Não necessária | Sim — PDF gerado via Google Docs + Gmail |
141
+ | Trial | Oferecer acesso grátis por período | Demo ao vivo agendada no Google Calendar |
142
+ | Fechamento | Asaas online (self-service) | Asaas + possível NF manual |
143
+ | Onboarding | Automático (email da plataforma) | Reunião de onboarding agendada |
@@ -0,0 +1,88 @@
1
+ # PROCESSO: Instagram — Conta de Produto
2
+
3
+ ## QUANDO USAR
4
+
5
+ Ao iniciar o Go-to-Market de um novo produto, como parte da Fase 1 do `process-gtm-saas.md`.
6
+
7
+ ---
8
+
9
+ ## 1 — CRIAR CONTA
10
+
11
+ 1. Abrir `instagram.com` no browser
12
+ 2. Clicar em "Criar nova conta"
13
+ 3. Email: `funifier.agent.dev01+{nome-do-produto}@gmail.com`
14
+ - Ex: para Orvya → `funifier.agent.dev01+orvya@gmail.com`
15
+ - O email de verificação chega normalmente na caixa `funifier.agent.dev01@gmail.com`
16
+ 4. Username: `@{nomeproduto}` sem espaços (ex: `@orvya_app` ou `@orvyafit`)
17
+ 5. Nome de exibição: nome do produto (ex: `Orvya`)
18
+ 6. Confirmar o email de verificação antes de continuar
19
+
20
+ ---
21
+
22
+ ## 2 — CONFIGURAR PERFIL
23
+
24
+ - **Foto de perfil:** logomarca do produto em fundo limpo, legível em tamanho pequeno
25
+ - Se ainda não existir logomarca: gerar no Freepik com o nome do produto e identidade visual definida
26
+ - **Bio:** máximo 3 linhas — o que é | para quem | CTA
27
+ ```
28
+ Gamificação para sua rotina fitness 🏋️
29
+ Treine mais. Evolua de verdade.
30
+ ↓ Comece grátis
31
+ ```
32
+ - **Link na bio:** URL do produto (ex: `https://orvya.app`)
33
+ - **Conta:** manter como pessoal — não converter para Business (evita restrições de API)
34
+
35
+ ---
36
+
37
+ ## 3 — CRIAR CONTEÚDO
38
+
39
+ Para cada post, seguir a sequência:
40
+
41
+ 1. **Definir objetivo** do post: apresentar / educar / converter
42
+ 2. **Gerar visual no Freepik**
43
+ - Feed (imagem estática): formato 1:1 (1080×1080px)
44
+ - Reels/Stories: formato 9:16 (1080×1920px)
45
+ - Usar identidade visual consistente: paleta de cores e fonte do produto
46
+ 3. **Escrever copy com Claude**
47
+ - Legenda principal: até 150 caracteres (aparece sem "ver mais")
48
+ - Hashtags: 8 a 12, mix de nicho específico + volume médio
49
+ - Exemplo de prompt para Claude:
50
+ ```
51
+ Escreva uma legenda para Instagram para o produto {nome}.
52
+ Objetivo do post: {apresentar/educar/converter}.
53
+ Tom: {descontraído/motivacional/direto}.
54
+ Incluir chamada para ação: {visitar link na bio / comentar / salvar}.
55
+ Máximo 150 caracteres na legenda principal.
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 4 — PUBLICAR VIA BROWSER
61
+
62
+ 1. Abrir `instagram.com` no browser com a conta do produto logada
63
+ 2. Clicar em **"+"** no menu superior → Nova publicação
64
+ 3. Upload do arquivo de imagem ou vídeo gerado
65
+ 4. Colar a legenda
66
+ 5. Adicionar hashtags ao final da legenda (ou no primeiro comentário)
67
+ 6. Publicar
68
+
69
+ > **Nota:** Para Reels, usar o botão específico de Reels no menu — não o "+" genérico.
70
+
71
+ ---
72
+
73
+ ## 5 — CADÊNCIA
74
+
75
+ | Período | Frequência | Tipo |
76
+ |---------|-----------|------|
77
+ | Semana de lançamento | 3 posts em 3 dias seguidos | Apresentação, problema, CTA |
78
+ | Contínuo | 3 posts/semana (seg, qua, sex) | 2 valor + 1 conversão |
79
+ | Novidades / promoções | Conforme acontecer | Stories |
80
+
81
+ ---
82
+
83
+ ## ATENÇÃO
84
+
85
+ - Sempre usar visual gerado pelo Freepik — nunca publicar só texto ou visual genérico
86
+ - O link de ação vai sempre na bio, nunca na legenda do feed
87
+ - Manter identidade visual consistente entre todos os posts do produto
88
+ - Uma conta por produto — não misturar produtos na mesma conta