slogan3

Help me met het opzetten van GitHub Codespaces voor mijn ontwikkelomgeving

description

Met deze prompt kan de gebruiker een gepersonaliseerde en efficiënte cloud-gebaseerde ontwikkelomgeving opzetten met GitHub Codespaces. Het helpt bij het configureren, optimaliseren en samenwerken, wat tijd bespaart en ontwikkelprocessen stroomlijnt. Dit is relevanter dan bestaande prompts, omdat het zich specifiek richt op de nieuwste cloudontwikkelomgeving van GitHub, een onderwerp dat nog niet is behandeld.

prompt

Help me bij het opzetten van GitHub Codespaces voor mijn project met de volgende details: Projectnaam: <voer je projectnaam in> Programmeertaal(en): <voer de programmeertaal(len) in> Gewenste ontwikkeltools en extensies: <li ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een stapsgewijze gids om GitHub Codespaces voor jouw WebShop-project met React en TypeScript op te zetten, inclusief het gebruik van ESLint en Prettier, en het waarborgen van consistente omgevingen voor je team: 1. Maak een `.devcontainer` directory aan in je projectroot: ```bash mkdir -p .devcontainer ``` 2. Voeg een `devcontainer.json` bestand toe met de basisconfiguratie: ```json { "name": "WebShop Codespace", "dockerFile": "Dockerfile", "settings": { "terminal.integrated.defaultProfile.linux": "bash", "editor.formatOnSave": true, "eslint.enable": true, "prettier.enable": true }, "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode" ], "postCreateCommand": "npm install", "remoteUser": "node" } ``` 3. Maak een `Dockerfile` in dezelfde directory voor het configureren van de containeromgeving: ```dockerfile FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-18 # Installeer extra tools indien nodig RUN npm install -g typescript eslint prettier ``` 4. Voeg project-specifieke configuratiebestanden toe: - `.eslintrc.json` voor ESLint: ```json { "env": { "browser": true, "es2021": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier" ], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "rules": { // voeg hier je aangepaste regels toe } } ``` - `.prettierrc` voor Prettier: ```json { "semi": true, "singleQuote": true, "trailingComma": "es5" } ``` 5. Zorg dat alle teamleden dezelfde `.devcontainer`, `Dockerfile`, en configuratiebestanden gebruiken. Commiteer deze naar je repository. 6. Om een Codespace te starten: - Ga naar je GitHub repository. - Klik op de groene "Code" knop > "Open with Codespaces" > "New codespace". 7. Optimaliseren en samenwerken: - Gebruik gedeelde lint- en formatteringsregels. - Voeg scripts toe aan `package.json` voor linting en formatting: ```json "scripts": { "lint": "eslint src/**/*.ts", "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx}\"" } ``` - Documenteer de setup in een `README.md` zodat alle teamleden weten hoe ze de omgeving kunnen gebruiken en onderhouden. Door deze stappen te volgen, zorg je voor een consistente en geoptimaliseerde ontwikkelomgeving voor jouw WebShop-project, die gemakkelijk gedeeld en beheerd kan worden binnen je team via GitHub Codespaces.
provider: deepseek
model: deepseek-chat
Zeker! Hier is een uitgebreide handleiding voor het opzetten van GitHub Codespaces voor je WebShop project: ## 1. Basisconfiguratie ### devcontainer.json bestand Maak een `.devcontainer/devcontainer.json` bestand aan: ```json { "name": "WebShop Dev Container", "image": "mcr.microsoft.com/devcontainers/typescript-node:18", "features": { "ghcr.io/devcontainers/features/github-cli:1": {} }, "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "ms-vscode.vscode-typescript-next" ], "settings": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"] } } }, "postCreateCommand": "npm install", "forwardPorts": [3000], "portsAttributes": { "3000": { "label": "WebShop Application", "onAutoForward": "openPreview" } } } ``` ## 2. Ontwikkeltools configuratie ### package.json scripts toevoegen: ```json { "scripts": { "lint": "eslint src --ext .ts,.tsx", "lint:fix": "eslint src --ext .ts,.tsx --fix", "format": "prettier --write src/**/*.{ts,tsx,js,jsx,css,json}", "prepare": "husky install" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.45.0", "eslint-plugin-react": "^7.33.0", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^3.0.0", "husky": "^8.0.0", "lint-staged": "^13.0.0" } } ``` ### ESLint config (.eslintrc.json): ```json { "extends": [ "eslint:recommended", "@typescript-eslint/recommended", "plugin:react/recommended", "plugin:react-hooks/recommended" ], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint", "react"], "root": true, "rules": { "react/react-in-jsx-scope": "off" } } ``` ### Prettier config (.prettierrc): ```json { "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5", "printWidth": 80 } ``` ## 3. Team samenwerking optimaliseren ### Git hooks instellen (via husky): ```bash npx husky add .husky/pre-commit "npx lint-staged" npx husky add .husky/pre-push "npm run lint" ``` ### lint-staged config (.lintstagedrc.json): ```json { "*.{ts,tsx}": ["eslint --fix", "prettier --write"], "*.{js,jsx}": ["eslint --fix", "prettier --write"], "*.{json,css,md}": ["prettier --write"] } ``` ## 4. Codespace-specifieke optimalisaties ### .devcontainer/Dockerfile (optioneel voor extra packages): ```dockerfile FROM mcr.microsoft.com/devcontainers/typescript-node:18 # Extra packages toevoegen RUN apt-get update && apt-get install -y \ curl \ git \ && rm -rf /var/lib/apt/lists/* ``` ### .devcontainer/devcontainer.json uitbreiding: ```json { // ... bestaande config "settings": { "terminal.integrated.profiles.linux": { "bash": { "path": "bash", "icon": "terminal-bash" } }, "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }, "remoteUser": "node" } ``` ## 5. Team workflow tips 1. **Gedeelde configuratie**: Zorg dat iedereen dezelfde `.devcontainer` configuratie gebruikt 2. **Pre-commit hooks**: Husky zorgt voor consistente codekwaliteit 3. **Port forwarding**: Gebruik de ingebouwde port forwarding voor previews 4. **Snapshot functie**: Gebruik Codespace snapshots voor complexe setups ## 6. Aanbevolen extensions toevoegen Voeg deze extensions toe aan je devcontainer.json: ```json "extensions": [ "bradlc.vscode-tailwindcss", "ms-vscode.vscode-typescript-next", "formulahendry.auto-rename-tag", "christian-kohler.path-intellisense" ] ``` ## 7. Prebuild configuratie Activeer prebuilds in je repository settings → Codespaces → Prebuilds voor snellere starttijden. Deze setup garandeert dat alle teamleden exact dezelfde ontwikkelomgeving hebben met geïntegreerde linting, formatting en consistente tooling!