diff --git a/.changeset/accessible-control-contrast.md b/.changeset/accessible-control-contrast.md deleted file mode 100644 index bcf43ca..0000000 --- a/.changeset/accessible-control-contrast.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Improve primary button and read-only destination text contrast, remove the sign-in lock icon, and give Search a single native label. diff --git a/.changeset/authored-link-order.md b/.changeset/authored-link-order.md deleted file mode 100644 index 33129e0..0000000 --- a/.changeset/authored-link-order.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Remove `site.order` and automatic alphabetical sorting. Groups and bookmarks follow YAML declaration order, with ungrouped bookmarks last. Existing configurations must remove `site.order`. diff --git a/.changeset/baseline-response-headers.md b/.changeset/baseline-response-headers.md deleted file mode 100644 index 72624f2..0000000 --- a/.changeset/baseline-response-headers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Apply baseline content-type and referrer protections to application responses in both authenticated and open-access modes, preserving authentication and static-asset caching. diff --git a/.changeset/basic-directory.md b/.changeset/basic-directory.md deleted file mode 100644 index 8bb6af3..0000000 --- a/.changeset/basic-directory.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Render configured bookmark groups and shareable plain details with service links, protected by the existing directory authentication. diff --git a/.changeset/behavior-focused-loading-tests.md b/.changeset/behavior-focused-loading-tests.md deleted file mode 100644 index 1fe8a9c..0000000 --- a/.changeset/behavior-focused-loading-tests.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Reduce search browser tests to three core journeys covering results, bookmark details, clearing and detail filters. Remove bundle inspection, injected loading races, DOM tracking and detailed shortcut/navigation/motion suites. Application behavior is unchanged. diff --git a/.changeset/bookmark-logo-fallback.md b/.changeset/bookmark-logo-fallback.md deleted file mode 100644 index e34dcd7..0000000 --- a/.changeset/bookmark-logo-fallback.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Recover failed configured bookmark logos on cards and details with their prepared logo when JavaScript is enabled. Stop if the fallback also fails, and retry the primary when its URL or link identity changes. diff --git a/.changeset/bookmark-logos.md b/.changeset/bookmark-logos.md deleted file mode 100644 index 5260f86..0000000 --- a/.changeset/bookmark-logos.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Show server-prepared bookmark logos on cards and details when no logo path is configured, keeping generated logos protected by directory authentication. diff --git a/.changeset/branded-signin.md b/.changeset/branded-signin.md deleted file mode 100644 index 8cb1f8d..0000000 --- a/.changeset/branded-signin.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@directory/web': minor -'@directory/cli': minor ---- - -Present a responsive, branded sign-in page with readable primary actions, generic error banners and desktop-only initial focus. Publish the two configured primary colors, derived button foregrounds and selected site logo bytes through a dedicated public `/logo` alias; keep source URLs and private directory/auth data protected. Use 🗂️ as the bundled application mark. - -Normalize omitted site logo and favicon paths to `/favicon.svg` in the shared config loader used by both web and CLI. Both apps accept that explicit bundled site selection while bookmark image paths remain mounted-only; web maps mounted site selections to public branding aliases. diff --git a/.changeset/canonical-site-url.md b/.changeset/canonical-site-url.md deleted file mode 100644 index 9969264..0000000 --- a/.changeset/canonical-site-url.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': minor -'@directory/cli': minor ---- - -Use canonical `site.url` for public metadata and auth; migrate `auth.origin` to `site.url`. Default to localhost with the runtime port (development 5173, otherwise 3000). diff --git a/.changeset/centered-detail-intro.md b/.changeset/centered-detail-intro.md deleted file mode 100644 index 7227b85..0000000 --- a/.changeset/centered-detail-intro.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Give bookmark details a compact identity header, readable description and one lowercase tag list with subtly tinted access tags. Set the destination and Open action on a full-width muted footer. Slightly blur the dimmed dialog backdrop. Pair the read-only destination URL with a compact Open action, focus Open on entry, and load the dialog with the page to remove the first-open code-fetch delay. diff --git a/.changeset/centered-start-page.md b/.changeset/centered-start-page.md deleted file mode 100644 index c932382..0000000 --- a/.changeset/centered-start-page.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Center the start page's responsive tile grids while keeping short groups and incomplete rows aligned to the first column. Give tiles full-cell hover targets, compact vertical padding and wider desktop cells, with clear space below section headings. Limit tile titles to three lines with an ellipsis while retaining full titles for accessible names, search and details. diff --git a/.changeset/compose-config-cli.md b/.changeset/compose-config-cli.md deleted file mode 100644 index da68294..0000000 --- a/.changeset/compose-config-cli.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@directory/cli': major -'@directory/web': patch ---- - -Replace `directory validate [path]` with `directory-cli config validate [path]`. Remove the unused JavaScript package API and standalone artifact tests; retain focused tests for command behavior and safe diagnostics. - -Provide a dedicated CLI image and a one-shot `directory-cli` Compose tools service sharing the app's configuration and environment. Run `docker compose run --rm directory-cli config validate` without starting the app. The web development image no longer packages the CLI. - -Publish `directory-cli` images to Gitea and GHCR after CLI checks: `latest` from main and versioned images from matching stable CLI release tags. Pull requests do not publish images. diff --git a/.changeset/config-update-notice.md b/.changeset/config-update-notice.md deleted file mode 100644 index 0a0f333..0000000 --- a/.changeset/config-update-notice.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Notify open pages when an accepted configuration revision changes and offer an explicit Refresh action. Keep the current content, search and focus until the user chooses to refresh. diff --git a/.changeset/configuration-first-auth.md b/.changeset/configuration-first-auth.md deleted file mode 100644 index 23ff3b2..0000000 --- a/.changeset/configuration-first-auth.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@directory/web': minor -'@directory/cli': minor ---- - -Configure authentication entirely in YAML: `auth.origin` is required when authentication is enabled, and `auth.secret` is optional. Directory generates a session secret at startup by default; set an explicit secret to keep sessions across restarts. Ordinary configuration reloads preserve sessions. - -Docker Compose no longer requires `.env`, `AUTH_SECRET`, `ORIGIN`, or `AUTH_URL`. Existing authenticated deployments must move their origin into YAML and explicitly reference or set a secret if they need persistent sessions. diff --git a/.changeset/configured-images.md b/.changeset/configured-images.md deleted file mode 100644 index 0467110..0000000 --- a/.changeset/configured-images.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Serve exact configured image references through a bounded, protected file endpoint so existing bookmark cards and details can render mounted logos. Keep mounted files private under authentication, including configured site favicons, and preserve last-good references across rejected reloads. Linux procfs is required for mounted-file reads. Add a manual-only local preview demo and actionable, value-free auth-settings startup diagnostics. diff --git a/.changeset/core-presentation-journeys.md b/.changeset/core-presentation-journeys.md deleted file mode 100644 index 5bd58b5..0000000 --- a/.changeset/core-presentation-journeys.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Remove standalone and overlapping browser suites for layout, hover/focus styling, title clamping and control presentation. Retain two focused service-navigation smoke tests alongside existing browsing, details, keyboard, privacy and no-JavaScript coverage. Detailed visual behavior remains a manual review responsibility. Application behavior is unchanged. diff --git a/.changeset/directory-presentation.md b/.changeset/directory-presentation.md deleted file mode 100644 index 6a2e8de..0000000 --- a/.changeset/directory-presentation.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@directory/web': minor ---- - -Show compact, responsive bookmark tiles with clearer group spacing and empty-state -guidance. Use configured light/dark appearance colors for directory focus and -Back-link accents through a protected layout and shared semantic theme CSS, -including without JavaScript. Keep sign-in on the default palette. diff --git a/.changeset/display-preparation-names.md b/.changeset/display-preparation-names.md deleted file mode 100644 index 4d74167..0000000 --- a/.changeset/display-preparation-names.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Rename the prepared directory data to DirectoryContent. diff --git a/.changeset/exact-tag-search.md b/.changeset/exact-tag-search.md deleted file mode 100644 index 25e1601..0000000 --- a/.changeset/exact-tag-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Add exact `tag:` and `access:login|internal|admin` searches alongside ordinary fuzzy search. Detail chips fill Search with their exact query and return focus there after closing; without JavaScript, they remain informational. Preserve searches in shareable URLs, add whole-chip hover feedback, and smooth direct-detail entry and matching exit animations without visible result-count clutter. diff --git a/.changeset/explicit-detail-workflow.md b/.changeset/explicit-detail-workflow.md deleted file mode 100644 index 2280d51..0000000 --- a/.changeset/explicit-detail-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Clarify bookmark detail callbacks and separate dismissal completion from directory focus restoration. Tag and access selections share explicit filter terminology, and dialog autofocus uses an explicit Open-link binding instead of a CSS selector. History, search and focus behavior are unchanged. diff --git a/.changeset/feature-component-organization.md b/.changeset/feature-component-organization.md deleted file mode 100644 index d15fb6f..0000000 --- a/.changeset/feature-component-organization.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Group bookmark components under `components/bookmarks` and search UI under `components/search`, with bookmark-specific component names. Keep reusable controls and search logic in their existing locations. Behavior and styling are unchanged. diff --git a/.changeset/focused-ci-checks.md b/.changeset/focused-ci-checks.md deleted file mode 100644 index b085ec0..0000000 --- a/.changeset/focused-ci-checks.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Remove duplicate package linting from CI. Keep web publication gated on its shared configuration dependency without rebuilding or testing the unrelated CLI, and avoid repeated coverage collection in that gate. CLI checks remain in its own pipeline. diff --git a/.changeset/focused-config-tests.md b/.changeset/focused-config-tests.md deleted file mode 100644 index c82f7cd..0000000 --- a/.changeset/focused-config-tests.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Remove config build tests and check defaults through the loader. diff --git a/.changeset/global-link-target.md b/.changeset/global-link-target.md deleted file mode 100644 index 7f38aaa..0000000 --- a/.changeset/global-link-target.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Add the global `site.open_links_in_new_tab` setting, defaulting to true. Set it to false to open services in the current tab, with or without JavaScript. diff --git a/.changeset/grouped-route-access.md b/.changeset/grouped-route-access.md deleted file mode 100644 index 5742924..0000000 --- a/.changeset/grouped-route-access.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Declare public pages and private endpoints through internal SvelteKit route groups, preserving existing URLs and authentication policy. diff --git a/.changeset/hover-and-input-feedback.md b/.changeset/hover-and-input-feedback.md deleted file mode 100644 index 24f6bba..0000000 --- a/.changeset/hover-and-input-feedback.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Refine bookmark hover with an underlined title, a small icon lift and a soft light-mode shadow or dark-mode halo. Give search, destination and sign-in inputs clear hover feedback and tinted focus backgrounds with a single inset accent edge. diff --git a/.changeset/lazy-bookmark-search.md b/.changeset/lazy-bookmark-search.md deleted file mode 100644 index 4b551ba..0000000 --- a/.changeset/lazy-bookmark-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Add on-demand, typo-tolerant bookmark search with weighted public metadata, unordered multiword matching and accessible local results. Preserve full server-rendered navigation and detail history when search is unused or unavailable. diff --git a/.changeset/lazy-responsive-details.md b/.changeset/lazy-responsive-details.md deleted file mode 100644 index 0d3c7eb..0000000 --- a/.changeset/lazy-responsive-details.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Enhance bookmark details on demand into an accessible desktop dialog or phone sheet, preserving real URLs, browser history, private theme accents and plain SSR/no-JavaScript fallbacks. diff --git a/.changeset/local-open-graph-config.md b/.changeset/local-open-graph-config.md deleted file mode 100644 index 436d760..0000000 --- a/.changeset/local-open-graph-config.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': minor -'@directory/cli': minor ---- - -Add public Open Graph previews with a generated 1200×630 PNG using the site's public branding: title, description, URL, favicon and appearance colors. Support an optional `site.og_image_path` that links directly to a supplied local image. Keep private directory content out of previews and publish metadata on sign-in pages. diff --git a/.changeset/navigation-error-recovery.md b/.changeset/navigation-error-recovery.md deleted file mode 100644 index 10b8fc8..0000000 --- a/.changeset/navigation-error-recovery.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Show friendly, centered navigation errors with a native way back home, without exposing raw error details or depending on failed client route code. diff --git a/.changeset/owned-config-reloading.md b/.changeset/owned-config-reloading.md deleted file mode 100644 index 93c541b..0000000 --- a/.changeset/owned-config-reloading.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Separate configuration monitoring from application updates, retaining last-good configuration and restart-only authentication settings. Detect same-sized edits that preserve modification time. diff --git a/.changeset/public-config-schema.md b/.changeset/public-config-schema.md deleted file mode 100644 index b494f85..0000000 --- a/.changeset/public-config-schema.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Serve the bundled configuration editor schema publicly at `/schema.json`, without exposing instance settings or credentials. diff --git a/.changeset/public-favicon.md b/.changeset/public-favicon.md deleted file mode 100644 index 9246970..0000000 --- a/.changeset/public-favicon.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Show the configured site favicon before sign-in through a dedicated public `/favicon` alias, while keeping mounted source URLs protected. Omitted favicons use the bundled icon. diff --git a/.changeset/quiet-theme-toggle.md b/.changeset/quiet-theme-toggle.md deleted file mode 100644 index 3e4f901..0000000 --- a/.changeset/quiet-theme-toggle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Add a keyboard-accessible System, Dark and Light theme toggle with browser-local persistence and prepaint restoration. Keep configured accents private and preserve OS themes without JavaScript. diff --git a/.changeset/readable-search-execution.md b/.changeset/readable-search-execution.md deleted file mode 100644 index 501d97a..0000000 --- a/.changeset/readable-search-execution.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Use clearer names in the bookmark search code. diff --git a/.changeset/reliable-browser-test-cleanup.md b/.changeset/reliable-browser-test-cleanup.md deleted file mode 100644 index e6bb00a..0000000 --- a/.changeset/reliable-browser-test-cleanup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Ensure browser tests clean up acquired resources after setup failures and attempt all shutdowns before asserting cleanup results. Application behavior is unchanged. diff --git a/.changeset/remove-bookmark-favicon.md b/.changeset/remove-bookmark-favicon.md deleted file mode 100644 index bc9f8ee..0000000 --- a/.changeset/remove-bookmark-favicon.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Remove `links.*.favicon_path` and the small destination icon. Bookmarks retain their primary logo, and `site.favicon_path` is unchanged. Existing configurations must remove bookmark `favicon_path` fields. diff --git a/.changeset/server-image-organization.md b/.changeset/server-image-organization.md deleted file mode 100644 index 9fe02e0..0000000 --- a/.changeset/server-image-organization.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Group image code together and separate format checks from file reading. diff --git a/.changeset/shared-server-errors.md b/.changeset/shared-server-errors.md deleted file mode 100644 index de404b1..0000000 --- a/.changeset/shared-server-errors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Move shared server error definitions out of the configuration loader. diff --git a/.changeset/shared-ui-controls.md b/.changeset/shared-ui-controls.md deleted file mode 100644 index 0132f6e..0000000 --- a/.changeset/shared-ui-controls.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Centralize visible buttons, button-like links, inputs and chips in shared native UI components. Give buttons clearer whole-control hover, inset focus, pressed and disabled feedback while preserving native forms, links, search and dialog behavior. diff --git a/.changeset/site-header-logo.md b/.changeset/site-header-logo.md deleted file mode 100644 index 52c0e6a..0000000 --- a/.changeset/site-header-logo.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Show the configured site logo beside the protected directory title at 48px, with a bundled default and one-time JavaScript error fallback. Keep sign-in branding bundled and configured source URLs private when authentication is enabled. diff --git a/.changeset/soft-search-navigation.md b/.changeset/soft-search-navigation.md deleted file mode 100644 index a7b9978..0000000 --- a/.changeset/soft-search-navigation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': minor ---- - -Refine the responsive header with a soft search field and quieter utilities. Add keyboard navigation to filtered results: Enter opens a sole match or focuses the first of several, arrows move between tiles, and Escape returns to Search without losing the query. Use compiled Phosphor UI icons and keep empty search focus and filtered refocus visually stable. diff --git a/.changeset/stable-config-revisions.md b/.changeset/stable-config-revisions.md deleted file mode 100644 index 6e230af..0000000 --- a/.changeset/stable-config-revisions.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Keep the current snapshot and revision when configuration values and bookmark order are unchanged. Comments and formatting-only saves no longer rebuild bookmark logos or create a new revision. diff --git a/.changeset/tidy-header-topline.md b/.changeset/tidy-header-topline.md deleted file mode 100644 index 3cdc703..0000000 --- a/.changeset/tidy-header-topline.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Keep header utilities beside the branding on phones, place Search on its own row, and make Sign out an accessible icon-only action. Add Alt+/ to focus Search and select the current query, with a platform-aware placeholder hint. Restore native Tab traversal through every search result while keeping optional arrow navigation. diff --git a/.changeset/varied-bookmark-colors.md b/.changeset/varied-bookmark-colors.md deleted file mode 100644 index 24dff2e..0000000 --- a/.changeset/varied-bookmark-colors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directory/web': patch ---- - -Vary generated bookmark logo backgrounds by link rather than group, keeping colors stable when titles or groups change. diff --git a/.changeset/yaml-list-tags.md b/.changeset/yaml-list-tags.md deleted file mode 100644 index 5eb0b1c..0000000 --- a/.changeset/yaml-list-tags.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directory/web': patch -'@directory/cli': patch ---- - -Require YAML lists for bookmark tags, defaulting to an empty list. Commas inside a label are literal. Replace old comma-separated tag strings with explicit lists. diff --git a/apps/cli/CHANGELOG.md b/apps/cli/CHANGELOG.md new file mode 100644 index 0000000..938c41e --- /dev/null +++ b/apps/cli/CHANGELOG.md @@ -0,0 +1,7 @@ +# @directory/cli + +## 0.0.1 + +### Patch Changes + +- Initial release of Directory and its configuration CLI. diff --git a/apps/cli/package.json b/apps/cli/package.json index e05d675..492d02d 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "@directory/cli", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "bin": { diff --git a/apps/web/CHANGELOG.md b/apps/web/CHANGELOG.md new file mode 100644 index 0000000..3055333 --- /dev/null +++ b/apps/web/CHANGELOG.md @@ -0,0 +1,7 @@ +# @directory/web + +## 0.0.1 + +### Patch Changes + +- Initial release of Directory and its configuration CLI. diff --git a/apps/web/package.json b/apps/web/package.json index f354873..b100315 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@directory/web", - "version": "0.0.0", + "version": "0.0.1", "private": true, "type": "module", "files": [