recoder-code 2.4.3 โ 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/.devcontainer/Dockerfile +0 -94
- package/.devcontainer/README.md +0 -280
- package/.devcontainer/devcontainer.json +0 -103
- package/.devcontainer/init-firewall.sh +0 -151
- package/.devcontainer/recoder-devcontainer.json +0 -73
- package/.devcontainer/recoder-dockerfile +0 -74
- package/.devcontainer/recoder-init.sh +0 -213
- package/.devcontainer/test-integration.sh +0 -130
- package/CHANGELOG.md +0 -233
- package/CODE_OF_CONDUCT.md +0 -187
- package/CONTRIBUTING.md +0 -50
- package/LICENSE.md +0 -21
- package/SANDBOX_QUICK_REFERENCE.md +0 -168
- package/SANDBOX_SETUP_GUIDE.md +0 -331
- package/validate.js +0 -81
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Recoder Code Development Container",
|
|
3
|
-
"build": {
|
|
4
|
-
"dockerfile": "Dockerfile",
|
|
5
|
-
"args": {
|
|
6
|
-
"TZ": "${localEnv:TZ:America/Los_Angeles}",
|
|
7
|
-
"RECODER_VERSION": "latest",
|
|
8
|
-
"NODE_VERSION": "20"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"runArgs": [
|
|
12
|
-
"--cap-add=NET_ADMIN",
|
|
13
|
-
"--cap-add=NET_RAW"
|
|
14
|
-
],
|
|
15
|
-
"customizations": {
|
|
16
|
-
"vscode": {
|
|
17
|
-
"extensions": [
|
|
18
|
-
"dbaeumer.vscode-eslint",
|
|
19
|
-
"esbenp.prettier-vscode",
|
|
20
|
-
"eamodio.gitlens",
|
|
21
|
-
"ms-vscode.vscode-typescript-next",
|
|
22
|
-
"bradlc.vscode-tailwindcss"
|
|
23
|
-
],
|
|
24
|
-
"settings": {
|
|
25
|
-
"editor.formatOnSave": true,
|
|
26
|
-
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
27
|
-
"editor.codeActionsOnSave": {
|
|
28
|
-
"source.fixAll.eslint": "explicit"
|
|
29
|
-
},
|
|
30
|
-
"terminal.integrated.defaultProfile.linux": "zsh",
|
|
31
|
-
"terminal.integrated.profiles.linux": {
|
|
32
|
-
"bash": {
|
|
33
|
-
"path": "bash",
|
|
34
|
-
"icon": "terminal-bash"
|
|
35
|
-
},
|
|
36
|
-
"zsh": {
|
|
37
|
-
"path": "zsh"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"terminal.integrated.env.linux": {
|
|
41
|
-
"OPENROUTER_API_KEY": "${localEnv:OPENROUTER_API_KEY}",
|
|
42
|
-
"RECODER_DEBUG": "true"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"remoteUser": "node",
|
|
48
|
-
"mounts": [
|
|
49
|
-
"source=recoder-bashhistory-${devcontainerId},target=/commandhistory,type=volume",
|
|
50
|
-
"source=recoder-config-${devcontainerId},target=/home/node/.recoder,type=volume"
|
|
51
|
-
],
|
|
52
|
-
"containerEnv": {
|
|
53
|
-
"NODE_OPTIONS": "--max-old-space-size=4096",
|
|
54
|
-
"RECODER_CONFIG_DIR": "/home/node/.recoder",
|
|
55
|
-
"OPENROUTER_API_KEY": "${localEnv:OPENROUTER_API_KEY}",
|
|
56
|
-
"PATH": "/usr/local/bin:${containerEnv:PATH}"
|
|
57
|
-
},
|
|
58
|
-
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated",
|
|
59
|
-
"workspaceFolder": "/workspace",
|
|
60
|
-
"postCreateCommand": "npm install -g . && echo 'Recoder Code installed globally!'",
|
|
61
|
-
"postStartCommand": "echo 'Recoder Code development environment ready!'",
|
|
62
|
-
"features": {
|
|
63
|
-
"ghcr.io/devcontainers/features/node:1": {
|
|
64
|
-
"version": "20"
|
|
65
|
-
},
|
|
66
|
-
"ghcr.io/devcontainers/features/git:1": {},
|
|
67
|
-
"ghcr.io/devcontainers/features/common-utils:2": {
|
|
68
|
-
"installZsh": true,
|
|
69
|
-
"configureZshAsDefaultShell": true,
|
|
70
|
-
"installOhMyZsh": true
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
FROM node:20-bullseye
|
|
2
|
-
|
|
3
|
-
# Set timezone
|
|
4
|
-
ARG TZ=America/Los_Angeles
|
|
5
|
-
ENV TZ=$TZ
|
|
6
|
-
|
|
7
|
-
# Install system dependencies
|
|
8
|
-
RUN apt-get update && apt-get install -y \
|
|
9
|
-
git \
|
|
10
|
-
curl \
|
|
11
|
-
wget \
|
|
12
|
-
vim \
|
|
13
|
-
nano \
|
|
14
|
-
zsh \
|
|
15
|
-
fish \
|
|
16
|
-
ripgrep \
|
|
17
|
-
fd-find \
|
|
18
|
-
jq \
|
|
19
|
-
tree \
|
|
20
|
-
htop \
|
|
21
|
-
python3 \
|
|
22
|
-
python3-pip \
|
|
23
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
24
|
-
|
|
25
|
-
# Install global npm packages for development
|
|
26
|
-
RUN npm install -g \
|
|
27
|
-
typescript \
|
|
28
|
-
ts-node \
|
|
29
|
-
nodemon \
|
|
30
|
-
eslint \
|
|
31
|
-
prettier \
|
|
32
|
-
@types/node
|
|
33
|
-
|
|
34
|
-
# Create non-root user
|
|
35
|
-
ARG USERNAME=node
|
|
36
|
-
ARG USER_UID=1000
|
|
37
|
-
ARG USER_GID=$USER_UID
|
|
38
|
-
|
|
39
|
-
# Configure zsh as default shell
|
|
40
|
-
RUN chsh -s $(which zsh) $USERNAME
|
|
41
|
-
|
|
42
|
-
# Create workspace directory
|
|
43
|
-
WORKDIR /workspace
|
|
44
|
-
|
|
45
|
-
# Install Oh My Zsh for better terminal experience
|
|
46
|
-
USER $USERNAME
|
|
47
|
-
RUN sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
|
|
48
|
-
|
|
49
|
-
# Set up zsh configuration for recoder-code
|
|
50
|
-
RUN echo 'export PATH="/workspace/node_modules/.bin:$PATH"' >> ~/.zshrc && \
|
|
51
|
-
echo 'alias recoder="recoder-code"' >> ~/.zshrc && \
|
|
52
|
-
echo 'alias rc="recoder-code"' >> ~/.zshrc && \
|
|
53
|
-
echo 'echo "๐ Recoder Code Development Environment"' >> ~/.zshrc && \
|
|
54
|
-
echo 'echo "๐ Run: recoder-code to start interactive mode"' >> ~/.zshrc && \
|
|
55
|
-
echo 'echo "๐ Run: recoder-code --help for options"' >> ~/.zshrc
|
|
56
|
-
|
|
57
|
-
# Switch back to root for final setup
|
|
58
|
-
USER root
|
|
59
|
-
|
|
60
|
-
# Install recoder-code globally when container starts
|
|
61
|
-
COPY package.json package-lock.json ./
|
|
62
|
-
RUN npm install -g .
|
|
63
|
-
|
|
64
|
-
# Set up command history persistence
|
|
65
|
-
RUN mkdir -p /commandhistory && chown $USERNAME:$USERNAME /commandhistory
|
|
66
|
-
|
|
67
|
-
# Switch back to non-root user
|
|
68
|
-
USER $USERNAME
|
|
69
|
-
|
|
70
|
-
# Set working directory
|
|
71
|
-
WORKDIR /workspace
|
|
72
|
-
|
|
73
|
-
# Default command
|
|
74
|
-
CMD ["/bin/zsh"]
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# Recoder Code DevContainer Initialization Script
|
|
4
|
-
# Sets up complete development environment for recoder-code
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
set -e
|
|
8
|
-
|
|
9
|
-
echo "๐ Initializing Recoder Code Development Environment..."
|
|
10
|
-
|
|
11
|
-
# Colors for output
|
|
12
|
-
RED='\033[0;31m'
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
BLUE='\033[0;34m'
|
|
16
|
-
CYAN='\033[0;36m'
|
|
17
|
-
NC='\033[0m' # No Color
|
|
18
|
-
|
|
19
|
-
# Create necessary directories
|
|
20
|
-
echo -e "${BLUE}๐ Creating configuration directories...${NC}"
|
|
21
|
-
mkdir -p /home/node/.recoder-code
|
|
22
|
-
mkdir -p /home/node/.recoder-code/logs
|
|
23
|
-
mkdir -p /home/node/.recoder-code/sessions
|
|
24
|
-
mkdir -p /home/node/.recoder-code/projects
|
|
25
|
-
mkdir -p /home/node/.recoder-code/plugins
|
|
26
|
-
mkdir -p /commandhistory
|
|
27
|
-
|
|
28
|
-
# Set proper ownership
|
|
29
|
-
chown -R node:node /home/node/.recoder-code
|
|
30
|
-
chown -R node:node /commandhistory
|
|
31
|
-
|
|
32
|
-
# Switch to node user for the rest of the setup
|
|
33
|
-
sudo -u node bash << 'EOF'
|
|
34
|
-
|
|
35
|
-
# Set up shell aliases and shortcuts
|
|
36
|
-
echo "๐ง Setting up shell aliases and shortcuts..."
|
|
37
|
-
cat >> /home/node/.zshrc << 'ZSHRC_EOF'
|
|
38
|
-
|
|
39
|
-
# Recoder Code Development Aliases
|
|
40
|
-
alias rc='recoder-code'
|
|
41
|
-
alias rcs='recoder-code --setup'
|
|
42
|
-
alias rch='recoder-code --help'
|
|
43
|
-
alias rcp='recoder-code --progress'
|
|
44
|
-
alias rcm='recoder-code --models'
|
|
45
|
-
alias rcv='recoder-code --version'
|
|
46
|
-
alias rci='recoder-code --info'
|
|
47
|
-
|
|
48
|
-
# Development helpers
|
|
49
|
-
alias rcd='RECODER_DEBUG=true recoder-code'
|
|
50
|
-
alias rcl='recoder-code --lite'
|
|
51
|
-
alias rcf='recoder-code --stream'
|
|
52
|
-
alias rct='recoder-code --test'
|
|
53
|
-
|
|
54
|
-
# Services management
|
|
55
|
-
alias rcsrv='recoder-code services'
|
|
56
|
-
alias rcstart='recoder-code services start'
|
|
57
|
-
alias rcstop='recoder-code services stop'
|
|
58
|
-
alias rcstatus='recoder-code services status'
|
|
59
|
-
|
|
60
|
-
# Project management
|
|
61
|
-
alias rcinit='recoder-code --init'
|
|
62
|
-
alias rclist='recoder-code --sessions'
|
|
63
|
-
alias rcresume='recoder-code --resume'
|
|
64
|
-
|
|
65
|
-
# Quick commands
|
|
66
|
-
alias rchello='recoder-code "Hello! Test message"'
|
|
67
|
-
alias rctest='recoder-code "Create a simple test file"'
|
|
68
|
-
|
|
69
|
-
echo "โ
Recoder Code aliases loaded!"
|
|
70
|
-
ZSHRC_EOF
|
|
71
|
-
|
|
72
|
-
# Set up Git configuration for development
|
|
73
|
-
echo "๐ Setting up Git configuration..."
|
|
74
|
-
git config --global init.defaultBranch main
|
|
75
|
-
git config --global pull.rebase false
|
|
76
|
-
git config --global core.editor nano
|
|
77
|
-
|
|
78
|
-
# Create initial recoder-code configuration if it doesn't exist
|
|
79
|
-
if [ ! -f /home/node/.recoder-code/config.json ]; then
|
|
80
|
-
echo "โ๏ธ Creating initial configuration..."
|
|
81
|
-
cat > /home/node/.recoder-code/config.json << CONFIG_EOF
|
|
82
|
-
{
|
|
83
|
-
"version": "2.0.0",
|
|
84
|
-
"mode": "development",
|
|
85
|
-
"firstRun": false,
|
|
86
|
-
"autoDetected": true,
|
|
87
|
-
"createdAt": "$(date -Iseconds)",
|
|
88
|
-
"development": {
|
|
89
|
-
"debugging": true,
|
|
90
|
-
"verboseLogging": true,
|
|
91
|
-
"autoReload": true
|
|
92
|
-
},
|
|
93
|
-
"services": {
|
|
94
|
-
"ml": {
|
|
95
|
-
"enabled": false,
|
|
96
|
-
"url": "http://localhost:8000",
|
|
97
|
-
"timeout": 30000
|
|
98
|
-
},
|
|
99
|
-
"plugins": {
|
|
100
|
-
"enabled": false,
|
|
101
|
-
"url": "http://localhost:3000",
|
|
102
|
-
"timeout": 15000
|
|
103
|
-
},
|
|
104
|
-
"collaboration": {
|
|
105
|
-
"enabled": false,
|
|
106
|
-
"url": "http://localhost:3003",
|
|
107
|
-
"timeout": 10000
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
"cli": {
|
|
111
|
-
"theme": "default",
|
|
112
|
-
"verboseLogging": true,
|
|
113
|
-
"autoUpdate": false,
|
|
114
|
-
"showTips": true,
|
|
115
|
-
"contextEngine": {
|
|
116
|
-
"enabled": true,
|
|
117
|
-
"maxFiles": 2000,
|
|
118
|
-
"excludePatterns": ["node_modules/**", ".git/**", "dist/**", "build/**"]
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
"openrouter": {
|
|
122
|
-
"defaultModel": "deepseek/deepseek-chat",
|
|
123
|
-
"fallbackModels": [
|
|
124
|
-
"deepseek/deepseek-chat",
|
|
125
|
-
"qwen/qwen-2.5-72b-instruct:free",
|
|
126
|
-
"google/gemma-2-9b-it:free"
|
|
127
|
-
],
|
|
128
|
-
"preferFreeModels": true,
|
|
129
|
-
"sort": "throughput"
|
|
130
|
-
},
|
|
131
|
-
"user": {
|
|
132
|
-
"defaultRole": "developer",
|
|
133
|
-
"autoLogin": false,
|
|
134
|
-
"saveCredentials": false,
|
|
135
|
-
"onboardingCompleted": true
|
|
136
|
-
},
|
|
137
|
-
"integrations": {
|
|
138
|
-
"vscode": {
|
|
139
|
-
"enabled": true,
|
|
140
|
-
"socketPath": null
|
|
141
|
-
},
|
|
142
|
-
"docker": {
|
|
143
|
-
"enabled": true,
|
|
144
|
-
"composeFile": "docker-compose.services.yml"
|
|
145
|
-
},
|
|
146
|
-
"git": {
|
|
147
|
-
"enabled": true,
|
|
148
|
-
"autoCommit": false
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
CONFIG_EOF
|
|
153
|
-
fi
|
|
154
|
-
|
|
155
|
-
# Create .env file if it doesn't exist
|
|
156
|
-
if [ ! -f /home/node/.recoder-code/.env ]; then
|
|
157
|
-
echo "๐ Creating environment configuration..."
|
|
158
|
-
cat > /home/node/.recoder-code/.env << ENV_EOF
|
|
159
|
-
# Recoder Code Development Environment Configuration
|
|
160
|
-
# Generated on $(date -Iseconds)
|
|
161
|
-
|
|
162
|
-
# OpenRouter API Configuration
|
|
163
|
-
OPENROUTER_SITE_NAME=Recoder-Code-DevContainer
|
|
164
|
-
OPENROUTER_SITE_URL=https://recoder.xyz
|
|
165
|
-
|
|
166
|
-
# Development Settings
|
|
167
|
-
RECODER_DEBUG=true
|
|
168
|
-
RECODER_LITE_MODE=false
|
|
169
|
-
RECODER_CONFIG_DIR=/home/node/.recoder-code
|
|
170
|
-
|
|
171
|
-
# Node.js Settings
|
|
172
|
-
NODE_OPTIONS=--max-old-space-size=4096
|
|
173
|
-
|
|
174
|
-
# Optional: Uncomment and set your API key
|
|
175
|
-
# OPENROUTER_API_KEY=your_api_key_here
|
|
176
|
-
ENV_EOF
|
|
177
|
-
fi
|
|
178
|
-
|
|
179
|
-
# Test if recoder-code is properly installed
|
|
180
|
-
echo "๐งช Testing recoder-code installation..."
|
|
181
|
-
if command -v recoder-code >/dev/null 2>&1; then
|
|
182
|
-
echo "โ
Published recoder-code package found"
|
|
183
|
-
recoder-code --version 2>/dev/null || echo "โ ๏ธ Published version may have issues"
|
|
184
|
-
else
|
|
185
|
-
echo "โ Published recoder-code package not found"
|
|
186
|
-
fi
|
|
187
|
-
|
|
188
|
-
# Test development version (if available)
|
|
189
|
-
if [ -f "/workspace/cli/run.js" ]; then
|
|
190
|
-
echo "โ
Development version found in workspace"
|
|
191
|
-
cd /workspace && npm link . 2>/dev/null || echo "โ ๏ธ Could not link development version"
|
|
192
|
-
else
|
|
193
|
-
echo "โ ๏ธ Development version not found in workspace"
|
|
194
|
-
fi
|
|
195
|
-
|
|
196
|
-
echo "๐ Development environment setup complete!"
|
|
197
|
-
echo ""
|
|
198
|
-
echo -e "${CYAN}๐ฏ Quick Start Commands:${NC}"
|
|
199
|
-
echo -e "${GREEN} rc --help${NC} # Show help"
|
|
200
|
-
echo -e "${GREEN} rc --setup${NC} # Run setup"
|
|
201
|
-
echo -e "${GREEN} rc --progress${NC} # Check progress"
|
|
202
|
-
echo -e "${GREEN} rcsrv status${NC} # Check services"
|
|
203
|
-
echo -e "${GREEN} rchello${NC} # Test quick command"
|
|
204
|
-
echo ""
|
|
205
|
-
echo -e "${YELLOW}๐ Configuration files:${NC}"
|
|
206
|
-
echo -e "${BLUE} ~/.recoder-code/config.json${NC} # Main configuration"
|
|
207
|
-
echo -e "${BLUE} ~/.recoder-code/.env${NC} # Environment variables"
|
|
208
|
-
echo ""
|
|
209
|
-
echo -e "${CYAN}๐ง Development mode active with debugging enabled!${NC}"
|
|
210
|
-
|
|
211
|
-
EOF
|
|
212
|
-
|
|
213
|
-
echo "โ
Recoder Code development environment initialized successfully!"
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# Recoder Code DevContainer Integration Test
|
|
4
|
-
# Validates that all components work together properly
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
set -e
|
|
8
|
-
|
|
9
|
-
echo "๐งช Testing Recoder Code DevContainer Integration..."
|
|
10
|
-
|
|
11
|
-
# Colors for output
|
|
12
|
-
RED='\033[0;31m'
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
BLUE='\033[0;34m'
|
|
16
|
-
CYAN='\033[0;36m'
|
|
17
|
-
NC='\033[0m' # No Color
|
|
18
|
-
|
|
19
|
-
TESTS_PASSED=0
|
|
20
|
-
TESTS_FAILED=0
|
|
21
|
-
|
|
22
|
-
# Test function
|
|
23
|
-
run_test() {
|
|
24
|
-
local test_name="$1"
|
|
25
|
-
local test_command="$2"
|
|
26
|
-
local expected_output="$3"
|
|
27
|
-
|
|
28
|
-
echo -e "${BLUE}Testing: ${test_name}${NC}"
|
|
29
|
-
|
|
30
|
-
if eval "$test_command" > /tmp/test_output 2>&1; then
|
|
31
|
-
if [ -z "$expected_output" ] || grep -q "$expected_output" /tmp/test_output; then
|
|
32
|
-
echo -e "${GREEN}โ
PASS: ${test_name}${NC}"
|
|
33
|
-
((TESTS_PASSED++))
|
|
34
|
-
else
|
|
35
|
-
echo -e "${RED}โ FAIL: ${test_name} - Expected output not found${NC}"
|
|
36
|
-
echo "Expected: $expected_output"
|
|
37
|
-
echo "Got: $(cat /tmp/test_output)"
|
|
38
|
-
((TESTS_FAILED++))
|
|
39
|
-
fi
|
|
40
|
-
else
|
|
41
|
-
echo -e "${RED}โ FAIL: ${test_name} - Command failed${NC}"
|
|
42
|
-
cat /tmp/test_output
|
|
43
|
-
((TESTS_FAILED++))
|
|
44
|
-
fi
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
# Test 1: Check if published recoder-code is installed
|
|
48
|
-
run_test "Published recoder-code installation" "command -v recoder-code" ""
|
|
49
|
-
|
|
50
|
-
# Test 2: Check if published version shows version info
|
|
51
|
-
run_test "Published recoder-code version" "recoder-code --version" ""
|
|
52
|
-
|
|
53
|
-
# Test 3: Check if development workspace is properly mounted
|
|
54
|
-
run_test "Development workspace mount" "test -d /workspace" ""
|
|
55
|
-
|
|
56
|
-
# Test 4: Check if CLI files are present
|
|
57
|
-
run_test "CLI files present" "test -f /workspace/cli/run.js" ""
|
|
58
|
-
|
|
59
|
-
# Test 5: Check if package.json is present
|
|
60
|
-
run_test "Package.json present" "test -f /workspace/package.json" ""
|
|
61
|
-
|
|
62
|
-
# Test 6: Check if configuration directory exists
|
|
63
|
-
run_test "Config directory exists" "test -d /home/node/.recoder-code" ""
|
|
64
|
-
|
|
65
|
-
# Test 7: Check if environment variables are set
|
|
66
|
-
run_test "Environment variables" "test -n \"$RECODER_CONFIG_DIR\"" ""
|
|
67
|
-
|
|
68
|
-
# Test 8: Check if shell aliases are loaded
|
|
69
|
-
run_test "Shell aliases loaded" "alias rc" "recoder-code"
|
|
70
|
-
|
|
71
|
-
# Test 9: Check if npm packages are properly installed
|
|
72
|
-
run_test "NPM packages installed" "npm list -g recoder-code" "recoder-code"
|
|
73
|
-
|
|
74
|
-
# Test 10: Test if development version can be run (basic syntax check)
|
|
75
|
-
run_test "Development version syntax" "node /workspace/cli/run.js --help" "RECODER CODE"
|
|
76
|
-
|
|
77
|
-
# Test 11: Check if Docker is available
|
|
78
|
-
run_test "Docker availability" "docker --version" "Docker version"
|
|
79
|
-
|
|
80
|
-
# Test 12: Check if Node.js is correct version
|
|
81
|
-
run_test "Node.js version" "node --version | grep v20" "v20"
|
|
82
|
-
|
|
83
|
-
# Test 13: Check if npm is available
|
|
84
|
-
run_test "NPM availability" "npm --version" ""
|
|
85
|
-
|
|
86
|
-
# Test 14: Check if git is configured
|
|
87
|
-
run_test "Git configuration" "git config --global init.defaultBranch" "main"
|
|
88
|
-
|
|
89
|
-
# Test 15: Check if zsh is the default shell
|
|
90
|
-
run_test "Default shell is zsh" "echo $SHELL | grep zsh" "zsh"
|
|
91
|
-
|
|
92
|
-
# Test 16: Test quick alias commands
|
|
93
|
-
run_test "Quick alias rc" "which rc" ""
|
|
94
|
-
|
|
95
|
-
# Test 17: Check if logs directory exists
|
|
96
|
-
run_test "Logs directory exists" "test -d /home/node/.recoder-code/logs" ""
|
|
97
|
-
|
|
98
|
-
# Test 18: Check if sessions directory exists
|
|
99
|
-
run_test "Sessions directory exists" "test -d /home/node/.recoder-code/sessions" ""
|
|
100
|
-
|
|
101
|
-
# Test 19: Test if OpenRouter environment is configured
|
|
102
|
-
run_test "OpenRouter environment" "test -n \"$OPENROUTER_SITE_NAME\"" ""
|
|
103
|
-
|
|
104
|
-
# Test 20: Check workspace permissions
|
|
105
|
-
run_test "Workspace permissions" "test -w /workspace" ""
|
|
106
|
-
|
|
107
|
-
echo ""
|
|
108
|
-
echo "=========================================="
|
|
109
|
-
echo -e "${CYAN}๐งช Test Results Summary${NC}"
|
|
110
|
-
echo "=========================================="
|
|
111
|
-
echo -e "${GREEN}โ
Tests Passed: ${TESTS_PASSED}${NC}"
|
|
112
|
-
echo -e "${RED}โ Tests Failed: ${TESTS_FAILED}${NC}"
|
|
113
|
-
echo "Total Tests: $((TESTS_PASSED + TESTS_FAILED))"
|
|
114
|
-
|
|
115
|
-
if [ $TESTS_FAILED -eq 0 ]; then
|
|
116
|
-
echo ""
|
|
117
|
-
echo -e "${GREEN}๐ All tests passed! DevContainer integration is working correctly.${NC}"
|
|
118
|
-
echo ""
|
|
119
|
-
echo -e "${CYAN}๐ Ready for development! Try these commands:${NC}"
|
|
120
|
-
echo -e "${BLUE} rc --help${NC} # Show help"
|
|
121
|
-
echo -e "${BLUE} rc --version${NC} # Show version"
|
|
122
|
-
echo -e "${BLUE} rcsrv status${NC} # Check services"
|
|
123
|
-
echo -e "${BLUE} npm run lint${NC} # Run linting"
|
|
124
|
-
echo -e "${BLUE} npm run test${NC} # Run tests"
|
|
125
|
-
exit 0
|
|
126
|
-
else
|
|
127
|
-
echo ""
|
|
128
|
-
echo -e "${RED}โ Some tests failed. Please check the issues above.${NC}"
|
|
129
|
-
exit 1
|
|
130
|
-
fi
|