Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# Install CodeQL CLI
RUN curl -Ls -o /tmp/codeql.zip https://github.com/github/codeql-cli-binaries/releases/latest/download/codeql-linux64.zip \
&& unzip /tmp/codeql.zip -d /opt \
&& mv /opt/codeql /opt/codeql-cli \
&& ln -s /opt/codeql-cli/codeql /usr/local/bin/codeql \
&& rm /tmp/codeql.zip

# Set working directory
WORKDIR /workspaces/seclab-taskflow-agent

Expand Down
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.vscode-python-envs",
"redhat.vscode-yaml",
"GitHub.copilot",
"GitHub.copilot-chat",
"ms-azuretools.vscode-docker"
],
"settings": {
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true
"python.useEnvironmentsExtension": true
}
}
},
Expand All @@ -39,7 +39,7 @@
// Use 'postCreateCommand' to run commands after the container is created
"postCreateCommand": "bash .devcontainer/post-create.sh",
// Use 'postStartCommand' to run commands when the container starts
// "postStartCommand": "",
"postAttachCommand": "bash .devcontainer/post-attach.sh",
// Environment variables
"containerEnv": {
"PYTHONUNBUFFERED": "1"
Expand Down
15 changes: 15 additions & 0 deletions .devcontainer/post-attach.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
set -e

# If running in Codespaces, check for necessary secrets and print error if missing
if [ -v CODESPACES ]; then
echo "🔐 Running in Codespaces - injecting secrets from Codespaces settings..."
if [ ! -v COPILOT_TOKEN ]; then
echo "⚠️ Running in Codespaces - please add COPILOT_TOKEN to your Codespaces secrets"
fi
if [ ! -v GITHUB_PERSONAL_ACCESS_TOKEN ]; then
echo "⚠️ Running in Codespaces - please add GITHUB_PERSONAL_ACCESS_TOKEN to your Codespaces secrets"
fi
fi

echo "💡 Remember to activate the virtual environment: source .venv/bin/activate"
38 changes: 11 additions & 27 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,21 @@ python -m pip install --upgrade pip
python -m pip install hatch
hatch build

# If running in Codespaces, check for necessary secrets and print error if missing
if [ -n "$CODESPACES" ]; then
echo "🔐 Running in Codespaces - injecting secrets from Codespaces settings..."
if [ -n "$COPILOT_TOKEN" ]; then
echo "Running in Codespaces - please add COPILOT_TOKEN to your Codespaces secrets"
fi
if [ -n "$GITHUB_AUTH_HEADER" ]; then
echo "Running in Codespaces - please add GITHUB_AUTH_HEADER to your Codespaces secrets"
fi
fi

# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "📝 Creating .env template..."
cat > .env << 'EOF'

# Optional: CodeQL database base path
CODEQL_DBS_BASE_PATH=/workspaces/seclab-taskflow-agent/my_data

EOF
echo "⚠️ Please configure the enviroment or your .env file with required tokens!"
fi
# Install this package from local directory.
pip install -e .

# Create logs directory if it doesn't exist
mkdir -p logs

# Create optional data directories
mkdir -p my_data
mkdir -p data

# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "📝 Creating .env template..."
echo "# Optional: CodeQL database base path" >> .env
echo "CODEQL_DBS_BASE_PATH=$(realpath data)" >> .env
echo "⚠️ Please configure the environment or your .env file with required tokens!"
fi

echo "✅ Development environment setup complete!"
echo ""
echo "📋 Next steps:"
echo "Configure your environment with COPILOT_TOKEN and GITHUB_AUTH_HEADER as needed."
echo "💡 Remember to activate the virtual environment: source .venv/bin/activate"