Skip to content

Improve NuGet package items, automate publishing, add library comparison, and enhance documentation site#70

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/improve-nuget-packaging-and-docs
Draft

Improve NuGet package items, automate publishing, add library comparison, and enhance documentation site#70
Copilot wants to merge 2 commits into
mainfrom
copilot/improve-nuget-packaging-and-docs

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 28, 2026

Several cross-cutting improvements to the repository's packaging, documentation, and discoverability.

Changes Made

1. NuGet package improvements (src/FSharp.Finance.Personal.fsproj)

  • Added PackageTags with relevant keywords (fsharp, finance, apr, amortisation, mortgage, loan, hire-purchase, pcp, credit-card, uk, regulatory) for better NuGet discoverability
  • Added PackageReleaseNotes pointing to CHANGELOG.md
  • Improved PackageDescription to clearly describe the library's capabilities
  • XML doc comments were already enabled via GenerateDocumentationFile=true, ensuring IntelliSense works in consuming projects

2. GitHub Actions — automated tag-triggered publishing (.github/workflows/nuget.yml)

  • Added a push: tags: trigger so the workflow fires automatically when a version tag (e.g. 2.5.6) is pushed, in addition to the existing workflow_dispatch
  • VERSION env var resolves from github.ref_name on a tag-triggered run, or from the manual input on workflow_dispatch
  • "Commit changes" and "Create Git tag" steps are conditionally skipped (if: github.event_name == 'workflow_dispatch') when triggered by a tag push to avoid conflicts

3. README library comparison section (README.md)

  • Added a feature comparison table vs. ExcelFinancialFunctions and QuantLib
  • Added prose descriptions of each competing library's scope and limitations
  • Added a "Why choose this library?" section covering idiomatic F# types, UK regulatory accuracy, full product lifecycle coverage, and open development

4. Documentation worked examples (docs/)

  • examplePersonalLoan.fsx — £5,000 unsecured personal loan over 24 months at 9.9% APR
  • exampleMortgage.fsx — £200,000 residential repayment mortgage over 25 years at 4.5%
  • examplePcp.fsx — £22,000 PCP car finance with a £10,000 GFV balloon payment
  • exampleCreditCard.fsx — £2,000 credit card balance cleared at £50/month at 24.9% APR
  • docs/index.md updated to link to all four new examples under a "Product Examples" section

Copy link
Copy Markdown
Owner

@simontreanor simontreanor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot continue

…son section, and worked doc examples

Agent-Logs-Url: https://github.com/simontreanor/FSharp.Finance.Personal/sessions/ecf32e77-40ac-4616-8bcc-27ba7320c1d7

Co-authored-by: simontreanor <4550815+simontreanor@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Apr 29, 2026

@copilot continue

Done — here's a summary of what was implemented in commit b65d9ed:

1. NuGet package improvements (src/FSharp.Finance.Personal.fsproj):

  • Added PackageTags (fsharp, finance, apr, amortisation, mortgage, loan, hire-purchase, pcp, credit-card, uk, regulatory)
  • Added PackageReleaseNotes pointing to CHANGELOG.md
  • Improved PackageDescription to better describe the library's capabilities
  • GenerateDocumentationFile=true was already in place, so XML doc comments are already included in the NuGet package

2. GitHub Actions — tag-triggered publishing (.github/workflows/nuget.yml):

  • Added a push: tags: trigger matching semver tags (e.g. 2.5.6) alongside the existing workflow_dispatch
  • VERSION resolves from github.ref_name on a tag push, or from the manual input
  • "Commit changes" and "Create Git tag" steps are guarded with if: github.event_name == 'workflow_dispatch' to avoid conflicts when the tag already exists

3. README comparison section (README.md):

  • Added a comparison table with ExcelFinancialFunctions and QuantLib
  • Added individual descriptions of each library's scope and limitations
  • Added a "Why choose this library?" section covering idiomatic F# types, UK regulatory accuracy, full product lifecycle coverage, and open development

4. Documentation worked examples (docs/):

  • examplePersonalLoan.fsx — £5,000 unsecured loan, 24 months, 9.9% APR
  • exampleMortgage.fsx — £200,000 repayment mortgage, 25 years, 4.5%
  • examplePcp.fsx — £22,000 PCP car finance with £10,000 GFV balloon payment
  • exampleCreditCard.fsx — £2,000 credit card balance cleared at £50/month, 24.9% APR
  • docs/index.md updated to link to all four new examples under a "Product Examples" section

Copilot AI changed the title [WIP] Improve NuGet package items and enhance documentation site Improve NuGet package items, automate publishing, add library comparison, and enhance documentation site Apr 29, 2026
Copilot AI requested a review from simontreanor April 29, 2026 22:33
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.

Cross-cutting: NuGet improvements, documentation site, and library comparison

2 participants