Produtividade

Pare de pagar o Linear

Um gerenciador de issues afiado para o jeito como seu time já trabalha.

O Linear custa US$10–16 por pessoa / mês, ou seja, US$120–192 por ano. Você tem dois caminhos:

Opção 1 · Instalar

Instale o Plane grátis

O Plane é uma ferramenta completa de gestão de projetos que você instala no seu próprio servidor, no lugar do Jira, do Linear ou do ClickUp. Você tem work items, ciclos para os seus sprints, módulos para dividir um trabalho grande, cinco formas de exibir a mesma lista, visões salvas, páginas de documentação ao lado do trabalho e uma caixa de entrada para triar os pedidos que chegam. A edição Community é AGPL v3, sem nenhum módulo bloqueado escondido no código: as funções pagas ficam em uma edição Commercial separada e fechada. Hospedado por você, equivale ao plano gratuito da nuvem deles. O limite: a wiki da empresa, o registro de tempo, os dashboards, os modelos de projeto e o recebimento de pedidos por e-mail ou formulário web exigem uma licença paga.

Plane vs Linear

CritérioPlaneLinear
PreçoUS$0, você só paga o seu servidorUS$10–16 por pessoa por mês
Seus dadosEm casa, em um banco Postgres do qual você faz backupNos servidores deles
Número de pessoasIlimitado, sem custo por cabeçaCada pessoa extra é cobrada
Sprints, módulos e páginasIncluídos na versão gratuitaIncluídos, com no máximo 5 times
Recebimento de pedidosIncluído; e-mail e formulários são pagosIncluído; a triagem assistida está no Business
CódigoAGPL v3, para ler e fazer forkFechado

Como instalar (mesmo começando do zero)

Isto não é um app que se baixa. O Plane roda em um servidor: pense em uma máquina com no mínimo 2 núcleos e 4 GB de memória, 8 GB assim que vários de vocês usarem, mais um nome de domínio apontando para ela.

  1. 1

    Cole este prompt no Claude Code

    Ele parte do seu servidor vazio, instala a edição Community a partir do repositório oficial, configura o domínio e o HTTPS e depois cria a sua conta de administrador:

    Instale o Plane no meu servidor começando do zero (a ferramenta open source de gestão de projetos, repositório do GitHub makeplane/plane). Conecte-se ao meu VPS por SSH, verifique se o Docker e o Docker Compose estão presentes e, se não estiverem, instale-os. Crie uma pasta plane-selfhost, baixe o script setup.sh da última versão publicada do repositório oficial, torne-o executável e inicie a instalação da edição Community, aquela sob licença AGPL. Depois abra o arquivo plane.env: coloque meu nome de domínio com https em WEB_URL e CORS_ALLOWED_ORIGINS, escolha uma porta livre para LISTEN_HTTP_PORT e substitua todos os valores secretos que vêm por padrão por valores gerados aleatoriamente, em especial SECRET_KEY, a senha do Postgres e as chaves do armazenamento de arquivos. Instale o Caddy na frente para obter automaticamente o certificado HTTPS do meu domínio, suba os serviços e me guie para criar a conta de administrador da instância na página god-mode e configurar meu servidor SMTP. Para terminar, criamos juntos um primeiro projeto com uma tarefa e um ciclo, para verificar se tudo funciona. Explique cada etapa de forma simples, sou iniciante.
    
    Revise o repositório do GitHub e verifique se é seguro instalá-lo considerando minha máquina e minha infraestrutura. Faça todas as perguntas que puder, usando widgets, para esclarecer meu pedido e ser o mais preciso possível.
  2. 2

    Dimensione a máquina certa

    O Plane não é um contêiner, são cerca de dez: o app web, a API, os trabalhos em segundo plano, a colaboração em tempo real, mais Postgres, Redis, RabbitMQ e o armazenamento de arquivos. O mínimo oficial é de 2 núcleos e 4 GB de memória, com 8 GB recomendados em produção.

  3. 3

    Troque os segredos e mantenha a instância atualizada

    Um aviso de segurança de agosto de 2026 tratava justamente de chaves secretas que vinham fixas nos arquivos de implantação da edição Community. Gere as suas, aplique as atualizações assim que uma versão sair e rode com frequência o backup embutido no script setup.sh: ele exporta o banco de dados, o Redis e os arquivos enviados.

Para que você vai usar

Seus projetos de clientes, organizados em ciclos

Um projeto por cliente, seus work items dentro e um ciclo de duas semanas para o que você está fazendo agora. O gráfico de burn-down no fim do ciclo diz se você está no ritmo, sem planilha paralela para preencher.

Os pedidos que chegam deixam de se perder

O recebimento coloca os pedidos em uma fila separada. Você olha, aceita, recusa ou transforma um em work item. Já a triagem por e-mail e os formulários públicos ficam nos planos pagos.

A documentação no mesmo lugar que o trabalho

As páginas vivem dentro do projeto, com um editor de texto de verdade. A especificação, as notas de reunião e as decisões ficam ao lado dos work items, em vez de dormir em uma terceira ferramenta que ninguém abre.

Saúde do projeto

estrelas no GitHub
60.482
Forks
6k
Contribuidores
173
Commits
7.2k
Idade do projeto
3,9 anos
Licença
AGPL-3.0

Feito com: TypeScript 69.2% · Python 27.6% · HTML 2.4% · Shell 0.5%

Dados públicos do repositório no GitHub, coletados em 8 de outubro de 2026.

Opção 2 · Construir

Crie o seu próprio Linear

Para quem é

Esta versão é pensada para um time de produto que entrega software em ciclos semanais. O objetivo: registrar, priorizar e concluir issues com o mínimo de cerimônia. Se você precisa de mais do que isso, continue pagando: a graça de construir por conta própria é ter uma ferramenta sob medida para o seu jeito de trabalhar, não refazer o roadmap de uma empresa bancada por investidores.

Mesma construção, outro logo: esta v1 também substitui o Jira e o Shortcut, porque todos resolvem o mesmo trabalho de base.

O que o prompt constrói e o que fica de fora

O prompt abaixo constrói uma única versão, com o que realmente se usa. O resto fica de fora de propósito.

O que o prompt constróiissues, status, visão de backlog, ciclos, menu de comandos, gráfico de throughput, links do GitHub
O que fica de foramotor de sincronização offline, tudo em tempo real, roadmaps

O que uma alternativa mínima ao Linear precisa

  • criação rápida de issues com título, descrição, prioridade, etiqueta e responsável
  • visões de backlog, ciclo ativo e concluídos
  • navegação pensada para o teclado e menu de comandos
  • comentários nas issues, histórico de status e links relacionados
  • progresso do ciclo e um gráfico simples de throughput

Modelo de dados

Team, Issue, Cycle, Label, Comment

Integrações

links de issues ou pull requests do GitHub

Contexto técnico

Astro, HTMX, D1

A regra de ouro

Use identificadores únicos e duradouros e registre cada mudança de estado.

O que não se constrói de propósito

Não construa roadmaps, iniciativas entre times, fluxos de trabalho personalizados nem sincronização profunda com o Git.

O prompt completo

Escolha o seu stack, copie o prompt e cole no seu agente de código (Claude Code, Cursor, Codex…).

Você vai construir um produto de software pronto para produção chamado “Straightline”, uma alternativa deliberadamente focada ao Linear. Construa uma fatia vertical completa e utilizável, não uma landing page, um mockup estático nem um monte de componentes soltos.

ACORDO DE TRABALHO
Antes de escrever código de implementação, monte um plano técnico curto que nomeie as rotas ou páginas, as server actions ou endpoints, as tabelas de dados, as transições de estado importantes, os limites de autorização, os jobs em segundo plano e os adaptadores externos. Se algo se contradisser, resolva a favor do público restrito e dos não-objetivos abaixo. Prefira uma arquitetura pequena e legível a abstrações especulativas, mas não deixe de fora persistência, validação, tratamento de erros nem testes.

