# Install all dependencies
npm run install:all
# Start webview development server
npm run start:webview
# Build webview for production
npm run build:webview
# Compile TypeScript extension code
npm run compile
# Watch for TypeScript changes
npm run watch
# Lint code
npm run lint
Building the Extension
To create a .vsix package for distribution:
npm install -g @vscode/vsce
npm run build:webview
npm run compile
vsce package
Technology Stack
Extension Host: TypeScript + VS Code Extension API
Webview UI: React 18 + TypeScript
Build Tool: Vite
Styling: Tailwind CSS 4
Validation: Custom Dockerfile linting engine
Validation Rules
DockForge validates Dockerfiles against common best practices:
Warnings
Missing base image
Empty commands
Invalid port numbers in EXPOSE
Multiple CMD/ENTRYPOINT instructions
Deprecated MAINTAINER instruction
COPY/ADD before WORKDIR
Suggestions
Multi-stage build detection
Naming intermediate stages
Merging RUN commands to reduce layers
Using .dockerignore for large COPY contexts
Using COPY instead of ADD when appropriate
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (git checkout -b feature/AmazingFeature)
Commit your changes (git commit -m 'Add some AmazingFeature')
Push to the branch (git push origin feature/AmazingFeature)