Download the PHP package netresearch/agent-github-project without Composer

On this page you can find all versions of the php package netresearch/agent-github-project. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package agent-github-project


name: github-project description: "GitHub repository setup and platform-specific features. This skill should be used when creating new GitHub repositories, configuring branch protection rules, setting up GitHub Issues/Discussions/Projects, creating sub-issues and issue hierarchies, managing PR review workflows, configuring Dependabot/Renovate auto-merge, setting up merge queues with GraphQL enqueuePullRequest mutations, or checking GitHub project configuration. Focuses on GitHub platform features, not CI/CD pipelines or language-specific tooling. By Netresearch."

GitHub Project Skill

GitHub platform configuration and repository management patterns. This skill focuses exclusively on GitHub-specific features.

New repo? Run this BEFORE the first PR: bash skills/github-project/scripts/init-branch-protection.sh OWNER/REPO Applies required_conversation_resolution: true + 1-approver baseline so the "abort merge if unresolved threads" rule is structurally enforced, not just documented. See skills/github-project/SKILL.mdRequired First Step After gh repo create for the two-step flow.

🔌 Compatibility

This is an Agent Skill following the open standard originally developed by Anthropic and released for cross-platform use.

Supported Platforms:

Skills are portable packages of procedural knowledge that work across any AI agent supporting the Agent Skills specification.

Scope Boundaries

This Skill Covers:

Delegate to Other Skills:

Triggers

Setup & Configuration:

Sub-Issues & Issue Hierarchies:

Troubleshooting (PR Merge Blocked):

Troubleshooting (Auto-Merge Failures):

Troubleshooting (Ruleset Conflicts):

Merge Queue Configuration:

Branch Migration:

Installation

Marketplace (Recommended)

Add the Netresearch marketplace once, then browse and install skills:

npx (skills.sh)

Install with any Agent Skills-compatible agent:

Download Release

Download the latest release and extract to your agent's skills directory.

Git Clone

Composer (PHP Projects)

Requires netresearch/composer-agent-skill-plugin.

npm (Node Projects)

Requires @netresearch/agent-skill-coordinator, which discovers the skill in node_modules and registers it in AGENTS.md via a postinstall hook. For pnpm, also allowlist the coordinator's postinstall:

Workflows

New Repository Setup

To set up a new GitHub repository:

  1. Create essential files: README.md, LICENSE, SECURITY.md
  2. Configure .github/ directory structure (see references/repository-structure.md)
  3. Set up branch protection on main branch
  4. Configure CODEOWNERS for automatic reviewer assignment
  5. Create issue and PR templates
  6. Enable Dependabot or Renovate for dependency updates
  7. Configure auto-merge workflow for dependency PRs
  8. Set up release notes configuration

Run verification: ./scripts/verify-github-project.sh /path/to/repo

Branch Configuration

Required branch settings:

Setting Value Rationale
Default branch name main Industry standard
Default branch protected Prevent direct pushes
Allowed merge method Merge commits only Preserve complete history
Delete branch on merge Keep repo clean

To configure via GitHub CLI:

Note: If you prefer rebase merging for linear history, use --enable-rebase-merge --disable-merge-commit instead. Ensure consistency with any GitHub Rulesets (see Rulesets Configuration).

Repository Settings

Complete repository settings:

Setting Value Rationale
Allow merge commits With PR title and description
Allow squash merging Preserve commit granularity
Allow rebase merging Use merge queue instead
Automatically delete head branches Keep repo clean
Allow auto-merge Enable merge queue integration
Always suggest updating PR branches Keep PRs up-to-date with base
Discussions Community Q&A
Wikis Use docs folder instead

Configure via CLI:

Important: Do NOT enable required_linear_history when using merge commits. Linear history requires fast-forward merges only (no merge commits). If you see "not authorized to push" errors, check if required_linear_history is enabled and disable it.

Renaming "master" to "main"

For complete migration steps from master to main as default branch, see references/branch-migration.md.

Quick start:

Branch Protection Configuration

To configure branch protection via GitHub CLI:

