fixmyslop 0.0.0-stage → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/bin/fixmyslop.js +46 -0
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
#
|
|
1
|
+
# fixmyslop (npm launcher)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
```bash
|
|
4
|
+
npx fixmyslop scan # find AI slop in your UI and code
|
|
5
|
+
npx fixmyslop scan --open # interactive report with copy-to-agent fix prompts
|
|
6
|
+
npx fixmyslop init --claude # make Claude Code check its own work
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This package runs the [FixMySlop](https://github.com/MrSpideyNihal/FixMySlop) CLI through `uvx` or `pipx`
|
|
10
|
+
(or a local `pip install fixmyslop`). See the main README for everything it catches.
|
|
11
|
+
|
|
12
|
+
MCP config for Cursor / Claude Code / Windsurf:
|
|
13
|
+
|
|
14
|
+
```json
|
|
15
|
+
{ "mcpServers": { "fixmyslop": { "command": "npx", "args": ["-y", "fixmyslop", "mcp"] } } }
|
|
16
|
+
```
|
package/bin/fixmyslop.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Thin launcher: runs the FixMySlop Python CLI of the SAME version as this npm package —
|
|
3
|
+
// a matching local install if there is one, otherwise via uvx or pipx.
|
|
4
|
+
"use strict";
|
|
5
|
+
const { spawnSync } = require("node:child_process");
|
|
6
|
+
const { version } = require("../package.json");
|
|
7
|
+
|
|
8
|
+
const args = process.argv.slice(2);
|
|
9
|
+
const VERSION_PROBE =
|
|
10
|
+
"import importlib.metadata as m, sys; print(m.version('fixmyslop'))";
|
|
11
|
+
|
|
12
|
+
function ok(cmd, probe) {
|
|
13
|
+
const r = spawnSync(cmd, probe, { encoding: "utf8" });
|
|
14
|
+
return r.status === 0 ? (r.stdout || "").trim() || "ok" : null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function run(cmd, cmdArgs) {
|
|
18
|
+
const r = spawnSync(cmd, cmdArgs, { stdio: "inherit" });
|
|
19
|
+
if (r.error) return;
|
|
20
|
+
process.exit(r.status ?? 1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let outdated = null;
|
|
24
|
+
for (const python of ["python3", "python", "py"]) {
|
|
25
|
+
const installed = ok(python, ["-c", VERSION_PROBE]);
|
|
26
|
+
if (installed === version) run(python, ["-m", "fixmyslop", ...args]);
|
|
27
|
+
if (installed && !outdated) outdated = { python, installed };
|
|
28
|
+
}
|
|
29
|
+
if (ok("uvx", ["--version"])) run("uvx", [`fixmyslop@${version}`, ...args]);
|
|
30
|
+
if (ok("pipx", ["--version"])) run("pipx", ["run", "--spec", `fixmyslop==${version}`, "fixmyslop", ...args]);
|
|
31
|
+
|
|
32
|
+
if (outdated) {
|
|
33
|
+
console.error(
|
|
34
|
+
`Found fixmyslop ${outdated.installed}, but this launcher runs ${version}. Upgrade with:\n` +
|
|
35
|
+
` ${outdated.python} -m pip install -U "fixmyslop==${version}"\n` +
|
|
36
|
+
"or install uv (https://docs.astral.sh/uv/) so npx can fetch the right version automatically."
|
|
37
|
+
);
|
|
38
|
+
} else {
|
|
39
|
+
console.error(
|
|
40
|
+
"FixMySlop needs Python 3.10+ and one of these:\n" +
|
|
41
|
+
" uv https://docs.astral.sh/uv/ (then `npx fixmyslop` just works)\n" +
|
|
42
|
+
" pipx https://pipx.pypa.io/\n" +
|
|
43
|
+
` or: pip install "fixmyslop==${version}"`
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
process.exit(127);
|
package/package.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fixmyslop",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "The slop linter for the AI-agent era: catch AI slop in UI and code in milliseconds, then let your agent fix it.",
|
|
5
|
+
"bin": { "fixmyslop": "bin/fixmyslop.js" },
|
|
6
|
+
"files": ["bin/", "README.md"],
|
|
7
|
+
"engines": { "node": ">=18" },
|
|
8
|
+
"keywords": ["ai-slop", "linter", "tailwind", "react", "accessibility", "claude-code", "mcp", "cursor", "lovable", "v0"],
|
|
9
|
+
"repository": { "type": "git", "url": "git+https://github.com/MrSpideyNihal/FixMySlop.git" },
|
|
10
|
+
"homepage": "https://github.com/MrSpideyNihal/FixMySlop#readme",
|
|
11
|
+
"license": "MIT"
|
|
12
|
+
}
|