Windsurf rules
.windsurf/rules/organize-workspace.mdScans the active workspace for disposable artifacts—logs, caches, stale build output, and stray draft markdown—and proposes consolidation of scattered assets. Produces a reviewable list, asks for explicit confirmation before any delete or move, and optionally revises .gitignore. Use when the user says "clean my room", "organize workspace", "workspace cleanup", "remove temp files", "organize assets", "gitignore", or wants a safe tidy pass.
Windsurf rules
Quality
89/100
Scores the file, not the repository.Length
1,022 words
20 headings · 7 code blocksRepository
114
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# Organize Workspace8> **HARD GATE** — **HARD GATE** — Workspace structure must reflect domain structure. If the codebase feels disorganized, flag it. Disorganization != 'just a style thing;' it is a signal of domain misalignment.91011## Principles1213- **Read-only first**: inventory and size (`du`, `ls -la`) before any change.14- **Never delete or move** without a numbered list and **explicit user approval** (item-level or "approve all").15- **Prefer `fd` / `ripgrep` / `find`** in that order; avoid blind `rm -rf` on vague globs.16- **Do not** touch `.git/`, `node_modules/`, `venv/`, `.env*`, or SSH keys; flag them only if the user asked about them.17- Confirm prompts in the **user's language** if they are not writing in English.1819## 1. Establish scope2021- Default: **current project root** (where the user is working) or the path they name.22- Record OS (macOS vs Linux) for ignore patterns (e.g. `.DS_Store`).2324## 2. Classify candidates (scan)2526Group findings under these **buckets**:2728| Bucket | Examples | Typical action |29|--------|----------|----------------|30| **Logs & temp** | `*.log`, `logs/`, `tmp/`, `temp/`, `*.pid` | Delete after confirm |31| **Build / cache** | `dist/`, `build/`, `.next/`, `coverage/`, `.turbo/` | Delete if rebuildable |32| **Package caches** | root `.cache/`, `__pycache__/` | Offer delete |33| **Stray drafts** | root-level `*.md` named `draft`, `scratch`, `temp` | User picks: delete, move to `specs/`, or keep |34| **Duplicate / dump dirs** | `old/`, `backup/`, `copy/`, `*_backup` | List + ask |3536Use quick size hints: `du -sh` per top-level dir; sort large items first.3738## 3. Assets & data (organize, not only delete)3940If the user wants **organization**:41421. Propose a **single convention**, e.g.:43 - `assets/` — images, fonts, static media44 - `data/` — JSON, CSV, fixtures, samples45 - `specs/` — all planning and domain documents462. For each cluster of loose files, suggest **one target path** and a short rationale.473. Use **git-aware moves** when in a repo: `git mv` if tracked; otherwise `mv` and report.484. Never move secrets or production DB dumps into `docs/` or public `assets/`.4950## 4. Present the plan5152Output a table or numbered list:5354- Path55- Kind (log / build / draft / asset / other)56- Approx size57- Proposed action: **delete** | **move to …** | **keep**5859Ask: *"Delete items 1–3? Move 4–5? Skip 6?"*6061## 5. Execute after approval6263- Deletes: on macOS, prefer a Trash-capable tool (e.g. `trash` from Homebrew) if installed; else `rm` with paths echoed back.64- Moves: create dirs with `mkdir -p` first; one batch at a time.65- **Verify**: re-run listing on affected parents; if anything failed, report stderr.6667## 6. Post-cleanup and `.gitignore` revision6869Do this when the repo is under Git and the cleanup surfaced **untracked** noise:70711. **Inventory ignore sources**: root `.gitignore`, `.git/info/exclude`, any subpackage `.gitignore` files.722. **Map findings to rules**: for each deleted or recurring artifact class, check whether a pattern already exists; note gaps.733. **Propose a patch**: list only **concrete** changes — `+` add / `-` remove / `~` reword — with one-line why.744. **User must approve** the exact diff before editing the file.755. **Verify**: run `git check-ignore -v <path>` on 2–3 representative paths.7677See [REFERENCE.md](REFERENCE.md) for shell patterns, `.gitignore` mechanics, and safety checks.78798081<!-- story: e04s03 -->8283---8485# clean-my-room — reference patterns8687Optional commands for the agent. Adapt paths; **dry-run** before bulk delete.8889## Discover large top-level entries9091```sh92du -sh ./* .[!.]* 2>/dev/null | sort -hr | head -3093```9495## Find common logs (respect `.gitignore` when using fd)9697```sh98fd -t f '\.log$' . 2>/dev/null99fd 'npm-debug' . 2>/dev/null100```101102## Find build-like dirs (review list before `rm -rf`)103104```sh105fd -t d '^(dist|build|out|target|\.next|coverage)$' . --max-depth 3 2>/dev/null106```107108## Stray markdown at repo root (heuristic)109110```sh111ls -1 ./*.md 2>/dev/null112fd -t f '^(draft|scratch|untitled|TODO|notes)' . --max-depth 1 2>/dev/null113```114115## Git-safe moves116117```sh118git status -sb119git check-ignore -v <path> # was ignored?120# Tracked: git mv old new121# Untracked: mkdir -p … && mv old new122```123124## `.gitignore` revision (after cleanup)125126**Goal:** stop regenerated junk from polluting `git status`, without hiding real source.1271281. **Read** root `.gitignore` and, in monorepos, `apps/*/.gitignore` / `packages/*/.gitignore` as needed. Check **`.git/info/exclude`** for machine-only rules that should *not* be committed (keep personal noise there; don’t copy into shared `.gitignore` unless the team agrees).1292. **Per-path checks** (last match wins; shows which file defined the rule):130131```sh132 git check-ignore -v path/to/artifact133 git status -u --ignored # optional: see ignored names (noisy)134```1351363. **Pattern style**137 - Leading `/` = relative to the `.gitignore`’s directory (e.g. `/dist/` = only that folder at that level, not all nested `dist` unless intended).138 - `**` for deep trees, e.g. `**/*.log`, when noise appears at many depths.139 - **Negation** (`!`) is tricky: later rules, parent dirs, and `git add -f` interact—prefer narrow positive ignores over `!` unless you already use negation in that file.1404. **Do not** add rules that would ignore: application source, small JSON/YAML config the repo tracks, or `!important` assets. When unsure, run `git check-ignore -v` on a *known good* file that must stay tracked.1415. **Tracked but should be ignored** (user already committed `build/` once): this skill does not silently fix history; flag `git rm -r --cached <path>` + `.gitignore` as a **separate** explicit step the user must approve.1426. **Global excludes** (optional heads-up for “why is this still ignored?”):143144```sh145 git config --get core.excludesfile146```147148## Safety: never pass through these in automated deletes149150- `.git/`, `.svn/`, `.hg/`151- `node_modules/`, `vendor/`, `venv/`, `.venv/`, `__pypackages__/`152- Files matching `.env`, `.env.*` (except `.env.example` if intentional)153- `~/.ssh`, `id_rsa*`, `*.pem` inside project trees154155## Post-deploy / server-ish extras (name buckets to stack)156157- Docker: dangling images/volumes (only if user asked for Docker cleanup; requires `docker` context).158- CI: `*.log` under `build/`, artifact dirs from previous runs.159- K8s: local `*.kube`, tmp kubeconfigs—list only; do not delete without confirmation.160161## Inspiration162163- Same **inventory → plan → confirm → act** flow as [post-deploy environment cleanup](https://mcpmarket.com/tools/skills/post-deploy-environment-cleanup) style workflows.164- [Agent template public](https://github.com/matsuni-kk/agent_template_public): honor **Flow** (draft) vs **Stock** (stable); do not “clean” user drafts from Flow without explicit approval.165
Also in danielvm-git/bigpowers
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.cursor/rules/align-grid.mdc · 114 | Cursor rules | lint-formatdo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/assess-impact.mdc · 114 | Cursor rules | testtesting-strategydeployment | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-code.mdc · 114 | Cursor rules | setuptestlint-formatstyle+4 | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-plan.mdc · 114 | Cursor rules | buildteststylegit | 74/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/build-epic.mdc · 114 | Cursor rules | buildgit | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/change-request.mdc · 114 | Cursor rules | no sections | 48/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/commit-message.mdc · 114 | Cursor rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/compose-workflow.mdc · 114 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/context7-mcp.mdc · 114 | Cursor rules | style | 54/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/craft-skill.mdc · 114 | Cursor rules | stylearchgitdo-not | 69/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deepen-architecture.mdc · 114 | Cursor rules | testtesting-strategydo-not | 57/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-language.mdc · 114 | Cursor rules | lint-formatdo-not | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-success.mdc · 114 | Cursor rules | no sections | 4/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/delegate-task.mdc · 114 | Cursor rules | git | 62/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deploy.mdc · 114 | Cursor rules | setupbuildtestdeployment | 77/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/design-interface.mdc · 114 | Cursor rules | styleagent-behaviour | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/develop-tdd.mdc · 114 | Cursor rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-root.mdc · 114 | Cursor rules | no sections | 39/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-stall.mdc · 114 | Cursor rules | no sections | 44/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/dispatch-agents.mdc · 114 | Cursor rules | git | 54/100 | 3 days ago |
Diff against .cursor/rules/align-grid.mdc Diff against .cursor/rules/assess-impact.mdc Diff against .cursor/rules/audit-code.mdc Diff against .cursor/rules/audit-plan.mdc Diff against .cursor/rules/build-epic.mdc Diff against .cursor/rules/change-request.mdc Diff against .cursor/rules/commit-message.mdc Diff against .cursor/rules/compose-workflow.mdc Diff against .cursor/rules/context7-mcp.mdc Diff against .cursor/rules/craft-skill.mdc Diff against .cursor/rules/deepen-architecture.mdc Diff against .cursor/rules/define-language.mdc Diff against .cursor/rules/define-success.mdc Diff against .cursor/rules/delegate-task.mdc Diff against .cursor/rules/deploy.mdc Diff against .cursor/rules/design-interface.mdc Diff against .cursor/rules/develop-tdd.mdc Diff against .cursor/rules/diagnose-root.mdc Diff against .cursor/rules/diagnose-stall.mdc Diff against .cursor/rules/dispatch-agents.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.windsurf/rules/guard-git.md · 114 | Windsurf rules | stylearchgitsecurity+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/develop-tdd.md · 114 | Windsurf rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/quick-fix.md · 114 | Windsurf rules | teststylegitdeployment+1 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/commit-message.md · 114 | Windsurf rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/extract-design.md · 114 | Windsurf rules | lint-formatstyledependenciesui | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/session-state.md · 114 | Windsurf rules | lint-formatstyleagent-behaviour | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/setup-environment.md · 114 | Windsurf rules | setupstylesecuritydo-not+1 | 81/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/wire-ci.md · 114 | Windsurf rules | buildtestlint-formatstyle+1 | 81/100 | 3 days ago |