DESCRIÇÃO DO PRODUTO
Usuário principal: um time de produto que entrega software em ciclos semanais.
Resultado principal: registrar, priorizar e concluir issues com o mínimo de cerimônia.
Princípio do produto: otimize exatamente o fluxo abaixo em vez de copiar toda a amplitude do Linear. Quem usa pela primeira vez deve entender o que fazer só olhando a interface, sem tour nem documentação.

JORNADAS COMPLETAS DO USUÁRIO
Implemente todos estes fluxos pela interface real e pela camada de dados persistente:
1. Um colega abre o menu de comandos, cria uma issue com título, descrição, prioridade, etiqueta e responsável e a deixa no backlog ordenado.
2. No planejamento do ciclo, o time move as issues escolhidas do backlog para o próximo ciclo semanal, reordena as prioridades, inicia o ciclo e acompanha o progresso por status.
3. Um engenheiro abre uma issue atribuída a ele, vincula um pull request do GitHub, comenta o resultado, avança a issue pelo fluxo fixo e a conclui.

TELAS E ARQUITETURA DE INFORMAÇÃO
Construa estas telas como visões coerentes e responsivas. Cada tela precisa definir sua ação principal, ações secundárias, status visível, feedback de validação, estado vazio, estado de carregamento ou pendente, confirmação de sucesso e um estado de erro recuperável.
1. Espaço de issues: visões de backlog, ciclo ativo e concluídos com status, prioridade, etiqueta, responsável, filtros por palavra-chave, criação rápida e navegação por teclado.
2. Detalhe da issue: identificador duradouro, campos editáveis, descrição em markdown, comentários, links relacionados do GitHub, histórico de status, ciclo atribuído e ação de copiar link.
3. Planejamento do ciclo: datas do ciclo atual e dos próximos, backlog candidato ordenado, carga de trabalho por responsável, seleção de issues, ação de iniciar o ciclo e prévia do que acontece com as issues incompletas.
4. Relatório do ciclo: contagens de concluídas versus restantes, escopo adicionado e removido, throughput por ciclo recente, tendência de conclusão e links para as issues que o compõem.

FUNCIONALIDADES PRINCIPAIS
1. criação rápida de issues com título, descrição, prioridade, etiqueta e responsável
2. visões de backlog, ciclo ativo e concluídos
3. navegação pensada para o teclado e menu de comandos
4. comentários nas issues, histórico de status e links relacionados
5. progresso do ciclo e um gráfico simples de throughput

COMPORTAMENTO DETALHADO E REGRAS DE NEGÓCIO
Trate isto como requisitos do produto garantidos no servidor, não como sugestões de interface:
1. Atribua a cada issue um identificador imutável dentro do time e nunca o reutilize depois de arquivar ou excluir; os links devem funcionar independentemente de mudanças de título.
2. Use um único fluxo de status fixo na v1 e registre cada mudança de status, prioridade, responsável e ciclo como um evento imutável.
3. Permita apenas um ciclo ativo por time; as datas do ciclo usam o fuso horário do time e a transferência exige um destino explícito para as issues incompletas.
4. Aceite apenas URLs validadas de issues ou pull requests do GitHub, guarde-as como links relacionados e não dê a entender que há sincronização com o estado do GitHub.

MODELO DE DADOS E CICLO DE VIDA
Projete um esquema relacional pequeno centrado em Team, Issue, Cycle, Label, Comment. Antes de implementar, documente:
1. O propósito de cada tabela, sua chave primária, o limite de propriedade ou de tenant, timestamps, campos de status e atributos importantes.
2. Chaves estrangeiras, restrições de unicidade, check constraints, os índices que as telas citadas precisam e os limites de transação para mudanças que tocam vários registros.
3. As transições de estado ou de ciclo de vida permitidas, quem pode disparar cada uma, quais são terminais ou reversíveis e qual histórico de auditoria deve permanecer imutável.
4. Como arquivar, reter e apagar, incluindo o que acontece com registros dependentes e arquivos externos.
5. A estratégia de idempotência para envios, jobs, importações, notificações, webhooks ou novas tentativas, quando se aplicar.
Use migrações em vez de criar o esquema na mão. Armazene instantes de tempo de forma consistente e mantenha o fuso horário nomeado sempre que horários ou datas locais importarem. Nunca dependa de um contador, de um botão desabilitado ou de uma validação no cliente para proteger uma regra de negócio.

