Skip to content

feat(repo): manage description and topics as code - #55

Merged
idvoretskyi merged 2 commits into
mainfrom
feat/repo-settings-as-code
Sep 8, 2026
Merged

feat(repo): manage description and topics as code#55
idvoretskyi merged 2 commits into
mainfrom
feat/repo-settings-as-code

Conversation

@idvoretskyi

Copy link
Copy Markdown
Owner

Problem

The GitHub repository description was stale:

Generic Ubuntu 24.04 development environment template for GitHub Codespaces

The devcontainer has been on Ubuntu 26.04 for a while (.devcontainer/Dockerfile, README "Features"). Topics were also empty.

Change

Adds .github/settings.yml so repo metadata is version controlled and reviewable instead of drifting silently:

  • Corrected description (Ubuntu 26.04, mentions the actual toolchain)
  • Six topics: devcontainer, codespaces, ubuntu, template, opencode, claude-code
  • Existing merge settings recorded (squash-only, delete branch on merge)

Also lists the new file in the AGENTS.md repository-layout tree.

Deliberately scoped to metadata — there is no branches: block, so existing branch protection rules are untouched.

Caveat

This file only takes effect if the Settings GitHub App is installed on the repo. I could not verify installation (/installation requires an App JWT). The live description has been corrected directly via gh repo edit so it is accurate regardless; this file is the durable source of truth going forward.

Validation

python3 -c 'import yaml; yaml.safe_load(open(".github/settings.yml"))'

Passes. Not a workflow file, so the SHA-pinning rule does not apply.

The GitHub repository description still advertised Ubuntu 24.04 while the
devcontainer moved to Ubuntu 26.04. Capture the description, topics and
merge settings in .github/settings.yml so this metadata is version
controlled and reviewable rather than drifting silently.

Scoped to metadata only; no branches: block, so existing branch
protection is untouched.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The configuration would unintentionally disable currently enabled repository features.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds Settings GitHub App configuration to manage repository metadata and documents the new file.

Changes:

  • Defines description, topics, and merge settings.
  • Updates the repository layout documentation.
  • Requires preserving existing wiki/projects settings and correcting the misleading trigger description.
File summaries
File Review
AGENTS.md Documents the new settings file.
.github/settings.yml Adds repository settings as code. Must avoid unintentionally disabling wiki/projects; trigger comment also needs correction.
Review details

Suppressed comments (1)

.github/settings.yml:4

  • The app does not apply settings on every default-branch push; it returns unless .github/settings.yml was added or modified. Reword this trigger description so operators are not led to expect unrelated pushes to reconcile manual metadata drift.
# Applied by the "Settings" GitHub App (https://github.com/apps/settings)
# on every push to the default branch. If the app is not installed on this
# repository, this file is inert and metadata must be set manually
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/settings.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Ihor Dvoretskyi <ihor@linux.com>
@idvoretskyi
idvoretskyi merged commit b15799d into main Sep 8, 2026
8 checks passed
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