Skip to content

Commit a8ea1fd

Browse files
committed
fix(dev): improve local/devcontainer setup
Add explicit setuptools packaging config to support editable installs in flat repo layout. Update devcontainer bootstrap to install argus in editable mode and improve quick-start commands. Refresh onboarding workflow steps to include venv creation/activation and editable install.
1 parent 0c3a69f commit a8ea1fd

4 files changed

Lines changed: 38 additions & 2 deletions

File tree

.ai/workflows.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,18 @@ contributor_workflows:
167167
- action: "Clone repository"
168168
command: "git clone <repo-url> && cd argus"
169169

170+
- action: "Create virtual environment"
171+
command: "python3 -m venv .venv"
172+
173+
- action: "Activate virtual environment"
174+
command: "source .venv/bin/activate"
175+
170176
- action: "Install Python dependencies"
171177
command: "pip install -r requirements.txt"
172178

179+
- action: "Install Argus CLI in editable mode"
180+
command: "pip install -e ."
181+
173182
- action: "Run tests to verify setup"
174183
command: "pytest"
175184
alternative: "Use Dev Container (recommended)"

.devcontainer/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This project includes a dev container configuration for consistent development e
1818
2. Open this repository in VS Code
1919
3. Click "Reopen in Container" when prompted (or run command: `Dev Containers: Reopen in Container`)
2020
4. Wait for the container to build (~2-3 minutes first time)
21-
5. All dependencies are ready! Run `npm test`
21+
5. All dependencies are ready! Run `argus --version` then `npm test`
2222

2323
### Option 2: GitHub Codespaces
2424

@@ -57,6 +57,9 @@ pre-commit install
5757
# All tests
5858
npm test
5959

60+
# Verify Argus CLI
61+
argus --version
62+
6063
# With coverage
6164
npm run test:coverage
6265
npm run test:coverage:js

.devcontainer/setup.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ source .dev.venv/bin/activate
2222
echo "Installing Python dependencies..."
2323
pip install --upgrade pip
2424
pip install -r requirements.txt
25+
pip install -e .
2526
pip install pre-commit
2627

2728
# Setup pre-commit hooks (using absolute path)
@@ -33,8 +34,9 @@ pre-commit install --hook-type pre-push
3334
echo "Development environment ready!"
3435
echo ""
3536
echo "Quick start:"
37+
echo " argus --version # Verify CLI entrypoint"
3638
echo " pytest # Run all tests"
37-
echo " pytest # Run tests with coverage"
39+
echo " pytest --cov # Run tests with coverage"
3840
echo " pre-commit run --all-files # Run all hooks"
3941
echo ""
4042
echo "Note: Python venv (.dev.venv) is auto-activated in new terminals"

pyproject.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
[build-system]
2+
requires = ["setuptools>=69", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "argus-security"
7+
version = "0.7.0"
8+
description = "Argus unified security scanning SDK and CLI"
9+
readme = "README.md"
10+
requires-python = ">=3.11"
11+
dependencies = [
12+
"PyYAML>=6.0",
13+
"requests>=2.31.0",
14+
]
15+
16+
[project.scripts]
17+
argus = "argus.cli:main"
18+
19+
[tool.setuptools.packages.find]
20+
include = ["argus*"]
21+
exclude = ["tests*", "img*", "docker*", "coverage*", "node_modules*"]
22+
123
[tool.bandit]
224
# Bandit security scanning configuration
325
# Exclude internal tooling directories that are not customer-facing products

0 commit comments

Comments
 (0)