The reference development workstation uses Windows with Windows Subsystem for Linux 2 (WSL2) and Ubuntu. Source code, Python commands, tests, and local application processes run inside the Linux environment. Visual Studio Code is used as the editor with its WSL integration.
| Component | Role |
|---|---|
| Windows and WSL2 Ubuntu | Host workstation and Linux development environment |
| Visual Studio Code | Source editing and WSL-integrated development |
| Python 3.12 | Ingestion pipeline, application, and tests |
| Neo4j | CIS knowledge graph storage and Cypher execution |
| Streamlit | Text2Query App user interface |
| Prowler API | Source of cloud resources, findings, scans, and CIS data |
| OpenAI-compatible LLM endpoint | Local or remote Text2Cypher inference |
| Text-to-Cypher LLMs | Local and remote models evaluated through a common API |
| Google Cloud IAP | Protected tunnel to the test environment |
Dependency constraints are maintained in requirements.txt. Exact model and
non-secret endpoint settings are stored in config.json; credentials are read
from a local .env file that is excluded from version control.
OpenAI Codex is used as an AI-assisted software development tool for code analysis, refactoring, test preparation, and documentation. Architectural decisions, acceptance of generated changes, experimental design, and interpretation of results remain the responsibility of the project author. Material changes are reviewed and validated through tests before integration.
The root README.md documents environment setup, application startup, and the
reserved .test hostnames used during development. The ingestion commands are
documented in ingestion/README.md.
The repository deliberately excludes API keys, passwords, the local .env
file, raw experimental evidence, real infrastructure addresses, and other
environment-specific sensitive data.