Skip to content

allabur/.github

Repository files navigation

.github

Default community health files, AI agent guidelines, and reusable GitHub Actions workflows for all repositories under the allabur account.

Contents

📋 Community Health Files

  • CODEOWNERS: Default code ownership
  • PULL_REQUEST_TEMPLATE.md: Standardized PR format
  • ISSUE_TEMPLATE/: Bug reports, feature requests, refactoring
  • labels.yml: Consistent label definitions

🤖 AI Agent Configuration

  • copilot-instructions.md: Main instructions for GitHub Copilot
  • copilot/: Modular instruction files
    • my-code.instructions.md - Coding standards (PEP 8, type hints, error handling)
    • my-tests.instructions.md - Testing guidelines (pytest, AAA pattern, coverage)
    • my-docs.instructions.md - Documentation standards (NumPy-style docstrings)
    • my-ci-cd.instructions.md - CI/CD workflows (conventional commits, semantic release)
    • my-uv-environment.instructions.md - uv package management guidelines
    • my-review.instructions.md - Code review best practices
    • my-commit-messages.instructions.md - Commit message conventions
    • my-pull-request.instructions.md - PR templates and workflow
    • taming-copilot.instructions.md - Meta-instructions for AI control
  • instructions/: Legacy modular guidelines (being migrated to copilot/)
  • prompts/: Task-specific reusable prompts
    • /analyze-dataframe - Data quality assessment
    • /document-function - Generate NumPy docstrings
    • /generate-pytest - Create comprehensive tests
    • /create-latex-table - Format tables for papers
    • /optimize-code - Performance optimization
    • /review-commit - Conventional commit messages
    • See prompts/README.md for full list
  • chatmodes/: AI personas for specialized contexts
    • 4.1-Beast mode for autonomous agent behavior

🛠️ Scripts & Templates

  • scripts/: Automation scripts
    • vscode-setup.sh - Sync Copilot instructions to VS Code
    • migrate-to-uv.sh - Migrate projects from conda/mamba/pip/Poetry to uv
    • See scripts/README-vscode-setup.md for details
  • templates/: Project templates
    • pyproject.toml - Python project configuration template following PEP 621

⚙️ Workflows

  • ci.yml: Continuous integration (ruff, mypy, pytest)
  • release.yml: Semantic versioning releases from main
  • pre-release.yml: RC releases from develop
  • dependabot.yml: Automated dependency updates

📚 Reference Projects

📖 Documentation

Quick Start

For Python Projects (New Project)

# 1. Install uv (once)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. Create new project
uv init myproject && cd myproject

# 3. Copy pyproject.toml template (optional)
cp /path/to/dotfiles/.github/templates/pyproject.toml .

# 4. Add dependencies
uv add pandas numpy scikit-learn
uv add --dev pytest ruff mypy

# 5. Sync and verify
uv sync
uv run pytest -q && uv run ruff check . && uv run mypy .

For Python Projects (Migrate Existing)

# Use the migration script
/path/to/dotfiles/.github/scripts/migrate-to-uv.sh --help

# Quick migration with backup
/path/to/dotfiles/.github/scripts/migrate-to-uv.sh --keep-old --python 3.13

# Verify after migration
uv run pytest && uv run ruff check .

Using Copilot Prompts

1. Open file in VS Code
2. Press Cmd+I (Ctrl+I on Windows)
3. Type / to see available prompts
4. Select prompt or type command (e.g., /analyze-dataframe)

Conventional Commits

feat(scope): add new feature
fix(scope): resolve bug
docs: update documentation
test: add missing tests

Usage Guide

Setting Up VS Code

Sync Copilot instructions to VS Code:

cd /path/to/dotfiles/.github
./scripts/vscode-setup.sh --verbose

This creates symlinks from .github/copilot/, .github/prompts/, and .github/chatmodes/ to your VS Code prompts directory.

Using the pyproject.toml Template

# Copy template to new project
cp /path/to/dotfiles/.github/templates/pyproject.toml /path/to/myproject/

# Edit metadata
cd /path/to/myproject
# Update name, version, description, authors, etc.

# Initialize with uv
uv sync

Migrating Projects to uv

The migration script supports:

  • conda/mamba (environment.yml) → uv
  • pip (requirements.txt) → uv
  • Poetry (pyproject.toml) → uv (with manual adjustments)

See scripts/README-vscode-setup.md for detailed usage.

Integration

These defaults apply automatically to all repositories under allabur account that don't have their own versions.

Override in Specific Repos

Create .github/copilot-instructions.md in your repo to:

  • Override completely, OR
  • Extend: Reference these defaults and add project-specific instructions

Configure Prompt Auto-Suggestions

Add to your VS Code settings.json:

"chat.promptFilesRecommendations": {
  "**/*.py": ["prompts/document-function.prompt.md"],
  "**/*.ipynb": ["prompts/analyze-dataframe.prompt.md"]
}

See docs/prompt-recommendations-config.md for full configuration.

Architecture

This repository serves three purposes:

  1. Default Health Files: GitHub automatically uses these for any repo without its own versions
  2. Reusable Workflows: Shared CI/CD that can be referenced from other repos
  3. AI Agent Guidelines: Centralized instructions, prompts, and modes for consistent AI assistance

Contributing

See individual READMEs:

Resources

About

Default community health files, AI agent guidelines, and reusable GitHub Actions workflows for all repositories under the allabur account.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages