# 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 


<!-- AI Agent Run Output
--