seediment 0.1.0
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 +39 -0
- package/bin/seediment.cjs +37 -0
- package/package.json +18 -0
package/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# seediment
|
|
2
|
+
|
|
3
|
+
**Hält deinen Server ordentlich — und zeigt dir eine Karte davon.**
|
|
4
|
+
|
|
5
|
+
Gebaut für den Datei-Wildwuchs, den KI-Coding-Agenten (Claude Code, Cursor, …)
|
|
6
|
+
hinterlassen: `tmp_fix.js`, `scratch_2.py`, namenlose Reste in zehn Unterordnern.
|
|
7
|
+
seediment ordnet sie ihrem Projektbereich zu, trennt echten Müll vom Wichtigen und
|
|
8
|
+
legt dir eine durchsuchbare Karte deines Servers ab.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g seediment
|
|
12
|
+
|
|
13
|
+
seediment scan # Karte erstellen (Vorschau, verändert nichts)
|
|
14
|
+
seediment clean --apply # eindeutigen Müll wegräumen (umkehrbar)
|
|
15
|
+
seediment undo # letzte Aktion rückgängig
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Sicher by design
|
|
19
|
+
|
|
20
|
+
- **Löscht nie.** Aufräumen heißt archivieren — `seediment undo` macht jede Aktion rückgängig.
|
|
21
|
+
- **Vorschau zuerst.** `scan` und `clean` zeigen erst, bevor irgendetwas passiert.
|
|
22
|
+
- **Fasst Heikles nie an.** System-, Log-, Konfigurations- und Secret-Dateien
|
|
23
|
+
(`.env`, SSH-Keys, …) bekommen den Status „geschützt" und werden nie verschoben.
|
|
24
|
+
- **Läuft komplett lokal.** Deine Dateien verlassen deinen Server nicht.
|
|
25
|
+
|
|
26
|
+
## Die Karte
|
|
27
|
+
|
|
28
|
+
`scan` legt eine `seediment-map.html` an — eine einzelne, durchsuchbare Datei, die du
|
|
29
|
+
per Doppelklick (auch in WinSCP/FileZilla) öffnest. Du siehst auf einen Blick, was
|
|
30
|
+
wohin gehört, was Müll ist und was unangetastet bleibt.
|
|
31
|
+
|
|
32
|
+
## Preis
|
|
33
|
+
|
|
34
|
+
7 Tage kostenlos testen, danach einmalig **3,99 €** (lifetime, läuft offline).
|
|
35
|
+
`seediment status` zeigt deinen Stand, `seediment activate <key>` schaltet frei.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
*Keine Datei wird je hart gelöscht. Im Zweifel: `seediment undo`.*
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Tiny launcher published as the user-facing `seediment` package. It does NOT
|
|
3
|
+
// contain any logic — it only finds the prebuilt binary for the current OS/CPU
|
|
4
|
+
// (installed as an optional platform package by npm) and hands control to it.
|
|
5
|
+
// Our actual logic lives, compiled and opaque, inside that binary. The embedding
|
|
6
|
+
// engine (fastembed) is a normal dependency of this package, so npm installs it
|
|
7
|
+
// into node_modules where the binary finds it at runtime.
|
|
8
|
+
"use strict";
|
|
9
|
+
const { execFileSync } = require("node:child_process");
|
|
10
|
+
|
|
11
|
+
const PLATFORM = `${process.platform}-${process.arch}`; // e.g. linux-x64, darwin-arm64, win32-x64
|
|
12
|
+
const BIN_NAME = process.platform === "win32" ? "seediment.exe" : "seediment";
|
|
13
|
+
|
|
14
|
+
function resolveBinary() {
|
|
15
|
+
try {
|
|
16
|
+
return require.resolve(`@seediment/${PLATFORM}/${BIN_NAME}`);
|
|
17
|
+
} catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const bin = resolveBinary();
|
|
23
|
+
if (!bin) {
|
|
24
|
+
console.error(
|
|
25
|
+
`seediment: keine Programmdatei für dein System (${PLATFORM}) gefunden.\n` +
|
|
26
|
+
`Unterstützt: linux-x64, darwin-arm64, darwin-x64, win32-x64.\n` +
|
|
27
|
+
`Versuch eine Neuinstallation: npm install -g seediment`,
|
|
28
|
+
);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
execFileSync(bin, process.argv.slice(2), { stdio: "inherit" });
|
|
34
|
+
} catch (err) {
|
|
35
|
+
// The binary already printed its own output; just mirror its exit code.
|
|
36
|
+
process.exit(typeof err.status === "number" ? err.status : 1);
|
|
37
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "seediment",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Keeps your server tidy and gives you a map of it — built for the mess AI coding agents leave behind.",
|
|
5
|
+
"keywords": ["cleanup", "ai", "claude-code", "cursor", "tidy", "files", "server", "agent"],
|
|
6
|
+
"bin": { "seediment": "bin/seediment.cjs" },
|
|
7
|
+
"files": ["bin/", "README.md"],
|
|
8
|
+
"engines": { "node": ">=18" },
|
|
9
|
+
"license": "UNLICENSED",
|
|
10
|
+
"publishConfig": { "access": "public" },
|
|
11
|
+
"dependencies": { "fastembed": "^2.1.0" },
|
|
12
|
+
"optionalDependencies": {
|
|
13
|
+
"@seediment/linux-x64": "0.1.0",
|
|
14
|
+
"@seediment/darwin-arm64": "0.1.0",
|
|
15
|
+
"@seediment/darwin-x64": "0.1.0",
|
|
16
|
+
"@seediment/win32-x64": "0.1.0"
|
|
17
|
+
}
|
|
18
|
+
}
|