Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI

on:
push:
branches:
- main
- master
pull_request:

jobs:
validate:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test

- name: Run lint
run: npm run lint

- name: Check formatting
run: npm run format:check
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.env
node_modules
suggestions-library.json
.DS_Store
3 changes: 3 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

npx lint-staged
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.env
node_modules
.husky/_
suggestions-library.json
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"semi": true,
"singleQuote": true,
"tabWidth": 4
}
28 changes: 14 additions & 14 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
- `manifest.json`, `content.js`, `popup.html`, and `popup.js` define the Chrome extension entry points.
- `chat-suggestions.js` is the standalone bundle for direct script usage.
- `src/` holds the modular source:
- `src/core/` controller and AI client wiring.
- `src/context/` message readers and context extraction.
- `src/platforms/` per-platform selectors (Badoo, Tinder, Instagram, WhatsApp).
- `src/ui/` suggestion rendering and interactions.
- `src/storage/` in-browser context persistence.
- `src/constants/` keyword lists.
- `src/suggestions/` generation logic.
- `src/core/` controller and AI client wiring.
- `src/context/` message readers and context extraction.
- `src/platforms/` per-platform selectors (Badoo, Tinder, Instagram, WhatsApp).
- `src/ui/` suggestion rendering and interactions.
- `src/storage/` in-browser context persistence.
- `src/constants/` keyword lists.
- `src/suggestions/` generation logic.
- `suggestions-library.json` and `suggestions-library-example.json` provide seed data.

## Build, Test, and Development Commands

- No build step is required; files are loaded directly by the browser.
- Load the extension locally:
- Open `chrome://extensions/`, enable Developer Mode, then "Load unpacked" with the repo root.
- Open `chrome://extensions/`, enable Developer Mode, then "Load unpacked" with the repo root.
- For script-only usage, include `chat-suggestions.js` in a page or inject it via the console.
- Debug logging:
- Set `window.badooChatSuggestionsDebug = true` in the browser console.
- Set `window.badooChatSuggestionsDebug = true` in the browser console.

## Coding Style & Naming Conventions

Expand All @@ -34,18 +34,18 @@

- There are no automated tests in this repository.
- Manual verification checklist:
- Load the extension and open `https://badoo.com/messages/*`.
- Confirm suggestions render and buttons insert text into the message box.
- Verify platform selectors when changing `src/platforms/*.js`.
- Load the extension and open `https://badoo.com/messages/*`.
- Confirm suggestions render and buttons insert text into the message box.
- Verify platform selectors when changing `src/platforms/*.js`.

## Commit & Pull Request Guidelines

- Recent commits use an imperative verb and sentence case (e.g., "Refactor ...", "Update ...").
- Keep the first line concise and add details in the body if needed.
- If you touch the extension behavior, update `manifest.json` version when appropriate.
- PRs should include:
- A brief description of the change and test steps.
- Screenshots or a short clip for UI/UX changes.
- A brief description of the change and test steps.
- Screenshots or a short clip for UI/UX changes.

## Configuration & Security Notes

Expand Down
51 changes: 28 additions & 23 deletions INSTALACAO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,44 +5,47 @@
### 1. Preparação

Certifique-se de ter os seguintes arquivos na pasta do projeto:

- `manifest.json`
- `content.js`
- `chat-suggestions.js` (opcional, para uso standalone)

### 2. Instalação no Chrome

1. **Abra o Chrome** e digite na barra de endereços:
```
chrome://extensions/
```
Ou acesse: Menu (☰) → Mais ferramentas → Extensões

```
chrome://extensions/
```

Ou acesse: Menu (☰) → Mais ferramentas → Extensões

2. **Ative o Modo do Desenvolvedor**
- No canto superior direito, ative o toggle "Modo do desenvolvedor"
- Isso permitirá carregar extensões não publicadas na Chrome Web Store
- No canto superior direito, ative o toggle "Modo do desenvolvedor"
- Isso permitirá carregar extensões não publicadas na Chrome Web Store

3. **Carregue a Extensão**
- Clique no botão "Carregar sem compactação" (ou "Load unpacked")
- Navegue até a pasta do projeto e selecione-a
- Clique em "Selecionar pasta" (ou "Select Folder")
- Clique no botão "Carregar sem compactação" (ou "Load unpacked")
- Navegue até a pasta do projeto e selecione-a
- Clique em "Selecionar pasta" (ou "Select Folder")

4. **Verificação**
- A extensão deve aparecer na lista de extensões instaladas
- Certifique-se de que está ativada (toggle no canto inferior direito do card da extensão)
- A extensão deve aparecer na lista de extensões instaladas
- Certifique-se de que está ativada (toggle no canto inferior direito do card da extensão)

### 3. Uso

1. **Acesse o Badoo**
- Vá para: `https://badoo.com/messages/*`
- Ou qualquer página de mensagens do Badoo
- Vá para: `https://badoo.com/messages/*`
- Ou qualquer página de mensagens do Badoo

2. **As sugestões aparecerão automaticamente**
- Acima da caixa de mensagens, você verá botões com sugestões de texto
- As sugestões são geradas automaticamente baseadas no contexto da conversa
- Acima da caixa de mensagens, você verá botões com sugestões de texto
- As sugestões são geradas automaticamente baseadas no contexto da conversa

3. **Clique em uma sugestão**
- Ao clicar, o texto será inserido automaticamente na caixa de mensagem
- Você pode editar o texto antes de enviar
- Ao clicar, o texto será inserido automaticamente na caixa de mensagem
- Você pode editar o texto antes de enviar

### 4. Debug (Opcional)

Expand All @@ -51,35 +54,40 @@ Se quiser ver logs detalhados no console:
1. Abra o Console do Desenvolvedor (F12 ou Ctrl+Shift+I)
2. Vá para a aba "Console"
3. Digite:
```javascript
window.badooChatSuggestionsDebug = true;
```
```javascript
window.badooChatSuggestionsDebug = true;
```
4. Recarregue a página

Agora você verá logs detalhados sobre:

- Mensagens analisadas
- Tópicos detectados
- Sugestões geradas

## Solução de Problemas

### A extensão não aparece na lista

- Verifique se o `manifest.json` está na raiz da pasta
- Certifique-se de que o arquivo está em formato JSON válido
- Verifique o console do Chrome para erros (F12 → Console)

### As sugestões não aparecem

- Verifique se está na página correta: `https://badoo.com/messages/*`
- Abra o Console do Desenvolvedor (F12) e verifique se há erros
- Certifique-se de que a extensão está ativada
- Tente recarregar a página (Ctrl+R ou F5)

### As sugestões aparecem mas não funcionam ao clicar

- Verifique o console para erros
- Certifique-se de que o campo de mensagem está visível na página
- Tente recarregar a página

### A extensão não detecta novas mensagens

- As sugestões são atualizadas automaticamente a cada 3 segundos
- Se uma nova mensagem for enviada, as sugestões devem atualizar em até 1 segundo
- Se não atualizar, recarregue a página
Expand All @@ -106,6 +114,3 @@ Para atualizar a extensão após fazer alterações:
- Não é necessário fazer login novamente após instalar a extensão
- A extensão não coleta ou envia dados para servidores externos
- Todas as análises são feitas localmente no navegador



1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ chatSuggestions.init();
## Estrutura do HTML Esperada

O script espera encontrar mensagens com a estrutura:

- Container: `.csms-chat-messages`
- Mensagens: `[data-qa="chat-message"]`
- Direção: `[data-qa-message-direction="in"|"out"]`
Expand Down
Loading
Loading