Sobre o projeto

Fold é um aplicativo de tarefas auto-hospedado que funciona com qualquer servidor CalDAV compatível com a especificação. Desenvolvido como software pessoal, ele armazena todas as tarefas como propriedades VTODO normais, mantendo-as legíveis por outros clientes CalDAV, garantindo portabilidade e longevidade dos dados. Suas principais características incluem um analisador rápido de adição em linguagem natural — ao digitar algo como "Limpar os esgotos amanhã às 15h #tarefas p1", a data, hora, lista e prioridade são extraídas automaticamente com um único pressionar de Enter. Visualizações como Hoje, Amanhã, Próximos 7 dias, Resumo e Pesquisa agregam tarefas de todas as listas. O aplicativo reconhece nomes especiais de listas: tarefas de Saúde aparecem no topo de cada visualização, enquanto Compras se resumem a uma única linha, já que a questão é se a compra foi feita, e não quantos itens foram listados. O suporte a operação offline é possível graças à fila de mudanças locais que é reexecutada quando a conectividade retorna. O aplicativo é projetado para ser usado principalmente com teclado e pode ser instalado como uma Progressive Web App (PWA) em dispositivos móveis. Não há notificações, sequências ou lembretes intrusivos. Não existe base de dados de usuários nem armazenamento de sessões. Ao fazer login, as credenciais CalDAV são verificadas com o servidor e criptografadas com AES-256-GCM em um cookie HttpOnly armazenado no navegador. O JavaScript não pode ler o cookie. Cada requisição subsequente descriptografa as credenciais na memória do servidor para a comunicação CalDAV, descartando-as imediatamente após. Reiniciar o contêiner não perde nada, pois nada é persistido no lado do servidor. A implantação usa Docker com uma única variável de ambiente obrigatória, SESSION_SECRET, que criptografa o cookie de credenciais. Um proxy reverso com TLS é recomendado, já que o cookie carrega credenciais sensíveis. Existe uma opção ALLOW_INSECURE_COOKIE para redes locais confiáveis sem TLS. CALDAV_ALLOWED_HOSTS pode restringir quais servidores CalDAV a tela de login aceita, protegendo instâncias expostas publicamente. Fold não oferece suporte deliberadamente a subtarefas, tarefas recorrentes, sincronização em segundo plano ou múltiplas contas. As propriedades RRULE existentes são preservadas, mas nunca criadas ou editadas pelo aplicativo. Uma única conta CalDAV está ativa por vez. O projeto é licenciado sob MIT. O desenvolvimento utiliza Bun, com camadas de testes tipadas, incluindo testes unitários com Vitest, testes de integração contra um servidor Radicale real e testes end-to-end com Playwright. Especificações completas e decisões arquitetônicas estão documentadas no diretório docs do repositório.