forgeplan delete
Permanently remove an artifact from the workspace. This deletes the markdown file on disk and cascades through the LanceDB index, dropping every relation where the artifact appears as source or target.
Deletion is destructive and not reversible. Unless you are cleaning up a
true mistake (e.g. a test artifact, a typo’d ID, a duplicate), you almost
certainly want forgeplan deprecate or
forgeplan supersede instead — both preserve decision
history, which is the whole point of the methodology.
forgeplan delete [OPTIONS] <ID>Arguments
Section titled “Arguments” <ID> Artifact IDOptions
Section titled “Options” --yes Skip confirmation -h, --help Print help -V, --version Print versionWhat it does
Section titled “What it does”- Confirms the deletion interactively (skip with
--yes). - Removes the markdown file from
.forgeplan/<kind>s/<id>.md. - Deletes the artifact row from the LanceDB
artifactstable. - Cascade-deletes every relation in the
linkstable where the artifact is source or target. - Leaves other artifacts intact — but they may now reference a deleted ID.
Examples
Section titled “Examples”Delete a stray Note after interactive confirmation:
forgeplan delete NOTE-042Scripted delete (no prompt):
forgeplan delete NOTE-042 --yesSafety: when NOT to delete
Section titled “Safety: when NOT to delete”Do not delete an active artifact as a way to “cancel” it. The methodology
treats abandoned decisions as first-class history — they remain discoverable and
explain why the project went a different way.
| Situation | Do this instead |
|---|---|
| Decision was superseded by a newer one | forgeplan supersede <old> --by <new> |
| Decision is no longer relevant | forgeplan deprecate <id> --reason "..." |
| Artifact is an orphan with no content yet | Delete is fine |
You created a typo’d ID (PRD-0001 instead of PRD-1) | Delete is fine |
| Experimental Note that was never linked | Delete is fine |
Rule of thumb: if anything links to the artifact, deprecate. If it’s a dead-end stub with no history, delete.
Before you delete — back up
Section titled “Before you delete — back up”Cascade deletion of relations cannot be undone without a git restore or an earlier export. Before bulk-deleting, run:
forgeplan export --output backup-$(date +%Y%m%d).jsonAnd for peace of mind:
cp -r .forgeplan .forgeplan-backup-$(date +%Y%m%d)You can then forgeplan import backup.json to restore if you regret the
operation. See the AGENT-ENFORCEMENT
guide for why rm -rf .forgeplan is a banned shortcut.
deletedoes not check whether other artifacts reference the target. It is the caller’s responsibility to ensure no active decision depends on it.- Deleted artifacts disappear from
forgeplan health,forgeplan list, and search results immediately. - If you deleted by mistake and have not committed yet,
git checkout .forgeplan/<kind>s/<id>.mdfollowed byforgeplan scan-importwill restore the file and re-index it.
See also
Section titled “See also”- CLI overview
forgeplan deprecate— terminal status, preserves historyforgeplan supersede— replace with a newer decisionforgeplan export— back up before bulk deletes- Methodology guide