This document describes the organization of the Remote Docker Extension project.
remote-docker/
├── .editorconfig # Editor configuration
├── .gitignore # Git ignore rules
├── Dockerfile # Extension container definition
├── LICENSE # Project license
├── Makefile # Build automation
├── README.md # Main project documentation
├── docker-compose.yaml # Docker compose configuration
├── metadata.json # Extension metadata
│
├── assets/ # Extension icons and screenshots
│ ├── extension-icon.svg
│ └── *.png # Screenshots
│
├── backend/ # Go backend application
│ ├── go.mod
│ ├── go.sum
│ └── main.go
│
├── docs/ # Documentation
│ ├── README.md
│ ├── DOCKER_HUB_CLEANUP.md
│ ├── api-reference.md
│ ├── development.md
│ └── user-guide.md
│
├── scripts/ # Build and utility scripts
│ ├── README.md
│ ├── build.sh # Local build script
│ ├── clean.sh # Clean build artifacts
│ ├── deploy.sh # Deploy to Docker Hub
│ └── dev-setup.sh # Development environment setup
│
└── ui/ # React frontend application
├── index.html # Main HTML entry point
├── package.json # NPM dependencies
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite build configuration
├── src/ # Source code
│ ├── main.tsx # Application entry point
│ ├── App.tsx # Root component
│ ├── components/# Reusable components
│ └── pages/ # Page components
└── tests/ # Test HTML files for debugging
The following directories are generated during build and are ignored by git:
ui/build/- Frontend build outputui/node_modules/- NPM dependenciesserver,client,ssh- Compiled Go binaries
- Makefile - Primary build automation, run
make helpfor available targets - metadata.json - Docker Desktop extension metadata
- docker-compose.yaml - Local development configuration
- .editorconfig - Ensures consistent coding styles across editors
- Run
./scripts/dev-setup.shto install dependencies - Use
make run-clientfor UI development - Use
make build-extensionto build the extension - Use
make install-extensionto test locally
See docs/development.md for detailed development instructions.