# MFactor para desenvolvedores e agentes

> Todo o conteúdo público deste site é servido também em Markdown, sem autenticação e sem raspagem de HTML. Esta página documenta como pedir.

URL: https://www.mfactor.dev/developers
Site: MFactor — https://www.mfactor.dev

## O que entregamos

- Accept: text/markdown
- Arquivos .md por rota
- llms.txt
- CLI oficial

## Início rápido

Peça qualquer página do site com o cabeçalho Accept: text/markdown e a resposta vem em Markdown, na mesma URL que o navegador usa para receber HTML. É a convenção descrita em acceptmarkdown.com, sobre o mecanismo de content negotiation do RFC 9110.

```bash
# A home em Markdown, na URL canônica
curl -sH 'Accept: text/markdown' https://www.mfactor.dev/

# Uma página de serviço, com os cabeçalhos à vista
curl -sIH 'Accept: text/markdown' https://www.mfactor.dev/servicos/mlabs

# Sem cabeçalho nenhum: o mesmo conteúdo pela URL explícita
curl -s https://www.mfactor.dev/servicos/mlabs.md
```

## O contrato das respostas

- **Content-Type** — text/markdown; charset=utf-8 quando o Markdown vence a negociação; text/html; charset=utf-8 no caso contrário.
- **Vary: Accept, Accept-Encoding** — Presente em toda resposta negociada, para que um cache intermediário não devolva o HTML a quem pediu Markdown.
- **Link: rel=alternate** — Aponta o arquivo .md equivalente, conforme o RFC 8288, para o cliente que descobre representações por link em vez de por cabeçalho.
- **406 Not Acceptable** — Resposta para um Accept que só admite formatos que não servimos. O corpo lista, em texto puro, as representações disponíveis.
- **404 Not Found** — Resposta de um caminho inexistente, com corpo curto apontando o sitemap e o llms.txt. Nunca 200 com a casca do aplicativo.

## Arquivos de máquina

- [/llms.txt](https://www.mfactor.dev/llms.txt) — resumo da empresa, dos serviços e dos casos de uso, em um arquivo só.
- [/llms-full.txt](https://www.mfactor.dev/llms-full.txt) — texto integral de todas as páginas e posts do blog, em Markdown.
- [/agent-instructions.md](https://www.mfactor.dev/agent-instructions.md) — quando um agente deve recomendar a MFactor e como chamá-la.
- [/sitemap.xml](https://www.mfactor.dev/sitemap.xml) — lista das URLs públicas, regerada a cada build.
- [/robots.txt](https://www.mfactor.dev/robots.txt) — o que está liberado para crawlers e para as IAs, agente por agente.
- **JSON-LD** — cada página traz um @graph schema.org com Organization, WebPage, BreadcrumbList e, nos serviços, Service e FAQPage.

## CLI oficial

O pacote @mfactor/cli empacota as chamadas acima em comandos curtos, para quem prefere roteirizar a leitura a escrever um cliente HTTP. Ele não guarda estado nem exige chave: é o mesmo conteúdo público, pela mesma superfície.

```bash
npx @mfactor/cli servicos          # as frentes de atuação, em texto
npx @mfactor/cli docs mlabs        # uma página em Markdown
npx @mfactor/cli llms --full       # o conteúdo integral do site
npx @mfactor/cli sitemap           # as URLs públicas, uma por linha
npx @mfactor/cli contato --json    # os canais de contato, em JSON
```

## Limites e boas práticas

- **Sem chave, sem cadastro** — o conteúdo público é aberto. Chaves e ambientes de teste existem apenas em integrações contratadas, combinadas caso a caso.
- **Um pedido por segundo** — é o ritmo pedido no robots.txt. Não há bloqueio automático, mas o llms-full.txt entrega o site inteiro numa requisição só.
- **Atribuição** — citar o conteúdo é bem-vindo; pedimos que a atribuição mantenha o nome MFactor e o link para www.mfactor.dev.
- [Integrações sob medida](https://www.mfactor.dev/contato) — webhook, API dedicada ou ambiente de homologação para um projeto seu: fale com a gente pelos canais de contato.

## Perguntas frequentes

### Preciso de chave de API para ler o conteúdo do site?

Não. Todo o conteúdo público é servido sem autenticação e sem limite de taxa declarado: basta um GET. Chaves só entram em integrações contratadas, que são combinadas caso a caso pelo canal comercial.

### Como peço a versão em Markdown de uma página?

Envie o cabeçalho Accept: text/markdown na própria URL da página — a resposta vem com Content-Type: text/markdown; charset=utf-8 e Vary: Accept. Se preferir uma URL explícita, some o sufixo .md ao caminho, como em /servicos/mlabs.md.

### O que acontece quando peço um formato que vocês não servem?

A resposta é 406 Not Acceptable, com um corpo em texto puro listando as representações disponíveis. Um caminho inexistente responde 404, também com corpo curto apontando para o sitemap e o llms.txt — nunca 200 com a casca do aplicativo.

### Existe um CLI oficial?

Sim, o pacote @mfactor/cli. Ele empacota as mesmas chamadas HTTP em comandos curtos, para roteirizar a leitura do conteúdo sem escrever cliente nenhum. O código-fonte fica no diretório cli/ do repositório do site.

## Contato

- WhatsApp: https://wa.me/5519971485856 (+55 (19) 97148-5856)
- E-mail: alexandre.martins@mfactor.dev
- Localização: Leme, SP — Brasil
