Skip to content

v2 - #141

Merged
saberzero1 merged 108 commits into
mainfrom
quartz-npm-plugins-rework
Aug 29, 2026
Merged

v2#141
saberzero1 merged 108 commits into
mainfrom
quartz-npm-plugins-rework

Conversation

@saberzero1

Copy link
Copy Markdown
Owner

No description provided.

saberzero1 and others added 18 commits August 6, 2026 01:49
Add ManualSetupModal with URL validation, connection test, provider
auto-detection, progressive disclosure, and advanced settings section.
Fix setup wizard: paginated repo loading with search, v5 branch for new
repos, correct GitHub Pages URL, Done button on success step.
Add quartz.config.yaml creation from template defaults with baseUrl.
Add content/index.md with welcome page for new repos.
Extract detectGitProvider to shared utility.
Add getFileContent and updateFile to GitHubApiService.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Change detectAll() from Promise.all to sequential loop to prevent
terminatePendingProcess() from killing concurrent detections.
Add proactive version warnings for Node.js < 18 and npm < 8.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Replace COMMANDS array with COMMAND_REGISTRY metadata system.
Switch from registerObsidianProtocolHandler to registerCliHandler.
Add help flag interceptor, base quartz-syncer command, verbose flag.
Add shared requireQuartzRunner guard.
Rewrite mark handler with glob, fuzzy search, and dry-run support.
Add force flag to delete/sync, dry-run to publish/delete/sync.
Add verbose output for status/test/publish/delete/sync handlers.
Restructure plugin handler: list/add/remove work everywhere,
install/enable/disable/config/prune require QuartzRunner.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add timeout sentinel (-1 = no timeout) to ProcessRunner.
Add timeout to QuartzRunnerOptions, wire through all methods.
Refactor serve() to bypass ProcessRunner singleton pendingProcess.
Add sync, restore, pluginInstall/Enable/Disable/Config/Prune methods.
Add quartz-build, quartz-serve, quartz-sync, quartz-restore handlers.
Add circuit breaker auto-recovery after 5 minute cooldown.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add pauseAutoPublish/resumeAutoPublish to BackgroundEngine.
Publication Center pauses auto-publish on open, resumes on close.
Prevents race condition where auto-publish modifies files user is selecting.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove stale RepositoryConnection references and outdated CLI count.
Document two-tier platform split, publication model, CLI registration
via registerCliHandler, Quartz v5 config conventions, and working
with external systems directive.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Publisher refactoring:
- Extract PublishBackend interface with RemotePublishBackend and LocalPublishBackend
- Extend QuartzFileSource with writeBinaryFile, deleteFile, listAllFiles
- Refactor Publisher from GitBackend to PublishBackend abstraction
- Wire local mode into getPublisher (quartzRepoPath takes priority)
- Expose cliHandlers on plugin instance for test invocation

New CLI commands:
- quartz-syncer:repo (info, set-local, set-remote, verify)
- quartz-syncer:media (list, orphaned, clean)
- quartz-syncer:diff (compiled vault vs repo content)
- quartz-syncer:validate (repo health checks with lockfile warning)
- quartz-syncer:inspect (cache, hashes, compilation, queue)

CLI gap filling:
- Cache handler: export, import, prune actions
- Config handler: reset action (partial, preserves identity fields)
- Plugin handler: add/remove dry-run via structuredClone, search action
- Publish/sync/delete: custom commit message param
- Publish: action=arbitrary for non-content file publishing
- Test handler: local mode path verification
- Inspect handler: target=queue via getEngineStatus
- Status handler: verbose enrichment with publishFlag and hasMedia

Marketplace migration:
- QuartzPluginRegistry: new URL, full marketplace schema
- PluginBrowserModal: tags to category filter migration

E2E test harness:
- 6 Quartz repo fixtures (minimal through multi-plugin)
- 3 vault templates (basic, media-heavy, bulk)
- FixtureManager, RepoAssertions, CLI invoker helpers
- 44 scenario specs across 10 spec files (43 passing)
- wdio.conf.mts extended for scenario specs

Unit tests: 522 total (41 new for CLI gap coverage)
@saberzero1
saberzero1 force-pushed the quartz-npm-plugins-rework branch from 4048bff to a4c130c Compare August 26, 2026 20:24
@saberzero1
saberzero1 marked this pull request as ready for review August 29, 2026 21:41
@saberzero1
saberzero1 merged commit 49efc18 into main Aug 29, 2026
17 checks passed
@saberzero1
saberzero1 deleted the quartz-npm-plugins-rework branch August 29, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant