# Prompt de arranque # Contexto Gestor de projeto na empresa Streamline, responsável pela área de web-design e web-development # Cliente INESCC - Álvaro Gomes # Metodologia Spec-driven development (SDD) # Regras de negócio - Deve ser registado um código de projeto associado para cada situação - Existem sistemas próprios da Streamline - Existem sistemas associados a clientes específicos, algumas dedicadas, outras em sistemas partilhados da Streamline - O site tem de ser obrigatoriamente em inglês, e deve seguir o design system do INESCC, mas também deve ser moderno e institucional, seguindo as melhores práticas de UX/UI # Objetivos Manter uma estrutura de pastas para fazer perfil e guardar histórico e rastreabilidade de caracterização, manutenção e operação da infraestrutura TI, para a própria empresa Streamline, mas também para os seus clientes que têm contratualizada a gestão da sua infraestrutura TI. # Tarefas do agente IA - Implementar o frontend do projeto em react, seguindo os ficheiros presentes no input files. - Arquitetura em react e pacotes utilizados: - tantstack router - para âncoras e navegação entre secções com scroll suave - shadcn (para componentes) - tailwind (para estilos) - motion para animações - lucide para icones # Regras de prioridade - Priorizar a implementação das secções principais e dos componentes mais importantes, seguindo a hierarquia apresentada nos ficheiros de input, e depois ir implementando os restantes componentes. - Priorizar a implementação dos estilos do tailwind, seguindo as cores e estilos do design system do inescc, e depois ir ajustando os detalhes visuais e as animações. # Estrutura de entrega - O projeto deve ser um micro-website de uma só página para apresentação de um projeto chamado "resilience", as informações acerca dele estão presentes no documento input_files\Notas Site.docx. # Critérios de aceitação A aplicação deve arrancar com npm install e npm run dev, não pode ter erros de TypeScript, e as rotas principais devem estar acessíveis. # Critérios de instalação - O projeto deve ser instalado utilizando npm, com um ficheiro package.json presente na raiz do projeto, e deve ser possível instalar as dependências utilizando o comando `npm install`. ## Comandos por ordem de instalação de pacotes 1. npm create vite@latest 2. npm install tailwindcss @tailwindcss/vite 3. npm install -D @types/node 4. npx shadcn@latest init 5. npm i @tanstack/react-router @tanstack/react-router-devtools 6. npm i framer-motion 7. npm i lucide-react ## Não esquecer de configurar o tsconfig.json para incluir os paths dos ficheiros de configuração do shadcn, tailwind e router ``` typescript { "files": [], "references": [ { "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" } ], "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] } } } ``` ``` json { "compilerOptions": { // ... "baseUrl": ".", "paths": { "@/*": [ "./src/*" ] } // ... } } ``` ``` typescript import path from "path" import tailwindcss from "@tailwindcss/vite" import react from "@vitejs/plugin-react" import { defineConfig } from "vite" // https://vite.dev/config/ export default defineConfig({ plugins: [react(), tailwindcss()], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, }) ``` # Regras de UX/UI - Deve ser utilizado o design system shadcn para os componentes, e o tailwind para os estilos, seguindo as melhores práticas de design e usabilidade. - O estilo visual deve ser institucional, mas moderno, seguindo as cores, botões e arredondamentos do inescc (https://www.inescc.pt/), e deve ser responsivo, adaptando-se a diferentes tamanhos de ecrã. - Font: Outfit - Animações, utilizando o motion, para transições suaves entre páginas e componentes, mas sem exageros, mantendo a simplicidade e a clareza da interface. # Regras sobre os input_files Usar os ficheiros em input_files como fonte de verdade para conteúdo, estrutura e referências visuais. # Secções Obrigatórias #### `Utiliza estrutura para organizar o conteúdo do microsite, seguindo a hierarquia apresentada nos ficheiros de input_files/Notas Site.docx` ### Header Nome do projeto e menu de navegação, seguindo o design system do shadcn para os componentes de header e menu, com ancoras para os seguintes tópicos: - Home - Work plan - Indicadores ### Hero - Hero sobre o projeto: - Nome - Descrição - Equipa - Datas (inicio e fim) - Project code - Suporte financeiro ### Objetivos e contributo Esta secção apresenta de forma breve o objetivo central do projeto `Resilience`, o seu enquadramento e o contributo da equipa para a sua concretização. Deve explicar, em poucas linhas, qual o problema que o projeto aborda, qual a solução proposta e qual o impacto esperado para o cliente e para o contexto científico e técnico. A apresentação deve combinar: - um texto introdutório breve `GOAL`; - pontos-chave em destaque sobre o contributo da equipa; - elementos visuais simples, como cartões ou ícones discretos; - uma leitura fluida, com boa separação entre informação principal e secundária. ### Work plan - Secção interativa com o work plan - presente no documento input_files/Notas Site.docx, onde cada ponto do plano de trabalho é apresentado como um cartão, e ao dar hover no cartão `(desktop)` e clicar `(mobile)`, é apresentado um cronograma, cria esse componente em código, inspirado em shadcn, através da imagem input_files/cronograma.png. ### Indicadores - Secção de indicadores, onde são apresentados journals, conferências e outros indicadores de impacto do projeto, seguindo a estrutura apresentada no documento input_files/Notas Site.docx. Cada um desses indicadores deve ser apresentado como um cartão, seguindo o design system do shadcn, e deve ser possível clicar em cada cartão para obter mais detalhes sobre o indicador. ### Footer - Logos dos parceiros, seguindo a hierarquia apresentada no documento input_files/Notas Site.docx, e seguindo o design system do shadcn para os cartões de cada parceiro - INESC Coimbra - Instituto de Engenharia de Sistemas e Computadores de Coimbra, Associação para o Desenvolvimento da Aerodinâmica Industrial, Instituto Politécnico de Coimbra – ISCAC. # Ordem de trabalhos Antes de editar, apresentar um plano curto; depois, executar e no fim resumir o que foi alterado e o que ficou por fazer # Output Criar pasta `specs/` com estrutura SDD