 5978a0b8f5
			
		
	
	5978a0b8f5
	
	
	
		
			
			- Agent roles and coordination features - Chat API integration testing - New configuration and workspace management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # HCFS Node.js Development Environment
 | |
| FROM bzzz-hcfs-base:latest
 | |
| 
 | |
| LABEL maintainer="anthony@deepblack.cloud"
 | |
| LABEL description="HCFS Node.js development environment with modern JS/TS tools"
 | |
| LABEL language="javascript"
 | |
| LABEL version="1.0.0"
 | |
| 
 | |
| # Install Node.js and npm
 | |
| RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
 | |
|     apt-get install -y nodejs
 | |
| 
 | |
| # Install Yarn package manager
 | |
| RUN npm install -g yarn
 | |
| 
 | |
| # Install global development tools
 | |
| RUN npm install -g \
 | |
|     # TypeScript ecosystem
 | |
|     typescript \
 | |
|     ts-node \
 | |
|     @types/node \
 | |
|     # Build tools
 | |
|     webpack \
 | |
|     webpack-cli \
 | |
|     rollup \
 | |
|     vite \
 | |
|     # Testing frameworks
 | |
|     jest \
 | |
|     mocha \
 | |
|     cypress \
 | |
|     # Code quality
 | |
|     eslint \
 | |
|     prettier \
 | |
|     @typescript-eslint/parser \
 | |
|     @typescript-eslint/eslint-plugin \
 | |
|     # Development servers
 | |
|     nodemon \
 | |
|     concurrently \
 | |
|     # Package management
 | |
|     npm-check-updates \
 | |
|     # Documentation
 | |
|     jsdoc \
 | |
|     typedoc \
 | |
|     # CLI tools
 | |
|     commander \
 | |
|     inquirer \
 | |
|     chalk \
 | |
|     # Process management
 | |
|     pm2 \
 | |
|     forever
 | |
| 
 | |
| # Create Node.js workspace structure
 | |
| RUN sudo -u agent mkdir -p /home/agent/work/{src,tests,docs,public,build,dist}
 | |
| 
 | |
| # Set up Node.js environment
 | |
| ENV NODE_ENV=development
 | |
| ENV NPM_CONFIG_PREFIX=/home/agent/.npm-global
 | |
| ENV PATH=/home/agent/.npm-global/bin:$PATH
 | |
| 
 | |
| # Create npm configuration
 | |
| RUN sudo -u agent mkdir -p /home/agent/.npm-global && \
 | |
|     sudo -u agent npm config set prefix '/home/agent/.npm-global'
 | |
| 
 | |
| # Install HCFS Node.js SDK
 | |
| COPY hcfs-nodejs-sdk /opt/hcfs/nodejs-sdk
 | |
| RUN cd /opt/hcfs/nodejs-sdk && npm install && npm link
 | |
| 
 | |
| # Create package.json template for new projects
 | |
| RUN sudo -u agent bash -c 'cat > /home/agent/work/package.json.template << EOF
 | |
| {
 | |
|   "name": "hcfs-agent-project",
 | |
|   "version": "1.0.0",
 | |
|   "description": "HCFS-enabled Node.js project",
 | |
|   "main": "src/index.js",
 | |
|   "scripts": {
 | |
|     "start": "node src/index.js",
 | |
|     "dev": "nodemon src/index.js",
 | |
|     "test": "jest",
 | |
|     "build": "webpack --mode production",
 | |
|     "lint": "eslint src/",
 | |
|     "format": "prettier --write src/"
 | |
|   },
 | |
|   "dependencies": {
 | |
|     "@hcfs/sdk": "file:/opt/hcfs/nodejs-sdk",
 | |
|     "express": "^4.18.0",
 | |
|     "axios": "^1.0.0"
 | |
|   },
 | |
|   "devDependencies": {
 | |
|     "nodemon": "^3.0.0",
 | |
|     "jest": "^29.0.0",
 | |
|     "eslint": "^8.0.0",
 | |
|     "prettier": "^3.0.0"
 | |
|   },
 | |
|   "engines": {
 | |
|     "node": ">=18.0.0"
 | |
|   }
 | |
| }
 | |
| EOF'
 | |
| 
 | |
| # Node.js-specific HCFS integration script
 | |
| COPY scripts/nodejs-hcfs-init.js /opt/hcfs/scripts/
 | |
| RUN chmod +x /opt/hcfs/scripts/nodejs-hcfs-init.js
 | |
| 
 | |
| # Expose common Node.js development ports
 | |
| EXPOSE 3000 8080 8000 9229
 | |
| 
 | |
| # Add Node.js-specific entrypoint
 | |
| COPY scripts/nodejs-entrypoint.sh /opt/hcfs/
 | |
| RUN chmod +x /opt/hcfs/nodejs-entrypoint.sh
 | |
| 
 | |
| ENTRYPOINT ["/opt/hcfs/nodejs-entrypoint.sh"]
 | |
| CMD ["node"] |