diff --git a/.devcontainer/Dockerfile.dev b/.devcontainer/Dockerfile.dev new file mode 100644 index 0000000000000..8bb4bf8639f49 --- /dev/null +++ b/.devcontainer/Dockerfile.dev @@ -0,0 +1,42 @@ +# Development environment with full toolchain +FROM --platform=linux/amd64 node:23.3.0-slim + +# Install pnpm globally and development dependencies +RUN npm install -g pnpm@10.14.0 && \ + apt-get update && apt-get install -y \ + git \ + python3 \ + make \ + g++ \ + curl \ + ffmpeg \ + libglib2.0-0 \ + libnss3 \ + libnspr4 \ + libdbus-1-3 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libcups2 \ + libdrm2 \ + libxkbcommon0 \ + libxcomposite1 \ + libxdamage1 \ + libxfixes3 \ + libxrandr2 \ + libgbm1 \ + libpango-1.0-0 \ + libcairo2 \ + libasound2 \ + libatspi2.0-0 \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Set Python 3 as the default python +RUN ln -s /usr/bin/python3 /usr/bin/python + +# Install Playwright browsers for dev/test +RUN npx -y playwright@1.48.2 install --with-deps chromium + +WORKDIR /app + +# Keep container running for development +CMD ["sleep", "infinity"] diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000000..bf71f3c575e3a --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,46 @@ +{ + "name": "BinoSwarm Dev", + "build": { + "dockerfile": "Dockerfile.dev", + "context": ".." + }, + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "ms-vscode.vscode-typescript-next", + "vitest.explorer" + ], + "settings": { + "terminal.integrated.defaultProfile.linux": "zsh", + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "typescript.tsdk": "node_modules/typescript/lib", + "eslint.workingDirectories": [ + "./agent", + "./packages/*" + ] + } + } + }, + "remoteUser": "node", + "forwardPorts": [ + 3000 + ], + "portsAttributes": { + "3000": { + "label": "Agent Server", + "onAutoForward": "notify" + } + }, + "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": true, + "installOhMyZsh": true, + "upgradePackages": true, + "installSsl": true + } + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 310ac4ae3c613..6397f40cf828d 100644 --- a/.gitignore +++ b/.gitignore @@ -73,5 +73,3 @@ eliza.sig scripts/cleaned_tweets.json scripts/responses.json scripts/tweets.json - -.devcontainer \ No newline at end of file