Jev PARA

approvedunreviewed

by Juwoong Bae

Organize Inbox notes into PARA folders using Jev and criteria from each folder.

Updated todayMIT

Jev PARA 0.3.4

An Obsidian desktop plugin that organizes Inbox notes into PARA folders using Jev and the criteria in each folder's INDEX.md. Here, syncing means organizing the local Inbox, not synchronizing with external storage.

Installation

Download main.js, manifest.json, and styles.css from the 0.3.4 release. Place them in your vault's .obsidian/plugins/jev-para/ directory, then enable Jev PARA under Settings → Community plugins.

The interface and new INDEX templates use English. Existing Korean INDEX sections remain supported. After updating the files, disable and re-enable the plugin or reload Obsidian.

Build from source

  1. Run npm install, then npm run build in the repository root.

  2. Copy the build artifacts into your vault:

    JEV_PARA_VAULT=/path/to/vault npm run install:testing
    

    This copies main.js, manifest.json, and styles.css. Without JEV_PARA_VAULT, the script defaults to the developer's testing vault at /Users/juwoong/vaults/testing.

  3. Enable Jev PARA under Settings → Community plugins.

API token

Classification requires a Jev/TypeSafe account and an API token with access to its hosted API. The plugin is free under the MIT license; API usage is subject to the provider's pricing and account limits. Classification and connection tests require an internet connection and may incur API charges.

Under Settings → Jev PARA → API key source, choose one of the following options. Enter in settings is the default.

Enter in settings — Paste your token into API token and click Save. Saved tokens are not displayed again. The plugin uses Obsidian secret storage (app.secretStorage) when available. On older versions, it stores the token in the plugin's data.json and explains this in settings. Click Delete to remove the saved token.

Saving a token automatically runs a connection test. The result appears in a notice and under Token status. Use Test connection in settings or the organizer to test again. The test makes one API request with short synthetic input and does not send note content. Reload token reloads the saved token.

Folder criteria

Creating a folder directly under 1. Projects, 2. Areas, 3. Resources, or 4. Archives automatically creates an INDEX.md file inside it. Use Create folders in settings to create any missing PARA root folders, including 0. Inbox.

Fill in Description to make a folder eligible as a destination. Include and Exclude are optional criteria that help guide classification. Folders with empty descriptions are excluded.

---
para: projects
---

# Service launch

## Description
Prepare the beta launch of a new service.

## Include
- Launch schedules and checklists
- Beta user feedback

## Exclude
- Routine business operations → 2. Areas/Business operations

Existing Korean section headings remain supported. When both English and Korean sections are present, a nonempty English section takes precedence; otherwise, the corresponding Korean section is used. Existing INDEX files are preserved.

Destination folders must be direct children of a PARA root. Folders whose names start with _ or . are excluded from INDEX generation and classification. Archives folders receive INDEX files but are never automatic classification destinations.

Manual sorting

The default mode is Manual preview. Open the organizer using the sparkle ribbon icon or the Open Jev PARA organizer command, then click Analyze. Each result shows its destination, confidence, selected probability, and top candidates.

Results appear in this order: Ready to move → Needs review → Errors → Skipped. Within each group, results are sorted by descending confidence. Ties retain their original order, and results without confidence appear last within their group. The list updates as analysis results arrive.

Select rows and click Move selected, or click Move all ready to move every eligible note in one operation. You can override a destination using the dropdown in its row.

Confidence describes certainty in the chosen destination, including Keep in Inbox. A high-confidence decision to keep a note in Inbox does not make it ready to move.

Automatic sorting

Set Sorting mode to Automatic sorting to analyze Inbox notes after the settle time has passed since their last edit (30 seconds by default). Notes move only when all thresholds are met:

  • Confidence: at least 0.80.
  • Selected probability: at least 0.80.
  • Difference between the top two probabilities: at least 0.20.

Notes below any threshold, or with tied top probabilities, remain for review. Notes classified as Keep in Inbox stay in Inbox.

Authentication errors pause automatic sorting and prompt you to check the token. You can also use Pause automatic sorting in the organizer.

Undo

Undo last run restores the files moved in the last operation to their original locations. If a file has been edited since the move, or another file occupies its original path, that item is skipped with an explanation.

An undone note is held to prevent it from being automatically moved again with unchanged content. Editing its content allows it to be analyzed again.

Limitations

  • Only Markdown notes are moved. PDFs, images, and other attachments are counted but not moved.
  • Only notes directly inside 0. Inbox are processed. Nested Inbox folders are excluded.
  • Already organized notes are not automatically reclassified. Move them back into Inbox to make them eligible again.
  • Project completion is not inferred. Move completed projects into 4. Archives yourself.
  • Classification does not summarize or rewrite notes, or invent new destination folders.
  • Moves use Obsidian's file-moving functionality, so link updates follow your Obsidian settings. Notes that cannot be moved safely are left for review.

Development and testing

npm run typecheck   # TypeScript checks
npm test            # Scenario-based tests
npm run dev         # Development bundle with source maps
npm run build       # Production bundle
JEV_PARA_VAULT=/path/to/vault npm run install:testing
npm run test:live    # Live API tests; requires credentials and makes API requests

The implementation contract is in IMPLEMENTATION_PROMPT.md, and test scenarios are in TEST_SCENARIOS.md. These development documents are currently in Korean. Live API tests are separate from the default test suite.

Privacy

Analysis sends note titles, note content, and folder criteria to the configured Jev API endpoint (by default, TypeSafe at https://api.typesafe.ai/v1/systemone) to choose a destination. The plugin includes no client-side telemetry. Tokens and note bodies are not written to plugin logs.

License

MIT © 2026 juwoong.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.