Commit Graph
89 Commits
Author SHA1 Message Date
dependabot[bot] 83c00b9cad deps(actions): bump github/codeql-action from 3 to 4.37.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.37.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4.37.4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-03 15:17:11 +00:00
james.maesandJames Maes 4f9fcaef0a fix(deps): resolve npm audit high-severity advisories + add audit CI step (#32)
* security(deps): resolve high-severity npm audit advisories via minimatch override

All 9 high-severity advisories stemmed from a single transitive chain:
eslint/eslint-config-next tooling depend on a vulnerable minimatch
(<=10.0.2) that pulls in brace-expansion <=5.0.7 (GHSA-mh99-v99m-4gvg,
DoS via unbounded expansion). These are dev/build-time only packages,
not shipped in the runtime image.

Bumping eslint itself would require a semver-major jump (9.x -> 10.x).
Instead, pin minimatch to ^10.0.3 via package.json overrides, which
drops the vulnerable brace-expansion dependency entirely (newer
minimatch uses @isaacs/brace-expansion). Verified npm audit reports 0
vulnerabilities and both npm run lint and npm run build still pass.

* ci(app): add non-blocking npm audit step to lint-and-build job

Surface high-severity advisories in CI logs without gating merges on
build-time dev-dependency findings a solo dev can triage async.

---------

Co-authored-by: James Maes <jmaes@dmdbrands.com>
2026-07-29 16:40:17 +00:00
james.maesandJames Maes f644567f8e feat(ci): add container security scanning and harden workflow permissions (#31)
Add a Trivy job to the Docker build workflow that scans the built image
for CRITICAL/HIGH CVEs, uploads SARIF to GitHub code scanning, and fails
only on CRITICAL findings so a solo maintainer isn't blocked by HIGH-only
noise. Split top-level workflow permissions down to contents:read and
elevate packages:write / security-events:write per job instead of at the
workflow level. Strip npm/npx/yarn/corepack from the Docker runtime stage
since they are never invoked at runtime (node server.js only) and were
the source of the only CRITICAL/HIGH findings in the current image.

Co-authored-by: James Maes <jmaes@dmdbrands.com>
2026-07-29 11:10:16 -05:00
james.maes f567d9b613 Merge pull request #30 from KofTwentyTwo/story/north-star-content-cleanup
Truthful north-star relaunch: marketing-site content cleanup
2026-07-29 09:41:51 -05:00
James Maes 156dea9e51 fix(site): real GitHub-follow CTA, GitHub icon, de-risk competitor pricing
Replace the decorative "Notify me at launch" email form (local state only,
no backend) with an honest CTA: watch the GitHub repo for releases, or see
the roadmap. Add a proper GitHub brand mark (GithubIcon) since lucide-react
has no GitHub glyph, and use it everywhere a link claims to go to GitHub,
including the header CTA that previously said "Notify Me at Launch" while
actually linking to GitHub.

Re-verify competitor pricing cited across the /vs comparison pages: correct
stale Airmail, Canary Mail, Spark Mail, and Microsoft 365 figures against
current vendor pricing, soften Superhuman's now multi-tiered pricing to a
non-committal range, and add a "pricing as of 2026, check the vendor" caveat
next to every competitor price on the hub and detail pages.
2026-07-29 09:39:58 -05:00
James Maes 85d230f584 feat(site): north-star /vs positioning + docs reframe (chunk 3/3)
Reframe the /vs comparison hub and all 9 competitor pages from
head-to-head "beats X today" claims into honest design/architecture
positioning against the vision (local-first daemon, one gRPC contract
for future clients, NSQL rules, WORM audits), gated per-row by real
status instead of blanket "Yes" checks, with Notify-me/GitHub/roadmap
CTAs replacing "Download Latest Release".

Reframe the docs section: keep and correct what's genuinely real
(build-from-source quickstart, NSQL grammar matched to the actual
parser, export formats/flags matched to the real CLI, the WORM ledger,
automatic corruption recovery), mark account-setup/interfaces/mcp/
html-rendering as planned with an "intended experience" framing, add
a pre-alpha notice to the docs landing page, and scrub fabricated
benchmarks, invented crypto/feature claims, and real-looking personal
names/emails.
2026-07-29 08:44:26 -05:00
James Maes e1f20216f6 feat(site): north-star dedicated pages + hub content (chunk 2/3)
Rewrite the dedicated feature pages and three shared hub components to
sell the vision without claiming shipped status for unbuilt work.

- interfaces: reframe the four interfaces as one-contract vision; CLI
  is available-now, GUI/TUI/MCP are planned. Drop "100% parity" and
  "Featured/Most Popular" badges and the fake per-platform download CTA.
- features: full feature matrix now carries a StatusBadge per row and
  drops every unmeasured benchmark ("<10ms", "microsecond", "100,000+")
  and as-shipped claims for JMAP push, Sixel, and full feature parity.
- SecurityHub/security: keep OS keyring and the WORM audit ledger as
  available-now (both real and verifiable today); reframe at-rest
  encryption, memory zeroization, HTML sandboxing, and the updater as
  planned/in-progress design goals instead of delivered guarantees. Add
  the real vulnerability-reporting policy and correct the ReDoS defense
  description (static pattern rejection, not an invented 50ms timeout).
- McpIntegrationHub/mcp: MCP is a planned Phase-5 client that doesn't
  exist yet; relabel the config sample as a non-functional preview and
  drop language implying an agent can connect today.
- NsqlPlayground/nsql: keep the interactive grammar demo but genericize
  the sample email away from real names/domains, drop invented
  latency/RAM readouts from the in-browser toy evaluator, and frame rule
  execution against live mail as in-progress/planned (real: parser,
  validator, dry-run, and the webhook/audit engine internals).
- about: align the manifesto pillars with real status via StatusBadge;
  replace the third-party credit list's unverified per-maintainer name
  attributions with plain repository links to avoid misattributing real
  people.
- privacy: correct the claim that the local database is encrypted at
  rest (only credentials are, via the OS keyring); scope network/AI
  claims to what's actually implemented.
- terms: clarify Nuncio is source-only pre-alpha software with no
  hosted service, and point the disclaimer at the security page.
2026-07-29 08:22:39 -05:00
James Maes b52405410a feat(site): north-star home + section content
Rewrite the home page hero and section components to sell the vision
without implying the product is installable today.

- Hero: replace Download/Latest Release CTAs with Notify-me, Follow-the-
  build (GitHub), and See-the-roadmap; badge unshipped trust claims.
- DownloadsSection: convert from a release-download panel into a
  follow-the-build / notify-me-at-launch section, plus the real
  build-from-source instructions.
- FourExperiencesSection: mark the CLI available-now and the desktop
  GUI/TUI/MCP client as planned via StatusBadge; drop fake "Most
  Popular" badges and dead download links.
- ParityMatrixSection: reframe "100% parity" as the architecture's
  design goal (one gRPC contract, no drift) and drive per-capability
  status from real engine state instead of a blanket parity checkmark.
- ShellInteractivePreview: label the CLI/TUI/GUI/MCP mockup as a
  product preview, replace the real inbox with genericized sample
  content, and drop invented timing/benchmark numbers.
- ManifestoPillarsSection/ComparisonSection/DocsTeaserSection: reframe
  shipped-sounding claims (encryption, AI policy, benchmarks) as vision
  or badge them against the real status list.
2026-07-29 08:05:14 -05:00
James Maes 8ecbba1a2a feat(site): north-star content system - status badges, in-dev banner, content policy
Lay the foundation the rest of the north-star content cleanup depends on:

- Add CONTENT-POLICY.md capturing the site's three hard guardrails (not
  available today, no invented data as real, in-development status must
  be discoverable) so future page rewrites keep the site honest-but-ambitious.
- Add src/lib/status.ts as the typed, single source of truth for what's
  genuinely available now (build/run nunciod + nuncio-cli from source,
  IMAP/SMTP sync, FTS5 search, MBOX/EML/JSON export, WORM audit chain) vs.
  what's still on the roadmap (JMAP, CalDAV, CardDAV, live filter firing,
  at-rest encryption, HTML sanitization, Desktop/TUI/MCP clients), seeded
  from docs/ROADMAP.md in the engine repo.
- Add StatusBadge (shipped | in-progress | planned | available-now) and an
  AvailableNow convenience wrapper for marking individual claims on a page.
- Add DevStatusRibbon, a site-wide banner rendered from layout.tsx linking
  to the public roadmap, so every route carries the in-development signal.
- Header: add a Roadmap nav link and replace the "Download Latest Release"
  CTA with "Notify Me at Launch" (temporarily pointed at GitHub until a
  #notify section exists).

Also unblock the lint gate itself, which had never been runnable in this
repo (no eslint.config.* existed): add the missing flat config, and
downgrade eslint from ^10.7.0 to ^9.39.5 since eslint-config-next 16.1.6's
bundled plugins (eslint-plugin-react et al.) have no release compatible
with ESLint 10 yet. Fix the react/no-unescaped-entities errors that lint
surfaced once it could actually run.
2026-07-29 07:50:56 -05:00
James Maes a5e84458ac security(deps): resolve all npm security advisories with sharp and postcss overrides 2026-07-23 17:18:57 -05:00
James Maes b91602c4ea feat(downloads): add Stable vs Nightly Snapshot release channel switcher to Downloads section 2026-07-23 15:54:35 -05:00
James Maes 76f4f862e9 docs(features): update feature matrix documentation with JMAP, OpenPGP/SMIME, WASM Plugins, Local LLM, and NLP Calendar 2026-07-23 15:48:02 -05:00
james.maes f28d75423d Merge pull request #1 from KofTwentyTwo/dependabot/github_actions/docker/build-push-action-7
build(deps): bump docker/build-push-action from 5 to 7
2026-07-23 15:32:17 -05:00
james.maes 9068391a21 Merge pull request #2 from KofTwentyTwo/dependabot/github_actions/docker/login-action-4
build(deps): bump docker/login-action from 3 to 4
2026-07-23 15:32:14 -05:00
james.maes eb6d218b5d Merge pull request #3 from KofTwentyTwo/dependabot/github_actions/actions/checkout-7
build(deps): bump actions/checkout from 4 to 7
2026-07-23 15:32:12 -05:00
james.maes 073b11eb52 Merge pull request #4 from KofTwentyTwo/dependabot/github_actions/docker/setup-buildx-action-4
build(deps): bump docker/setup-buildx-action from 3 to 4
2026-07-23 15:32:09 -05:00
james.maes 2807433f91 Merge pull request #8 from KofTwentyTwo/dependabot/npm_and_yarn/multi-3146d5559c
build(deps): bump react and @types/react
2026-07-23 15:32:02 -05:00
james.maes d226d29d05 Merge pull request #10 from KofTwentyTwo/dependabot/npm_and_yarn/lucide-react-1.26.0
build(deps): bump lucide-react from 0.475.0 to 1.26.0
2026-07-23 15:31:57 -05:00
james.maes 2dcc8ad4e6 Merge pull request #11 from KofTwentyTwo/dependabot/npm_and_yarn/eslint-10.7.0
build(deps-dev): bump eslint from 9.39.5 to 10.7.0
2026-07-23 15:31:54 -05:00
James Maes d5c746a4b5 ci(dependabot): configure daily automated version updates for npm and GitHub Actions 2026-07-23 15:30:42 -05:00
dependabot[bot] 96299dac04 build(deps-dev): bump eslint from 9.39.5 to 10.7.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.39.5 to 10.7.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.5...v10.7.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.7.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:29:29 +00:00
dependabot[bot] c7b043b35f build(deps): bump lucide-react from 0.475.0 to 1.26.0
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.475.0 to 1.26.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.26.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 1.26.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:29:17 +00:00
James Maes c202b33eab ci(security): add CodeQL automated static security analysis workflow 2026-07-23 15:29:16 -05:00
dependabot[bot] faedbfea35 build(deps): bump react and @types/react
Bumps [react](https://github.com/react/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 19.2.4 to 19.2.8
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react)

Updates `@types/react` from 19.2.14 to 19.2.17
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/react"
  dependency-version: 19.2.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:28:48 +00:00
James Maes 3cf4efe1f3 feat(branding): add high-res app icon, SVG architecture diagrams, and Homebrew tap installation assets to public site 2026-07-23 15:28:22 -05:00
dependabot[bot] 83d9e1591c build(deps): bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:28:07 +00:00
dependabot[bot] b545814739 build(deps): bump actions/checkout from 4 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:28:05 +00:00
dependabot[bot] fcba71a512 build(deps): bump docker/login-action from 3 to 4
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:28:04 +00:00
dependabot[bot] 9f6d2d176f build(deps): bump docker/build-push-action from 5 to 7
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 20:28:02 +00:00
James Maes 1f4b01e1bd ci(github): add Dependabot automated security dependency updater configuration 2026-07-23 15:27:25 -05:00
James Maes 9497f7ac0f refactor(versioning): remove remaining hardcoded v1.0 and 1.0.0 strings across Hero, Comparison, and Shell preview 2026-07-23 15:20:46 -05:00
James Maes b7ed5e5372 refactor(home): streamline homepage flow by replacing heavy DocsHub inline reader with high-converting DocsTeaserSection pointing to /docs 2026-07-23 15:17:14 -05:00
James Maes f370e56e1c feat(features): update Features page with newly integrated nuncio-contacts crate and CardDAV engine capabilities 2026-07-23 15:16:02 -05:00
James Maes bcd3ea8dad feat(features): restructure Full Feature Matrix page to lead directly with Core Email Engine & Calendar Management features 2026-07-23 15:13:01 -05:00
James Maes 9eb6531c6c feat(docs): expand documentation hub into 10 standalone fully fleshed-out full pages under /docs/* 2026-07-23 15:10:11 -05:00
James Maes 0e1182c3b8 feat(about): render clickable profile pills linking directly to author and maintainer GitHub/public profiles 2026-07-23 15:08:07 -05:00
James Maes b9d66aae78 feat(about): triple-check all third-party credit URLs, adding verified GitHub links and official documentation links for all maintainers 2026-07-23 15:07:34 -05:00
James Maes 816797573f feat(about): add outbound repository URLs and maintainer/author name attributions for all third-party credits 2026-07-23 15:07:02 -05:00
James Maes d9a96c55d2 feat(about): add comprehensive Third-Party Library & Open-Source Ecosystem Credits section to /about page 2026-07-23 15:05:21 -05:00
James Maes 5f84674039 fix(footer): remove GitHub Repository (Website) link from footer 2026-07-23 15:04:21 -05:00
James Maes 7b4a4808e1 feat(docs): fully flesh out Documentation & Knowledge Base Hub with 10 in-depth technical guides 2026-07-23 15:03:34 -05:00
James Maes f31b124393 refactor(cta): standardize hardcoded v1.0.0 references to dynamic Latest Release CTAs and GitHub /releases/latest URLs 2026-07-23 15:02:20 -05:00
James Maes 43db51074b feat(security): fully flesh out /security into a comprehensive Sovereign Security & Privacy Architecture Whitepaper 2026-07-23 15:01:03 -05:00
James Maes e79e3f9cf1 fix(ui): apply exact homepage card UI alignment rules to /interfaces page 2026-07-23 14:59:25 -05:00
James Maes cf1b0a1fd9 docs(features): showcase universal portable data export and automated CLI backup capabilities 2026-07-23 14:58:44 -05:00
James Maes c6ffee6a47 docs(mcp): emphasize core MCP advantages: multi-account aggregation, security gateway, WORM audits, and microsecond speed 2026-07-23 14:57:10 -05:00
James Maes dbecd37ef8 fix(ui): apply uniform card alignment rules across ManifestoPillarsSection, SecurityHub, and ComparisonPageTemplate 2026-07-23 14:54:48 -05:00
James Maes b7f8cb2893 docs: add direct link to full NSQL language documentation in NsqlPlayground 2026-07-23 14:53:33 -05:00
James Maes c80a4496c7 feat(nsql): add COPY TO 'folder' validation and parsing support to NsqlPlayground 2026-07-23 14:53:00 -05:00
James Maes 440a12dc46 feat(nsql): implement strict 6-Pass NSQL AST Validator engine in NsqlPlayground 2026-07-23 14:51:09 -05:00