USUÁRIOS, AUTENTICAÇÃO E PERMISSÕES
Implemente apenas os papéis de que o público indicado precisa. Deixe explícito o modelo de propriedade e visibilidade antes de programar. Aplique a autorização em toda consulta e mutação no servidor, incluindo buscas, exportações, anexos, atualizações ao vivo e URLs adivinhadas—não basta esconder botões. Use sessões seguras por padrão, proteja requisições que mudam estado e ofereça estados claros de sessão encerrada, sessão expirada e acesso proibido. Quando houver vários papéis, crie usuários distintos nos dados de teste para mostrar e testar as permissões.

INTERAÇÃO E DIREÇÃO VISUAL
O produto deve parecer rápido, calmo, focado e confiável, e não um template genérico de painel administrativo. Use uma hierarquia visual clara, cores contidas, tipografia legível, áreas de clique generosas e um lugar fixo para as ações principais. Comece com HTML renderizado no servidor e melhore progressivamente só as interações que se beneficiam disso. O fluxo principal precisa continuar compreensível se essa melhoria falhar.

Comece com páginas Astro renderizadas no servidor e formulários HTML comuns. Use HTMX para envios de formulário, navegação parcial e atualizações vindas do servidor, e Alpine.js só para pequenos estados locais do navegador. O fluxo principal precisa continuar compreensível se qualquer uma dessas camadas falhar.

Projete os layouts para celular de propósito, em vez de só empilhar os painéis do desktop. Ofereça navegação por teclado, foco visível, landmarks semânticos, labels explícitos, títulos de página úteis, a preferência de movimento reduzido e anúncios para leitores de tela em resultados assíncronos. Nunca use só a cor para comunicar um estado. Ações destrutivas precisam de escopo claro e confirmação; ações seguras repetidas devem ser idempotentes.

Adicione um rodapé em todas as páginas com o texto “Criado por aurelioagency.com”, em que “aurelioagency.com” é um link incorporado para https://www.aurelioagency.com que abre em uma nova aba. Ele deve ficar visível; não o remova.

DIREÇÃO TÉCNICA
Construa esta versão com o stack AHA: Astro para o roteamento, os layouts e as páginas renderizadas no servidor; HTMX para as interações que se beneficiam de respostas com fragmentos HTML; e Alpine.js para pequenos estados locais da interface. Prefira Cloudflare D1 para a persistência relacional, R2 para o armazenamento de objetos, Workers para os endpoints do servidor e as tarefas agendadas, Durable Objects só para estado em tempo real coordenado, e Workflows ou Queues para jobs duráveis em segundo plano—mas só quando os requisitos do produto pedirem.

Mantenha as regras de domínio em módulos do servidor testáveis, não em route handlers nem em componentes de UI. Separe persistência, provedores externos e trabalho em segundo plano atrás de interfaces pequenas, sem construir um framework. Prefira formulários HTML e URLs comuns para a navegação; use interação otimista só quando uma falha puder ser resolvida com clareza.

O briefing do produto identifica hoje Astro, HTMX, D1 como contexto técnico. Preserve qualquer capacidade nativa, exclusiva do navegador, de edge, de armazenamento, em tempo real ou de processamento em segundo plano que seja necessária, por meio de um adaptador enxuto e adequado ao framework escolhido. Se o fluxo central realmente exigir APIs nativas ou do navegador, mantenha esse ambiente como a principal superfície de execução, em vez de simular capacidades inacessíveis ou inventar uma superfície web desnecessária.

Integre com os links de issues ou pull requests do GitHub. Para cada integração:
- Liste as variáveis de ambiente necessárias em um .env.example sem segredos reais.
- Adicione um adaptador pequeno com timeouts, erros normalizados e uma versão falsa local determinística ou um modo de desenvolvimento.
- Verifique as assinaturas recebidas e deduplique os eventos do provedor quando possível.
- Mantenha as credenciais no servidor, criptografe em repouso os tokens de longa duração e oculte segredos e dados sensíveis dos logs.
- Defina novas tentativas, backoff e idempotência para qualquer efeito que possa se repetir.

