README file from
GithubIntegrated Archive
Integrated Archive moves files out of active work without treating them as disposable.
Features
- Archive current file command and optional file-menu action.
- Restore archived files to their original locations, or undo the latest available archive operation.
- Archive or restore multiple selected files at once, or archive every file in a folder.
- Choose whether Delete asks each time, archives automatically, or uses Obsidian’s normal delete flow.
- The optional prompt offers Archive / Delete / Cancel. Delete follows your configured Obsidian trash setting and may be permanent.
- Configurable archive folder with optional original folder structure.
- Optional archive tag and archived, created, and last-edited frontmatter dates.
- Optionally write the original path into archived notes so they can be restored even when archive history is lost or synced to another device.
- Protect paths that should never be archived.
- Collision-safe names such as
note (1).md; existing files are never overwritten. - Files already inside the archive use Obsidian's normal delete flow.
- Existing created and last-edited properties are preserved by default.
Use
Right-click a file and select Archive, or run Integrated Archive: Archive current file from the command palette. Right-click a folder and select Archive, or run Integrated Archive: Archive all files in current folder, to archive every eligible file inside it. Configure the folder, delete prompt, tag, property names, folder structure, and date format under Settings → Integrated Archive.
Right-click an archived file and select Restore from archive, or run Integrated Archive: Restore current file from archive. Restores return files to their recorded original paths, reverse metadata added or replaced by that archive operation, and use collision-safe names if those paths are occupied. Integrated Archive: Undo last archive restores the newest archived file that is still available.
Enable Store original path in notes under the Restore settings to write each note's original location into its frontmatter. Restores fall back to this value when archive history is unavailable, for example after syncing the vault to another device.
Add vault-relative paths under Protected paths to keep files or folders out of the archive. Archive actions are hidden for protected files, and batch commands skip them.
The plugin works locally inside your vault. It has no network access, accounts, telemetry, or external services.
Install
Integrated Archive requires Obsidian 1.13 or later.
Community plugins
Once Integrated Archive is listed in the Obsidian Community Plugins directory:
- Open Settings → Community plugins.
- Select Browse, search for Integrated Archive, and select Install.
- Select Enable.
Manual installation
- Download
main.jsandmanifest.jsonfrom the latest GitHub release. - Create
<vault>/.obsidian/plugins/integrated-archive/. - Copy both downloaded files into that folder.
- Reload Obsidian, then enable Integrated Archive under Settings → Community plugins.
Install for development
bun install
bun run build
Copy manifest.json and main.js into:
<vault>/.obsidian/plugins/integrated-archive/
Then enable Integrated Archive under Settings → Community plugins.
Run bun run dev while developing and bun run check before committing. Run bun run test:coverage for a coverage report.
bun run check verifies release versions, type-checks and bundles the plugin, runs the official Obsidian ESLint rules, and executes the test suite.
Release
Bump package.json, manifest.json, and versions.json together, then push a tag with that exact version and no v prefix:
bun run bump 0.2.0
bun run check
git add package.json manifest.json versions.json
git commit -m "Release 0.2.0"
git tag 0.2.0
git push origin main 0.2.0
GitHub Actions verifies the version, builds the plugin, and creates a release containing the files Obsidian needs.