mirror of
https://github.com/safedep/pmg.git
synced 2026-08-03 07:24:09 +02:00
30 lines
972 B
Markdown
30 lines
972 B
Markdown
# PMG - Development Guide
|
|||
|
|
|
||
|
|
## Build & Test
|
||
|
|
|
||
|
|
```bash
|
||
|
|
go build ./... # Build
|
||
|
|
go test ./... -count=1 # Run all tests
|
||
|
|
go test ./config/ -v -count=1 # Run specific package tests
|
||
|
|
```
|
||
|
|
|
||
|
|
## Project Structure
|
||
|
|
|
||
|
|
- `cmd/` — CLI commands (npm, pypi, setup, version)
|
||
|
|
- `config/` — Configuration loading, templates, merging
|
||
|
|
- `sandbox/` — Sandbox policy enforcement (macOS Seatbelt, Linux Bubblewrap)
|
||
|
|
- `proxy/` — Proxy-based package interception
|
||
|
|
- `guard/` — Guard-based package analysis
|
||
|
|
- `analyzer/` — Package security analysis
|
||
|
|
- `internal/` — Internal utilities (analytics, eventlog, flows, ui)
|
||
|
|
|
||
|
|
## Code Style
|
||
|
|
|
||
|
|
- Keep things short and simple
|
||
|
|
- Avoid unnecessary code comments
|
||
|
|
- Use comments for trade-offs, known uncovered cases, and anything useful for a human reader
|
||
|
|
- Code itself should be readable without comments explaining the obvious
|
||
|
|
- Follow existing patterns in the codebase
|
||
|
|
- Use `testify` (assert/require) for tests
|
||
|
|
- Table-driven tests preferred
|