SEGURANÇA E PRIVACIDADE
Use identificadores únicos e duradouros e registre cada mudança de estado.
Valide, normalize e limite o tamanho de toda entrada não confiável no servidor. Escape o conteúdo renderizado por padrão, sanitize qualquer markup aceito de propósito, aplique rate limit a ações públicas ou sujeitas a abuso e use armazenamento de objetos privado com URLs autorizadas de curta duração para arquivos sensíveis. Colete só os dados pessoais de que o fluxo indicado precisa. Documente como os dados são retidos e apagados. Adicione proteções específicas para as partes mais arriscadas deste app, como uploads, redirecionamentos, requisições de saída, envio de e-mails, OAuth, webhooks, importação ou exportação de CSV e conexões em tempo real.

CENÁRIOS DE ACEITAÇÃO
Automatize estes cenários específicos do app no nível mais adequado:
1. Dado um colega em qualquer lugar do app, quando ele aciona a criação rápida e envia um título, uma issue de backlog com identificador único é criada e fica em foco.
2. Dados dois usuários editando uma issue a partir da mesma versão, quando ambos salvam, o salvamento desatualizado mostra um conflito em vez de sobrescrever a mudança mais nova.
3. Dado um ciclo ativo que termina com issues incompletas, quando o responsável o encerra, o trabalho concluído continua no relatório e cada issue incompleta vai apenas para o destino confirmado.

TESTES
Adicione testes unitários focados em transições de estado, regras de autorização, normalização, cálculos de datas ou dinheiro e outras regras de domínio arriscadas. Adicione testes de integração para as restrições de persistência e para os caminhos de sucesso, timeout, nova tentativa e rejeição de cada adaptador externo. Adicione pelo menos um teste de navegador para cada jornada completa acima, incluindo um em tela pequena. Os testes devem usar dados isolados e rodar com um único comando documentado.

OPERAÇÃO E RECUPERAÇÃO DE FALHAS
Adicione logs estruturados no servidor com IDs de correlação por requisição, job ou evento, sem segredos nem dados sensíveis desnecessários. Faça os erros indicarem o que fazer, tanto na interface quanto nos logs. O trabalho em segundo plano deve mostrar os estados pendente, concluído, com falha e tentando de novo quando fizer sentido; nunca engula erros em silêncio. Inclua um guia seguro de migração e rollback do banco, dados de teste, notas de backup e restauração, o que acontece com dados externos na limpeza e uma rota básica de saúde ou diagnóstico adequada ao stack.

ENTREGÁVEIS
Entregue o aplicativo funcionando, as migrações, dados de teste representativos, os testes, o .env.example e um README curto. O README deve cobrir pré-requisitos, instalação local, variáveis de ambiente, migrações, comandos de dados de teste e de testes, deploy, configuração das integrações, backup e restauração, decisões de segurança e limitações conhecidas. Os dados de teste devem cobrir o caminho feliz e pelo menos um estado vazio, com falha, atrasado, expirado, arquivado ou com permissão restrita que importe para o produto.

DEFINIÇÃO DE PRONTO
O app está pronto quando uma pessoa nova consegue seguir o README, criar e migrar o banco, rodar o app, entrar com cada papel relevante, completar cada jornada citada com dados reais salvos, recarregar sem perder o estado, se recuperar das falhas comuns e usar a interface principal no celular e no desktop. Todos os cenários de aceitação passam, os limites de permissão estão cobertos por testes, nenhuma tela principal fica como placeholder e o crédito “Criado por aurelioagency.com” no rodapé aparece em todas as páginas.

NÃO-OBJETIVOS
Não construa roadmaps, iniciativas entre times, fluxos de trabalho personalizados nem sincronização profunda com o Git.

O app que você criar com este prompt leva no rodapé “Criado por aurelioagency.com”.

