diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..c6910b9 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,56 @@ +{ + "name": "Default Linux Universal", + "image": "mcr.microsoft.com/devcontainers/universal:2-linux", + "features": { + "ghcr.io/devcontainers-contrib/features/poetry:2": {} + }, + "postCreateCommand": "poetry config virtualenvs.in-project true && poetry install -E all && poetry run pre-commit install && yarn install", + "customizations": { + "vscode": { + "settings": { + "python.analysis.diagnosticMode": "workspace", + "python.analysis.typeCheckingMode": "basic", + "ruff.organizeImports": false, + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter", + "editor.codeActionsOnSave": { + "source.fixAll.ruff": true, + "source.organizeImports": true + } + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "files.exclude": { + "**/__pycache__": true + }, + "files.watcherExclude": { + "**/target/**": true, + "**/__pycache__": true + } + }, + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance", + "ms-python.isort", + "ms-python.black-formatter", + "charliermarsh.ruff", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + "bradlc.vscode-tailwindcss" + ] + } + } + } \ No newline at end of file