# Quickstart

> Shortest path to a first scanner report and a local field-guide run, with expected success signals and one recovery note each.

- Repository: yetone/kill-ai-slop
- GitHub: https://github.com/yetone/kill-ai-slop
- Human docs: https://grok-wiki.com/public/docs/yetone-kill-ai-slop-c0d8c9670cbb
- Complete Markdown: https://grok-wiki.com/public/docs/yetone-kill-ai-slop-c0d8c9670cbb/llms-full.txt

## Source Files

- `README.md`
- `skill/scripts/scan.mjs`
- `skill/README.md`
- `website/astro.config.mjs`
- `website/src/pages/index.astro`

---

---
title: "Quickstart"
description: "Shortest path to a first scanner report and a local field-guide run, with expected success signals and one recovery note each."
---

`kill-ai-slop` has two independent first-run surfaces: the dependency-free scanner at `skill/scripts/scan.mjs` (read-only `file:line` report, never edits), and the Astro field guide under `website/` (`npm run dev` → `http://localhost:4321`). Neither path requires the other; both share the same 23-tell catalogue language as the agent skill.

## Prerequisites

| Surface | Need |
| --- | --- |
| Scanner | Node.js (run `node` on `scan.mjs`); a local path to a web project |
| Field guide | Node + npm; clone or checkout of this repo |

Optional later: install the `kill-ai-slop` Agent Skill via `npx skills add yetone/kill-ai-slop` or by copying `skill/` into your agent’s skills directory. The skill is not required for the two runs below.

## A. First scanner report

The scanner walks frontend-ish sources under a root path, greps code-level signals for each of the 23 tells, and prints a grouped report of `file:line` hits. It skips large files, lockfiles, minified assets, and common build dirs. Hits are leads to confirm by reading the code, not verdicts.

### Run

From the repository root:

```bash
node skill/scripts/scan.mjs path/to/project          # grouped report
node skill/scripts/scan.mjs path/to/project --json    # machine-readable
```

From inside `skill/`:

```bash
node scripts/scan.mjs path/to/src          # human-readable report
node scripts/scan.mjs path/to/src --json   # machine-readable
```

CLI shape from `scan.mjs`:

```text
node scan.mjs [root] [--json] [--no-color]
```

| Input | Behavior |
| --- | --- |
| `root` | First non-flag argument; defaults to `.` |
| `--json` | Machine-readable output; disables color |
| `--no-color` | Force plain console output |

**Scanned extensions (examples):** `.html`, `.css`, `.scss`, `.sass`, `.less`, `.tsx`, `.jsx`, `.ts`, `.js`, `.mjs`, `.cjs`, `.vue`, `.svelte`, `.astro`, `.md`, `.mdx`, plus `tailwind.config.*`.

**Skipped directories (examples):** `node_modules`, `.git`, `dist`, `build`, `out`, `.next`, `.astro`, `.output`, `.svelte-kit`, `.nuxt`, `coverage`, `vendor`, `.cache`, `.vercel`, `.turbo`.

### Success signal

- Process exits after printing a **grouped report** of hits (human mode) or a **JSON** payload (`--json`).
- No project files change: the scanner is read-only and dependency-free.
- With color enabled (TTY, not `--json`, no `--no-color`), console formatting may be colored; plain text is still valid success.

### Recovery (one note)

If the report is empty or the walk seems to miss your app, confirm the path argument points at real frontend source (not only `node_modules` / `dist`), that files use a scanned extension, and that individual files are under the 512 KB skip threshold. Re-run with an explicit root, e.g. `node skill/scripts/scan.mjs ./src`.

## B. Local field-guide run

The site under `website/` is a multilingual (English, Chinese, Japanese, Korean) static Astro field guide: 23 tells with interactive before→after HTML demos, catalogue data as the taxonomy source of truth, and a paper/ink design system.

### Run

```bash
cd website
npm install
npm run dev        # http://localhost:4321
```

Optional static build check:

```bash
npm run build      # → dist/  (static, deploy anywhere)
```

`website/astro.config.mjs` sets `site: 'https://killaislop.com'` and `build.inlineStylesheets: 'auto'`. No Astro integrations are configured by design.

### Success signal

- Dev server serves the field guide at **`http://localhost:4321`**.
- Index shows the hero, definition, **catalogue** section (`#catalogue`) with entries from `catalogue` data (23 tells, before→after demos), and principles.
- `npm run build` writes a static tree under `website/dist/`.

### Recovery (one note)

If `npm run dev` fails or the port never comes up, ensure you ran `npm install` **inside** `website/` (not the repo root) and that nothing else is bound to `4321`; re-run from `website/` after a clean install.

## Optional: agent skill in one prompt

After skill install (`npx skills add yetone/kill-ai-slop`, or copy `skill/` → `kill-ai-slop/` under the host skills dir), ask the agent:

> Kill the AI slop in this project.

Expected host behavior (from `skill/README.md` / skill docs): **scan** → **triage** → **report** a grouped summary before edits → **fix** only approved groups. The standalone scanner never applies fixes; edits happen only through the agent skill workflow when you approve them.

## What you should not expect from these first runs

| Surface | Does | Does not |
| --- | --- | --- |
| `scan.mjs` | Read, match patterns, print hits | Edit files, install packages, call network APIs |
| `website` dev/build | Serve/build the field guide | Scan your product code |
| Agent skill (optional) | Scan, triage, report, propose/apply fixes under host control | Silent file edits from the scanner alone |

## Next

<CardGroup>
  <Card title="Installation" href="/installation">
    Skill install via npx or manual copy, and website dependency setup.
  </Card>
  <Card title="Scan a web project" href="/scan-web-project">
    Interpret grouped vs JSON reports and verify hits against detection rules.
  </Card>
  <Card title="Run the field guide site" href="/run-field-guide-site">
    Dev server, static build, and how catalogue entries render on the index.
  </Card>
  <Card title="Use the agent skill" href="/use-agent-skill">
    Invoke kill-ai-slop inside a coding agent after install.
  </Card>
  <Card title="Scanner CLI reference" href="/scanner-cli-reference">
    Full invocation, flags, walk behavior, and the no-edit constraint.
  </Card>
</CardGroup>