Recommended Settings: Setting Value Purpose
Require pull request Enforce code review
Required approvals 1+ Based on team size
Dismiss stale reviews Re-review after changes
Require CODEOWNERS review Domain expert review
Require conversation resolution All comments addressed
Do not allow force pushes Protect history
Allow merge commits Preserve complete history
Disable rebase merge Avoid linear-only restriction
Disable squash merge Preserve commit granularity
Delete branch on merge Auto-cleanup merged branches

GitHub Rulesets Configuration

GitHub Rulesets provide repository rules that can override or conflict with repository-level settings. Critical: The pull_request rule in rulesets has its own allowed_merge_methods setting that must match repository settings.

View existing rulesets:

Common Issue: "Rebase is not an allowed merge method" Warning

This warning appears on PRs when there's a mismatch between:

  1. Repository settings (allow_rebase_merge: false)
  2. Ruleset settings (allowed_merge_methods includes "rebase")

Diagnosis:

Fix: Update ruleset to match repository settings

For merge commits only:

Ruleset merge method alignment:

Repository Setting Ruleset allowed_merge_methods Ruleset merge_queue.merge_method
allow_merge_commit: true only ["merge"] "MERGE"
allow_rebase_merge: true only ["rebase"] "REBASE"
allow_squash_merge: true only ["squash"] "SQUASH"

PR Comment Resolution Workflow

To enforce PR comment resolution:

  1. Enable "Require conversation resolution" in branch protection
  2. During review:
    • Reviewers leave line-specific comments
    • Author responds to each comment
    • Author clicks "Resolve conversation" after addressing
  3. PR cannot merge until all conversations are resolved
  4. Options for each thread:
    • "Resolve conversation" → Mark as addressed
    • Reply with explanation → Then resolve
    • "Won't fix" with reason → Then resolve

Programmatic Review Thread Resolution (CRITICAL)

IMPORTANT: "Addressing" review comments means BOTH:

  1. Fixing the code
  2. LITERALLY resolving the thread via GitHub GraphQL API

The gh CLI does not support resolving review threads directly. Use GraphQL API.

Step 1: Get unresolved review threads

Step 2: Resolve each thread by ID

Step 3: Verify all threads resolved

PR Completion Checklist:

CODEOWNERS Setup

To configure automatic reviewer assignment:

  1. Create .github/CODEOWNERS
  2. Define ownership patterns (last matching pattern wins):

  3. Enable "Require review from CODEOWNERS" in branch protection

Dependency Auto-Merge Setup

To configure automatic merging of dependency updates:

  1. Configure Dependabot or Renovate (see references/dependency-management.md)
  2. Create auto-merge workflow using appropriate template (see decision matrix below)
  3. Workflow auto-approves and merges minor/patch updates
  4. Major updates require manual review

Auto-Merge Decision Matrix:

Repository Configuration Template Merge Method
Merge queue enabled auto-merge-queue.yml.template GraphQL enqueuePullRequest
Branch protection (no queue) auto-merge.yml.template gh pr merge --auto
No branch protection auto-merge-direct.yml.template gh pr merge --rebase (direct)

Merge Queue Auto-Merge Setup

For repositories with merge queues enabled, the --auto flag and direct merge commands don't work. Use the GraphQL enqueuePullRequest mutation instead.

Key points:

Direct Auto-Merge Setup (No Branch Protection)

For repositories without branch protection rules, the --auto flag fails with "Protected branch rules not configured". Use direct merge instead:

Troubleshooting: Auto-Merge Failures

When auto-merge is enabled but PRs aren't merging automatically:

Step 1: Check repo merge settings vs workflow merge method

Step 2: Identify merge method mismatch

Workflow Uses Repo Setting Required Error Message
gh pr merge --squash allow_squash_merge: true "Merge method squash merging is not allowed"
gh pr merge --merge allow_merge_commit: true "Merge method merge commit is not allowed"
gh pr merge --rebase allow_rebase_merge: true "Merge method rebase is not allowed"

Step 3: Fix merge method alignment

Either update workflow to match repo settings (gh pr merge --rebase) or update repo:

Step 4: Validate required status checks

Status check names must exactly match what workflows produce:

Common status check name mismatches:

