Apollo Download ManagerApollo Download Manager
On this page

Repository settings

The GitHub settings for this repository: each one's value, why, whether the current plan offers it, and a read-only command that shows it (#7). Only the PO changes settings. Agents read them and report.

Where things stand

  • Owner and visibility: since 2026-10-31 the repository is public and owned by the organisation Singlbase-Technologies-Limited (transferred from vincentarisawork; old links redirect). Public repositories get rulesets, environments with required reviewers, and the security features below on every plan, and their Actions minutes are free. The organisation's own policies can override a repository setting; where one does, the setting is greyed out with a note.

  • Applied by the PO on 2026-10-31, in the five phases of #90's checklist, and checked from screenshots and the API; earlier checks on 2026-10-30 with the commands below. The agent account has Write access, not Admin, so the commands marked Admin only work with the PO's account. They read and change nothing.

  • State column: On means the setting has the recommended value. Recommended means the PO hasn't applied it yet. Not yet means it waits for something named in the row.

Set R=repos/Singlbase-Technologies-Limited/apollo-download-manager before running the commands.

Merging

SettingValueStateWhyCheck
Allow squash mergingOn; merge commits and rebase merging offOnOne commit per issue on main (DEVELOPMENT_WORKFLOW.md)gh api $R --jq '{allow_squash_merge, allow_merge_commit, allow_rebase_merge}' → true, false, false
Automatically delete head branchesOnOnBranches are deleted after mergegh api $R --jq .delete_branch_on_merge → true
Allow auto-mergeOffOnThe PO decides each mergegh api $R --jq .allow_auto_merge → false

Source: configuring pull request merges.

Rules for the main branch

A ruleset named Main targets the default branch, is Active, and has no bypass list (created by the PO on 2026-10-30). Rulesets are in Settings → Rules → Rulesets (about rulesets, available rules).

RuleValueStateWhy
Restrict deletionsOnOnmain can't be deleted
Block force pushesOnOnmain's history is never rewritten
Require a pull request before mergingOn, 0 approvalsOn (2026-10-31)Stops a direct push to main on the server, not only in the agent's guard (CLAUDE.md). With 0 approvals, the PO can still merge their own PRs; GitHub never lets an author approve their own PR
Require linear historyOnOn (2026-10-31)Matches squash-only merging; refuses a merge commit pushed by mistake
Require status checks to pass (ci-required)OnNot yet: after PR checks have run once on a pull request (#236), so GitHub offers the checkPR checks don't start on a pull request now, so a required check would stay pending and block every merge. Turn it on when the automatic triggers come back (CI.md)
Require conversation resolutionOnOptionalEvery review comment answered before merging
Bypass listEmptyOnNobody, the PO included, skips the rules by accident. The PO can still change the ruleset
Tag rule for v*Only the PO creates, updates or deletes release tagsOn (2026-10-31): the Release Tags ruleset restricts creations, updates and deletions and blocks force pushes on v*; Organization admin and Repository admin may bypass, which means the PO. The agent can't create a release tagReleases are tags on verified main commits
CODEOWNERS enforcementOffNot yet: one maintainerNeeds a second reviewer to mean anything (DEVELOPMENT_WORKFLOW.md)

Check, with the agent's account or the PO's:

gh api $R/rulesets --jq '.[] | {name, enforcement}'   # → Main and Release Tags, both "active"
gh api $R/rules/branches/main --jq '[.[].type]'       # → ["deletion","non_fast_forward","required_linear_history","pull_request"]

Actions

SettingValueStateWhyCheck (Admin)
Workflow permissionsRead repository contentsOnEach job asks for any write access it needs in its own permissions: (CI.md)gh api $R/actions/permissions/workflow → "default_workflow_permissions":"read"
Allow Actions to create and approve pull requestsOffOnNo workflow approves its own changesthe same command → "can_approve_pull_request_reviews":false
Allowed actionsAllow actions created by GitHub onlyOn (2026-10-31): Singlbase's and GitHub's actions; Marketplace creators offThe workflows use only actions/checkout, actions/setup-node, actions/cache, actions/upload-artifact and actions/download-artifact, plus the repository's own composite actions. Narrowing the list stops a third-party action from being added without a settings changegh api $R/actions/permissions → "allowed_actions":"selected", and gh api $R/actions/permissions/selected-actions → "github_owned_allowed":true
Require actions to be pinned to a full-length commit SHAOnOn (2026-10-31)Every action is already pinned to a SHA (DEPENDENCIES.md); this makes GitHub refuse one that isn'tgh api $R/actions/permissions → "sha_pinning_required":true
Approval for fork pull request workflowsRequire approval for first-time contributorsOn (2026-10-31)A stranger's first pull request runs no workflow until a maintainer approves it (OPEN_SOURCE.md)Settings → Actions → General

Source: managing GitHub Actions settings for a repository.

The release environment

SettingValueStateWhy
Environment releaseRequired reviewer: the PO, self-review allowed; administrators can't bypass; deployments only from v* tagsOn (2026-10-31)The release workflow's draft job waits here for the PO's approval (RELEASE_PROCESS.md)

Check: gh api $R/environments/release --jq '{can_admins_bypass, rules: [.protection_rules[].type]}' → false, ["required_reviewers","branch_policy"].

GitHub Pages

SettingValueStateWhy
PagesSource: GitHub ActionsNot on yet: the PO turns it on before the website's first deployThe Website workflow deploys the product website (WEBSITE.md)
Environment github-pagesDeployments from main and from v* tagsCreated by GitHub when Pages is turned on; the PO adds the v* tag ruleA published release rebuilds the site from a run that starts on its tag

Check: gh api $R/pages --jq .build_type → workflow.

Security

SettingValuePlanStateCheck (Admin)
Dependabot alertsOnEvery planOngh api -i $R/vulnerability-alerts → HTTP/2.0 204
Dependabot security updatesOn (PO decision on #75)Every planOngh api $R/automated-security-fixes → {"enabled":true,"paused":false}
Dependabot version updatesGitHub Actions only, monthly, groupedEvery planOn, in .github/dependabot.ymlthe file itself
Secret scanning and push protectionOn, with validity checks; only admins may bypass push protectionPublic repositories; private ones need GitHub Secret Protection (Team or Enterprise)On (2026-10-31)gh api $R --jq .security_and_analysis
Code scanning and dependency reviewOn: CodeQL default setup, with Copilot AutofixPublic repositories; private ones need GitHub Code Security (Team or Enterprise)On (2026-10-31). Its first scan's alerts are #233Settings → Code security
Private vulnerability reportingOnPublic repositoriesOn (2026-10-31)
Dependabot malware alertsOnPublic repositoriesOn (2026-10-31)gh api $R/private-vulnerability-reporting

Source: GitHub security features. What Apollo Download Manager does with an advisory is in SECURITY.md.

When something changes

  • The PO changes a setting: update its row and the date checked, and note the issue or decision.

  • CI's automatic triggers come back: make ci-required a required check in the Main ruleset.

  • The repository goes public: apply the rows marked at publication, with the rest of #90's checklist.