Crie só uma parte

Prompts curtos para resolver a parte mais difícil sem construir tudo.

ABC-123 para sempre: identificadores que nunca voltamContadores atômicos, aposentadoria permanente e links que sobrevivem aos títulos.
Construa identificadores duradouros para as issues de um gerenciador: estilo TEAM-123, únicos para sempre e nunca reciclados.

Cada time tem uma chave curta e um contador. Criar uma issue incrementa o contador de forma atômica e carimba a issue: duas criações simultâneas não podem gerar o mesmo número, então incremente com uma operação atômica no nível do banco de dados ou com um bloqueio de linha, nunca lendo e depois escrevendo. O contador só sobe: excluir ou arquivar TEAM-87 aposenta esse número para sempre. Buracos não importam; reutilizar é o pecado, porque links, mensagens de commit e a memória das pessoas referenciam o identificador.

A resolução é feita só pelo identificador: o título pode mudar todo dia e todo link antigo continua chegando. Renomear a chave de um time é o caso extremo complicado: ou você proíbe, ou mantém aliases da chave antiga que redirecionam, porque TEAM-42 está escrito em uma centena de mensagens de commit que você não controla.

Adicione ações de copiar link e copiar id em cada issue, e um parse do identificador que tolere maiúsculas e pontuação ao redor quando colado na busca.

Pronto quando: a criação concorrente sob carga nunca duplica um número, o identificador de uma issue excluída nunca é reemitido, e os links sobrevivem a mudanças de título e de chave.
Um menu de comandos mais rápido que o mouseBusca aproximada por subsequência, ações conforme o contexto e zero mouse.
Construa um menu de comandos pensado para o teclado em um gerenciador de issues: a interface para quem tem birra do mouse.

Um único atalho o abre de qualquer lugar. Ao digitar, ele filtra uma lista mista de comandos e issues com busca aproximada por subsequência (crbg encontra Create bug report): pontue as correspondências por sequências de caracteres consecutivos, acertos em limites de palavra e posição da correspondência, para que o resultado mais intuitivo apareça primeiro, e destaque os caracteres correspondentes em cada resultado.

Torne-o sensível ao contexto: com uma issue em foco, as ações dela (atribuir, mudar status, mover para um ciclo) aparecem acima dos comandos globais. Suporte o encadeamento de comandos: escolha Mudar status e apareça uma segunda lista com os status no mesmo campo. Seleções recentes ganham um leve impulso no ranking.

As partes chatas: navegação completa com setas e enter, foco preso enquanto aberto e restaurado com precisão ao fechar, resultados virtualizados acima de cem linhas, e uma busca em alguns milhares de issues respondendo em menos de 50 milissegundos: pré-calcule um índice em minúsculas em vez de rodar regex a cada tecla.

Pronto quando: toda ação do menu é alcançável sem o mouse, a pontuação aproximada coloca a resposta óbvia em primeiro nas suas consultas de teste, e abrir-digitar-enter parece instantâneo com alguns milhares de issues.
Feche o ciclo sem perder o que sobrouCada issue que sobra ganha um destino explícito, e os relatórios congelam no fechamento.
Construa o fechamento e a transferência de ciclos para um gerenciador de issues com ciclos semanais. As issues que sobram são o problema inteiro.

Um ciclo ativo por time, com datas no fuso horário do time. Fechá-lo é uma cerimônia deliberada, não uma surpresa de cron à meia-noite: mostre uma prévia da transferência listando todas as issues incompletas e exija um destino explícito para cada uma (o próximo ciclo ou o backlog), com controles de agrupamento para que cinquenta issues não signifiquem cinquenta cliques. Nenhuma issue se move para lugar nenhum em silêncio.

O trabalho concluído continua creditado ao ciclo fechado: o relatório congela no fechamento, e as issues transferidas aparecem no ciclo seguinte sem apagar por onde passaram. A jornada de uma issue por três ciclos fica visível na própria issue. Registre as movimentações de escopo como eventos (adicionada ao ciclo, removida, transferida) para que os relatórios distingam o trabalho planejado do que entrou de carona.