Expected Actual Issue
Analyze (javascript-typescript) Analyze (javascript) Language detection
build Build / build Workflow name prefix
test test (ubuntu-latest, 18) Matrix parameters

Step 5: Fix and re-trigger

Auto-merge compatibility checklist:

Check Command Expected
Merge method alignment gh api repos/{owner}/{repo} --jq '.allow_rebase_merge' Matches workflow flag
Status checks pass gh pr checks <number> All green
Status check names match Compare gh pr checks vs branch protection Exact match
Reviews complete gh pr view <number> --json reviewDecision APPROVED
No merge conflicts gh pr view <number> --json mergeable MERGEABLE
Auto-merge enabled gh pr view <number> --json autoMergeRequest Not null

GitHub Discussions Setup

To enable Discussions:

  1. Go to Settings → Features → Discussions
  2. Create categories:
    • 📣 Announcements (maintainers only)
    • 💬 General
    • 💡 Ideas
    • 🙏 Q&A (Question/Answer format)
  3. Add Discussions link to issue template chooser

Use Discussions for: Questions, ideas, announcements Use Issues for: Bug reports, confirmed features, actionable tasks

GitHub Releases Configuration

To configure automatic release notes:

  1. Create .github/release.yml:

  2. Create releases via CLI:

Sub-Issues Configuration

GitHub's sub-issues feature enables parent-child relationships between issues (up to 8 levels, 100 sub-issues per parent). For complete GraphQL API reference, see references/sub-issues.md.

Important: The gh CLI does not support sub-issues directly. Use GraphQL API.

Quick reference:

Troubleshooting: PR Merge Blocked

When a PR cannot be merged, diagnose the cause:

Step 1: Check PR status

Step 2: Identify the blocker

Symptom Cause Resolution
BLOCKED mergeStateStatus Unresolved conversations Resolve all review threads
REVIEW_REQUIRED reviewDecision Missing approvals Request reviews from required reviewers
CHANGES_REQUESTED reviewDecision Changes requested Address feedback, request re-review
Failed checks in statusCheckRollup CI/CD failures Fix failing tests/lints
CODEOWNERS review required Missing code owner approval Get approval from designated owners

Step 3: Resolution actions

Common gh pr merge errors:

Error Message Meaning Fix
Pull request is not mergeable Branch protection blocking Run diagnosis steps above
Required status check "X" is expected CI not run or pending Wait for CI or trigger manually
At least 1 approving review is required No approvals yet Request and obtain review
Changes were made after the most recent approval Stale approval Request re-review
Protected branch rules not configured --auto requires branch protection Use direct merge or enable branch protection
InputObject 'EnqueuePullRequestInput' doesn't accept argument 'mergeMethod' Invalid GraphQL parameter Remove mergeMethod from mutation - it's set by queue config

Quick CLI Reference

Resources

Resource Purpose
references/repository-structure.md Standard files and directory layout
references/dependency-management.md Dependabot/Renovate and auto-merge patterns
references/sub-issues.md GitHub sub-issues GraphQL API
references/branch-migration.md Master to main migration guide
assets/auto-merge.yml.template Auto-merge with branch protection (--auto flag)
assets/auto-merge-queue.yml.template Auto-merge with merge queue (GraphQL mutation)
assets/auto-merge-direct.yml.template Auto-merge without branch protection
scripts/verify-github-project.sh Verification script for project setup

Related Skills

This skill focuses on GitHub platform configuration. For complete project setup:

Skill Purpose
go-development Go code patterns, Makefile interface, testing, linting
enterprise-readiness OpenSSF Scorecard, SLSA provenance, signed releases, CI workflow templates
git-workflow Git branching strategies, conventional commits
security-audit Deep security audits (OWASP, CVE analysis)

Skill Coordination

License

This project uses split licensing:

See the individual license files for full terms.


Made with ❤️ for Open Source by Netresearch

Verification

To check GitHub project configuration:

Checks: documentation files, CODEOWNERS, dependency management, issue/PR templates, auto-merge workflow, release configuration.


All versions of agent-github-project with dependencies

PHP Build Version
Package Version
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package netresearch/agent-github-project contains the following files

Loading the files please wait ...