Metadata-Version: 2.4
Name: argus-languages
Version: 0.1.1
Summary: Built-in multi-language security pattern scanner — Java, PHP, Terraform, Ansible, and 15+ languages. No external tools required.
Project-URL: Homepage, https://github.com/OkiriGabriel/argus-codescan-mcp
Project-URL: Repository, https://github.com/OkiriGabriel/argus-codescan-mcp
Project-URL: Documentation, https://github.com/OkiriGabriel/argus-codescan-mcp/tree/main/packages/languages
License: MIT
License-File: LICENSE
Keywords: ansible,argus,code-scanning,devsecops,iac,java,php,sast,security,terraform
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.10
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

# argus-languages

Built-in security pattern scanner for **all major languages and IaC** — pure Python, no external tools.

Install on its own or as part of `argus-scan`:

```bash
pip install argus-languages
argus-languages scan /path/to/project
```

Or via the full Argus CLI:

```bash
pip install argus-scan
argus scan code /path/to/project
```

## Supported languages

| Category | Languages / formats |
|----------|---------------------|
| **Web & app** | JavaScript, TypeScript, Python, Java, Kotlin, PHP, Go, Ruby, C#, Rust, Swift, Scala, Perl, Lua, Elixir, Vue, **Dart / Flutter** |
| **Mobile (Flutter)** | `.dart` source, `pubspec.yaml`, `AndroidManifest.xml`, `Info.plist` |
| **Infrastructure** | Terraform (`.tf`, `.hcl`), Ansible playbooks, Docker, Kubernetes manifests |
| **Shell & SQL** | Bash/Shell scripts, SQL |

Rules live in `src/argus_languages/bundled_rules/` as YAML so they can be shared across Python (and other packages later).

## Usage

```python
from argus_languages import scan_directory

result = scan_directory("/path/to/repo")
for finding in result.findings:
    print(finding.file, finding.line, finding.title)
```

## npm vs Python

- **`packages/npm`** — Node.js only (JS/TS SCA + eslint-security)
- **`packages/languages`** — all other languages (install via pip)
- **`packages/python`** — full Argus CLI/MCP; depends on `argus-languages`
