Skip to content

Instantly share code, notes, and snippets.

View davesharpe13's full-sized avatar

davesharpe13 davesharpe13

View GitHub Profile
@davesharpe13
davesharpe13 / project_template.md
Last active January 11, 2026 14:01
Project template markdown file for spec kit repos

Project Template

Location: Repository root

Templates for extension repository documentation for spec kit repos (specify init ...) All SQL examples in documentation MUST have corresponding regression tests in sql/doc_examples.sql.

Repository Structure

@davesharpe13
davesharpe13 / LICENSE
Created January 7, 2026 13:33
MIT LICENSE text file
MIT License
Copyright (c) 2026 dataStone Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@davesharpe13
davesharpe13 / code_review_checklist.md
Created January 7, 2026 13:04
Code review checklist (for spec kit repos)

Code Review Checklist

This checklist supplements the PostgreSQL Extension Development Constitution and C++ Client Application Development Constitution. All code submissions MUST pass these checks before merge.

Pre-Submission Requirements

All code submissions MUST:

@davesharpe13
davesharpe13 / constitution.md
Last active January 7, 2026 13:29
Spec kit C++ constitution.md

C++ Client Application Development Constitution

Location: .specify/memory/constitution.md

This constitution governs C++ code for client-side tools, utilities, and applications that interact with PostgreSQL.

I. Language Standard

C++ code MUST use C++14 standard. Code MUST emphasize clarity and modern idiomatic C++.

@davesharpe13
davesharpe13 / pr-merge-strategies.md
Created December 30, 2025 11:38
PR Merge Strategies for PostgreSQL Extensions

PostgreSQL Extension Development: Pull Request Merge Strategies

TL;DR

Squash is often preferred since features are typically cohesive units. However, if commits represent distinct logical steps (e.g., "add function," "add tests," "optimize"), rebase preserves that structure.

Branch Feature Development

  1. Publish Branch pushes your local branch to the remote repository (GitHub) for the first time
  2. After publishing, continue making commits locally and push to update the remote branch
@davesharpe13
davesharpe13 / copilot-instructions.md
Last active January 7, 2026 03:43
PostgreSQL development copilot instructions markdown

GitHub Copilot Instructions

Developer Context

This developer primarily works in C/C++ and SQL for adding new features to PostgreSQL databases.

Code Style

  • C/C++ in K&R style but with 2 space indentation.
  • C/C++ naming MUST use camelCase for functions/variables, keeping names meaningful but concise (prefer procData over processIncomingDataFromClient). Except for #defines are UPPER_CASE.

GitHub Copilot Instructions

Developer Context

This developer primarily works in C/C++ and SQL for adding new features to PostgreSQL databases.

Code Style

  • C/C++ in K&R style but with 2 space indentation.
  • C/C++ naming MUST use camelCase for functions/variables, keeping names meaningful but concise (prefer procData over processIncomingDataFromClient). Except for #defines are UPPER_CASE.
@davesharpe13
davesharpe13 / constitution.md
Last active January 7, 2026 13:30
Spec kit PostgreSQL Extension Development constitution.md v2.0.0

PostgreSQL Extension Development Constitution

Location: .specify/memory/constitution.md

For C++ client application repositories, use constitution-cpp.md instead.

I. Code Style & Formatting

C Code (PostgreSQL Backend Extensions)

{"name":"a","settings":"{\"settings\":\"{\\n \\\"terminal.integrated.profiles.linux\\\": {\\n \\\"bash\\\": {\\n \\\"path\\\": \\\"bash\\\",\\n \\\"icon\\\": \\\"terminal-bash\\\"\\n },\\n \\\"zsh\\\": {\\n \\\"path\\\": \\\"zsh\\\"\\n },\\n \\\"fish\\\": {\\n \\\"path\\\": \\\"fish\\\"\\n },\\n \\\"tmux\\\": {\\n \\\"path\\\": \\\"tmux\\\",\\n \\\"icon\\\": \\\"terminal-tmux\\\"\\n },\\n \\\"pwsh\\\": {\\n \\\"path\\\": \\\"pwsh\\\",\\n \\\"icon\\\": \\\"terminal-powershell\\\"\\n },\\n \\\"bash (2)\\\": {\\n \\\"path\\\": \\\"/usr/bin/bash\\\",\\n \\\"args\\\": [\\\"-l\\\"]\\n }\\n },\\n \\\"terminal.integrated.defaultProfile.linux\\\": \\\"bash (2)\\\",\\n \\\"editor.guides.indentation\\\": false,\\n \\\"hexeditor.columnWidth\\\": 16,\\n \\\"hexeditor.showDecodedText\\\": true,\\n \\\"hexeditor.