Crie automaticamente o próximo ciclo a partir da cadência se ele não existir, e trate o caso feliz: fechar um ciclo com tudo pronto pula a cerimônia.

Pronto quando: nenhuma issue incompleta se move sem um destino confirmado, os relatórios de ciclos fechados nunca mudam depois, e uma issue transferida duas vezes mostra todo o seu histórico de ciclos.
O burn-down montado com eventos, não com fotosReproduza o registro de transições para ter gráficos que não mentem.
Construa análises de ciclo calculadas a partir de eventos de transição, não do estado atual.

O estado atual não consegue responder às perguntas que importam: o escopo deste ciclo foi estável, e quando o trabalho realmente terminou? Então trate cada mudança relevante como um evento (transições de status, atribuição e saída de um ciclo, cada uma com data e autor) e monte o relatório reproduzindo-os.

Derive: concluídas versus restantes por dia do ciclo (um burn-down que reflete a realidade, incluindo saltos de escopo no meio do ciclo), o escopo adicionado e removido depois que o ciclo começou com as issues responsáveis listadas, e o throughput dos ciclos recentes. A contabilidade complicada: uma issue adicionada, removida e adicionada de novo conta uma vez, mostrando todos os seus eventos de escopo; uma issue concluída e depois reaberta dentro do ciclo move as contagens diárias nas duas direções nos dias corretos.

Calcule sob demanda com um cache pequeno cuja chave seja o id do último evento: a invalidação é trivial porque os eventos só são acrescentados. Cada gráfico leva de volta às issues que o compõem, porque um número que você não consegue questionar é um boato.

Pronto quando: o burn-down reconstrói com precisão qualquer dia passado apenas com eventos, as listas de mudanças de escopo nomeiam cada issue adicionada e removida, e reabrir uma issue move as contagens diárias corretamente.

Perguntas frequentes

Quanto custa o Linear se eu continuar assinando?

O Linear custa de US$10 a US$16 por pessoa por mês nos planos pagos públicos, ou seja, de US$120 a US$192 por ano para cada pessoa do seu time. Um substituto próprio e focado custa o seu tempo de construção mais uma hospedagem que fica perto de zero.

Que stack devo usar para criar uma alternativa ao Linear?

O prompt desta página vem em quatro versões: a stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel e Ruby on Rails. O contexto técnico deste produto é Astro, HTMX, D1. Escolha a stack que você já conhece: o escopo importa mais do que o framework.

Que funções um substituto mínimo do Linear precisa ter?

Uma v1 útil precisa de: criação rápida de issues com título, descrição, prioridade, etiqueta e responsável; visões de backlog, ciclo ativo e concluídos; navegação pensada para o teclado e menu de comandos; comentários nas issues, histórico de status e links relacionados; progresso do ciclo e um gráfico simples de throughput. Todo o resto é aumento de escopo até você sentir falta de verdade.

O que devo deliberadamente não construir?

Não construa roadmaps, iniciativas entre times, fluxos de trabalho personalizados nem sincronização profunda com o Git.

Esta construção também substitui o Jira e o Shortcut?

Sim. Linear, Jira e Shortcut resolvem o mesmo trabalho de base: registrar, priorizar e concluir issues com o mínimo de cerimônia. A v1 desta página cobre o que a maioria usa de qualquer um deles, então uma única construção focada substitui o que você estiver pagando hoje.

Em que ele é diferente do Linear?

O Plane faz quase tudo o que o Linear faz, sem assinatura, e seus dados ficam com você. A comparação ponto a ponto está na página.

Meus dados são meus?

Sim. Com uma ferramenta open source instalada do seu lado, seus arquivos ficam na sua máquina ou no seu servidor. Ninguém pode encerrar a sua conta nem mudar o preço.

Ver os 22 apps →

Sem tempo para fazer?

A gente faz para você.

Se você prefere que alguém instale, conecte às suas ferramentas e deixe funcionando, é exatamente isso que fazemos na Aurelio.

Agendar uma auditoria de automação