Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 3, 2025

Initialize repository as a Go library package with EUPL-1.2 license, release automation via goreleaser, and documentation infrastructure using mkdocs-material for GitHub Pages.

License & Module

  • EUPL-1.2 license text
  • Go module github.com/Snider/Poindexter
  • .gitignore for Go/Python artifacts

Sorting Library

Comprehensive sorting utilities with generic support:

  • Basic: SortInts, SortStrings, SortFloat64s (+ descending variants)
  • Generic custom comparator: SortBy[T](data, less func(i,j int) bool)
  • Generic key extraction: SortByKey[T,K](data, key func(T) K) with descending variant
  • Binary search: BinarySearch, BinarySearchStrings
  • Validation: IsSorted* family
type Product struct { Name string; Price float64 }
products := []Product{{"Apple", 1.50}, {"Banana", 0.75}, {"Cherry", 3.00}}

// Sort by extracted key
poindexter.SortByKey(products, func(p Product) float64 { return p.Price })

// Or custom comparison
poindexter.SortBy(products, func(i, j int) bool {
    return products[i].Price < products[j].Price
})

Release Infrastructure

  • .goreleaser.yml: Multi-platform builds (linux/darwin/windows, amd64/arm64)
  • Workflows: release.yml (tag-triggered), test.yml, docs.yml (GitHub Pages)

Documentation

  • mkdocs.yml: Material theme configuration
  • Comprehensive docs: index, getting started, API reference, license info
  • Auto-deploy to GitHub Pages on main branch push
Original prompt

can you add the EUPL-1.2 oss licence, and bootstrap the repo for a Go libary package, using goreleaser and mkdocs-material for documentation github pages. ty.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits November 3, 2025 15:37
…unctions

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
Copilot AI changed the title [WIP] can you add the EUPL-1.2 oss licence, and bootstrap the repo for a Go libary package, using goreleaser and mkdocs-material for documentation github pages. ty. Bootstrap Go library with EUPL-1.2, goreleaser, mkdocs-material, and sorting utilities Nov 3, 2025
Copilot AI requested a review from Snider November 3, 2025 15:42
@codecov
Copy link

codecov bot commented Nov 3, 2025

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@Snider Snider marked this pull request as ready for review November 3, 2025 15:52
@Snider Snider merged commit dbcad82 into main Nov 3, 2025
3 checks passed
@Snider Snider deleted the copilot/fix-631881-1088881000-1ebcc534-1620-4cc1-a3b4-d4aabc78c0dc branch November 3, 2025 15:53
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.

2 participants