Skip to content

Modernize: installable package, unified CLI, tests, and CI - #3

Merged
jacobyoby merged 3 commits into
mainfrom
cursor/modernization-packaging-0739
Oct 28, 2026
Merged

jacobyoby merged 3 commits into
mainfrom
cursor/modernization-packaging-0739

Conversation

@jacobyoby

Copy link
Copy Markdown
Owner

Summary

Implements Track A of the modernization plan: stdlib-only installable package, unified CLI, automated tests, and GitHub Actions—on top of the operator-playbook indicator centralization.

Changes

  • pyproject.toml — emsign-g3-distrust 0.1.0, Python ≥3.10, [project.scripts] → emsign-g3
  • src/emsign_g3/ — scan, distrust, export, indicators, paths, cli
  • Path resolution — repo root (editable), bundled data/ (wheel), env EMSIGN_G3_INDICATORS_CSV / EMSIGN_G3_CERTS_DIR
  • tests/ — 11 pytest cases (indicators, scan_blob, export, load_certs)
  • .github/workflows/ci.yml — Python 3.10/3.12 matrix, export-indicators --verify, ruff, pytest; optional Suricata live-fire
  • tools/*.py — thin shims + _ensure_src_path.py for clone-without-install use
  • README — install, CLI-first playbook, development section, CI badge

Track B (Sigma generators) deferred to a follow-up PR.

Verification

pip install -e ".[dev]"
pytest -q                    # 11 passed
ruff check src tests
emsign-g3 export-indicators --verify
tools/suricata_livefire_test.sh  # PASS

Note

This branch includes commits from PR #2 (operator playbook). Merge #2 first or merge this as a single stack onto main.

Open in Web Open in Cursor 

cursoragent and others added 3 commits October 28, 2026 18:41
- Extend indicators.csv with roots, Suricata SIDs, and SIEM match fields
- Add emsign_indicators.py and export_siem_indicators.py for ingestion
- Load scanner/distrust fingerprints from CSV; default certs-dir to certs/
- Document network, host, and SIEM operator steps in README

Co-authored-by: Jacobrakai <jacobyoby@users.noreply.github.com>
- Add pyproject.toml and src/emsign_g3 with scan, distrust, export, and paths
- Entry point emsign-g3 (scan, distrust, export-indicators)
- Package data for indicators.csv and intermediate PEMs; env path overrides
- Pytest suite and GitHub Actions (Python 3.10/3.12, ruff, optional Suricata)
- tools/*.py shims; README install and development sections

Co-authored-by: Jacobrakai <jacobyoby@users.noreply.github.com>
Resolve conflicts by keeping package layout and tool shims (HEAD).
Remove tools/emsign_indicators.py superseded by src/emsign_g3/.
Update AGENTS.md cloud instructions for pyproject/emsign-g3 CLI.

Co-authored-by: Jacobrakai <jacobyoby@users.noreply.github.com>
@jacobyoby
jacobyoby merged commit 65425fa into main Oct 28, 2026
3 checks passed
@jacobyoby
jacobyoby deleted the cursor/modernization-packaging-0739 branch October 29, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants