Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .devcontainer/apt-packages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
coreutils
direnv
figlet
findutils
gh
git
links
mawk
sed
time
vim
54 changes: 54 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
// "build": {
// "dockerfile": "Dockerfile",
// // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
// // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
// // "args": { "VARIANT": "ubuntu-22.04" }
// },

// Configure tool-specific properties.
// Note: Keep the list in alphabetical order.
"customizations": {
"vscode": {
"extensions": [
"bierner.markdown-mermaid",
"DavidAnson.vscode-markdownlint",
"GitHub.copilot",
"GitHub.copilot-chat",
"GitHub.vscode-github-actions",
"vscodevim.vim",
"vsls-contrib.codetour",
"xaver.clang-format"
]
}
},
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers-contrib/features/actionlint:1": {},
"ghcr.io/devcontainers-contrib/features/node-asdf:0": {},
"ghcr.io/devcontainers-extra/features/pipx-package:1": {},
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/python:1": {},
"ghcr.io/guiyomh/features/vim:0": {},
"ghcr.io/jungaretti/features/make:1": {},
"ghcr.io/jungaretti/features/ripgrep:1": {}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",

// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:jammy",

"postCreateCommand": "time pip install -r .devcontainer/requirements.txt && time pipx install --include-deps --force ansible && time pipx inject ansible -r .devcontainer/requirements-ansible.txt && time pre-commit install",

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
// Note: Python dependencies can be added in the `requirements.txt` file.
"onCreateCommand": "sudo apt update && xargs -a .devcontainer/apt-packages.txt sudo apt-get install -y"
}
4 changes: 4 additions & 0 deletions .devcontainer/requirements-ansible.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Python packages injected into the pipx-managed Ansible environment.
# Keep dependencies sorted alphabetically.
docker>=7.1
requests==2.32.5
26 changes: 26 additions & 0 deletions .github/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .github Directory

Use this as the entry point for agent work, and follow linked catalogs when relevant.

## Directory-Specific Agent files

Read these Agent files when working in corresponding dirs:

- [`workflows/AGENTS.md`](workflows/AGENTS.md)

## Additional key files

- [.github/FIREWALL.md](FIREWALL.md): firewall configuration and recommended hosts for agents.

## Hardened NEVER List

- **NEVER create `.github/README.md`**: GitHub renders `.github/README.md` with the highest priority. Creating it will
override the main `README.md` on the repository homepage and profile page.

## Troubleshooting

TBA

## Additional notes

- Keep this Agent file up-to-date.
43 changes: 43 additions & 0 deletions .github/FIREWALL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Firewall Allowlist for Copilot Agents

If your agent runs behind a restrictive firewall, allow these hosts. Always check the official guidance for updates.

```plaintext
agents.md
aka.ms
ansible.com
api.github.com
archive.ubuntu.com
cache.nixos.org
channels.nixos.org
code.visualstudio.com
codeload.github.com
contributor-covenant.org
dl-cdn.alpinelinux.org
dl.winehq.org
freecodecamp.org
galaxy.ansible.com
gh.io
ghcr.io
github.com
guides.github.com
img.shields.io
hashicorp.com
marketplace.visualstudio.com
npm.pkg.github.com
objects.githubusercontent.com
pkg-containers.githubusercontent.com
raw.githubusercontent.com
releases.nixos.org
registry.npmjs.org
support.github.com
tldrlegal.com
uploads.github.com
user-images.githubusercontent.com
yaml-multiline.info
web.archive.org
```

Note: Keep the list sorted alphabetically for easier maintenance.

Reference: <https://gh.io/copilot/firewall-config>
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: 🐛 Bug report
description: Report a bug or regression
title: '[BUG]: '
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report 🤗
Please check for existing open or closed issues before submitting.
- type: textarea
id: bug-description
attributes:
label: Description
description: Describe what happened and what you expected to happen.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: List the steps needed to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |-
Provide any additional context such as logs, screenshots, links, or scenarios
that can help reproduce and resolve the issue.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: ✨ Feature request
description: Request a feature or enhancement
labels:
- enhancement
title: '[FEAT]: '
body:
- type: markdown
attributes:
value: |
Please check for existing open or closed issues before submitting this
feature request.
- type: textarea
id: description
attributes:
label: Description
description: Describe the feature or enhancement you would like to see.
validations:
required: true
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |-
Share any additional context, proposed solutions, links, or screenshots
that can help us evaluate the request.
17 changes: 17 additions & 0 deletions .github/actionlint-matcher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "actionlint",
"pattern": [
{
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
}
]
}
62 changes: 62 additions & 0 deletions .github/pre-commit-matcher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"problemMatcher": [
{
"owner": "pre-commit-yamllint",
"severity": "error",
"pattern": [
{
"regexp": "^(.+\\.ya?ml)$",
"file": 1
},
{
"regexp": "^\\s+(\\d+):(\\d+)\\s+(error|warning)\\s+(.+?)\\s+\\((.+?)\\)$",
"line": 1,
"column": 2,
"severity": 3,
"message": 4,
"code": 5,
"loop": true
}
]
},
{
"owner": "pre-commit-flake8",
"severity": "error",
"pattern": [
{
"regexp": "^(.+?):(\\d+):(\\d+):\\s+(\\w\\d+)\\s+(.+)$",
"file": 1,
"line": 2,
"column": 3,
"code": 4,
"message": 5
}
]
},
{
"owner": "pre-commit-codespell",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+?):(\\d+):\\s+(.+\\s+==>\\s+.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
},
{
"owner": "pre-commit-generic",
"severity": "error",
"pattern": [
{
"regexp": "^(.+?):(\\d+)(?::(\\d+))?:\\s+(.+)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}
9 changes: 9 additions & 0 deletions .github/workflows/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Workflows Directory

This directory contains GitHub Actions workflows for the repository.

## Agent Directives

- Ensure all workflows have descriptive names.
- Use `actionlint` to validate changes to workflow files.
- Follow the established pattern for job permissions and timeouts.
Loading
Loading