Skip to content

docs(plan): Epic B1 design — multi-sheet XLSX as the first paid Pro feature - #63

Merged
thiagoluga merged 1 commit into
masterfrom
docs/epic-b1-multisheet-pro-design
Jun 30, 2026
Merged

docs(plan): Epic B1 design — multi-sheet XLSX as the first paid Pro feature#63
thiagoluga merged 1 commit into
masterfrom
docs/epic-b1-multisheet-pro-design

Conversation

@thiagoluga

Copy link
Copy Markdown
Owner

Design / decision PR — no feature code yet. Epic A (dynamic path) is done; this opens Epic B.

Per your calls: start with multi-sheet XLSX (B1), shipped as a paid, separate "Pro" package (commercial license), with the OSS core staying MIT.

Because this introduces a commercial-license boundary and an architecture extension (multi-section output), I'm recording the design for your approval before writing any code or license file.

What's here (docs only)

  • docs/epic-b1-multisheet-pro.md — the blueprint:
    • why multi-sheet doesn't fit the v1 "one schema, one filter, project once" model;
    • the single-pass multi-section architecture (source read once; per-sheet filter + columns);
    • the OSS/Pro split — a small generic multi-section hook in MIT Core; the XLSX workbook writer + fluent API in the commercial NeoReports.Xlsx.Pro;
    • a fluent API sketch (XlsxWorkbook(wb => wb.Sheet("Approved", ...).Sheet("Rejected", ...)));
    • the B1.1–B1.5 implementation breakdown.
  • DECISIONS.mdD22 updated (multi-sheet = first paid feature) + D27 new (Pro package model: separate package, commercial license, no runtime enforcement in v1, excluded from the OSS NuGet release).
  • PLAN.md — Epic B reshaped.

Open sub-decisions I need from you (in the doc)

  1. Package nameNeoReports.Xlsx.Pro (proposed)?
  2. License type — source-available (visible, paid to use) vs closed-source? The legal text is yours; I'll scaffold a placeholder marked commercial.
  3. License enforcement — none for now (recommended) vs a license-key gate later?
  4. OSS/Pro boundary — OK that the generic multi-section hook is MIT (makes a free hand-rolled multi-section possible; the polished XLSX writer is the Pro value)?
  5. CSV behavior with sections — reject with a clear error in v1 (recommended)?

Once you approve the approach (and answer the above), I'll proceed with B1.1 (the OSS multi-section hook), then B1.2 (the Pro package).

…eature

Records the maintainer decision to start Epic B with multi-sheet XLSX, shipped as a
separate commercial "Pro" package (OSS core stays MIT). Adds the design blueprint
(docs/epic-b1-multisheet-pro.md) covering the single-pass multi-section architecture, the
OSS/Pro split, the fluent API sketch, the open sub-decisions, and a B1.1-B1.5 PR breakdown.

DECISIONS.md: D22 updated (multi-sheet = first paid feature) and D27 added (Pro package
model: separate package, commercial license, no runtime enforcement in v1, excluded from
the OSS release). PLAN.md: Epic B reshaped with the B1 steps. Docs only.
@sonarqubecloud

Copy link
Copy Markdown

@thiagoluga
thiagoluga merged commit 90b52cf into master Jun 30, 2026
5 checks passed
@thiagoluga
thiagoluga deleted the docs/epic-b1-multisheet-pro-design branch June 30, 2026 23:17
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