semvec/pypi-packages huggingface dataset:
propre 0.1.1
Analyze, restructure, and harden vibe-coded projects for production. Architecture-level linting, secret detection, and code quality enforcement in one CLI.
Requires Python: >=3.11
Keywords: cli, code-quality, security, secret-detection, refactoring, restructuring, developer-tools, architecture, linting, production-readiness, vibe-coding

# Propre

Propre is a post-vibe-coding cleanup and hardening CLI.

## Installation

```bash
pip install -e .
```

## Usage

```bash
propre scan .
propre fix .
propre --dry-run restructure .
propre --deep-scan secrets .
propre ship .
propre --format md report . -o report.md
```

## Commands

- `propre scan [path]`: Full analysis, no changes.
- `propre fix [path]`: Auto-fix safe issues where possible.
- `propre restructure [path]`: Restructuring only.
- `propre secrets [path]`: Secret scanning only.
- `propre ship [path]`: Production readiness checklist.
- `propre report [path] -o report.md`: Export full report.

## Global Flags

- `--dry-run`: Preview changes without applying.
- `--verbose` / `-v`: Detailed output.
- `--config propre.yml`: Custom rules and overrides.
- `--fix`: Auto-apply safe fixes even outside `fix` command.
- `--ignore <pattern>`: Exclude paths.
- `--ci`: Exit non-zero if blockers are found.
- `--format terminal|md|json|sarif`: Output format.

## Configuration

Create `propre.yml` at project root:

```yaml
stack: auto
restructure:
  enabled: true
  confirm: true
secrets:
  deep_scan: false
  severity_threshold: medium
rules:
  dead_code: warn
  console_logs: error
  missing_types: warn
  hardcoded_config: error
ignore:
  - node_modules/
  - .git/
  - dist/
```

## Publishing

### Option A: Trusted Publisher (recommended)

1. Go to PyPI project settings for `propre` and add a Trusted Publisher.
2. Use these values:
   - Owner: `immerSIR`
   - Repository: `propre-cli`
   - Workflow file: `publish.yml`
   - Environment (if prompted): `pypi`
3. Push this workflow file: `.github/workflows/publish.yml`.
4. Create a GitHub Release in this repository. The workflow will:
   - build with `uv build`
   - validate with `uvx twine check dist/*`
   - publish automatically to PyPI

### Option B: API token (manual)

1. Create a PyPI API token with scope:
   - Entire account (simple) or
   - Project-specific token for `propre` (preferred)
2. Export it locally:

```bash
export UV_PUBLISH_TOKEN="pypi-..."
```

3. Publish from local machine:

```bash
uv build
uvx twine check dist/*
uv publish
```

If you use `twine` directly instead:

```bash
uvx twine upload dist/* -u __token__ -p "$UV_PUBLISH_TOKEN"
```