GitHub Repository Setup

SkillFiles & storage

Reusable scaffold for public TypeScript/Node.js repositories under a target organization. Use when creating a new GitHub repository to generate all community standards, CI/CD, config files, labels, and topics in one pass.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the GitHub Repository Setup skill

What this skill tells your AI

The instructions your AI receives, as published by neverinfamous/memory-journal-mcp in skills/github-repo-setup/SKILL.md and read by ahel’s review.

Scaffold a new public TypeScript/Node.js repo with community standards, CI, and strict tooling.

Prerequisites

  • Git CLI with SSH (~/.ssh/id_ed25519)
  • GitHub CLI (gh) authenticated as {{ORG_NAME}}
  • Node.js 24+
  • Default branch: main
  • Credentials: Load from a secure environment file (e.g., {{SECRETS_ENV_PATH}}) or OS credential stores. CRITICAL: NEVER hardcode this path in shared templates or commit .env files.

Parameters

Replace these placeholders throughout:

PlaceholderExample
{{ORG_NAME}}neverinfamous
{{REPO_NAME}}my-mcp-server
{{DESCRIPTION}}MCP server for X
{{YEAR}}2026
{{SECRETS_ENV_PATH}}C:\path\to\secrets.env

1. Create Files (~28 total)

Read the reference file listed in the Template Source column for exact file contents. Files marked inline are defined directly below the table.

File Manifest

FilePurposeTemplate Source
Community Standards
LICENSEMIT licenseinline
README.mdBadges, quick start, TOC, examplesAdapt from reference repos
CONTRIBUTING.mdFork → Clone → Branch → PR workflowcommunity-standards.md
CODE_OF_CONDUCT.mdContributor Covenant 2.1community-standards.md
SECURITY.mdVulnerability reporting processcommunity-standards.md
CHANGELOG.mdKeep a Changelog format (empty)inline
UNRELEASED.mdSSoT for unreleased changesinline
GitHub Automation
.github/workflows/codeql.ymlCodeQL static analysisgithub-automation.md
.github/workflows/lint-and-test.ymlCI: lint, typecheck, build, testgithub-automation.md
.github/workflows/secrets-scanning.ymlTruffleHog + Gitleaksgithub-automation.md
.github/workflows/dependabot-auto-merge.ymlAuto-squash patch/minor PRsgithub-automation.md
.github/workflows/e2e.ymlPlaywright E2E testsgithub-automation.md
.github/dependabot.ymlGrouped dependency updatesgithub-automation.md
.github/ISSUE_TEMPLATE/bug_report.mdRich bug report templategithub-automation.md
.github/ISSUE_TEMPLATE/feature_request.mdFeature request templategithub-automation.md
.github/ISSUE_TEMPLATE/config.ymlBlank issue redirectgithub-automation.md
.github/pull_request_template.mdComprehensive PR checklistgithub-automation.md
Project Config
.gitignoreComprehensive ignoresinline
.gitattributesLine ending normalizationinline
.prettierrcCode formatting configproject-config.md
.prettierignorePrettier exclusionsproject-config.md
.gitleaks.tomlSecret scanning configproject-config.md
package.jsonProject manifestinline
tsconfig.jsonTypeScript strict configproject-config.md
eslint.config.jsESLint 10 strict + test configproject-config.md
tsup.config.tsBuild configurationproject-config.md
vitest.config.tsTest configurationproject-config.md
src/index.tsEntry point placeholderEmpty file

Inline Templates

See inline-templates.md for the boilerplate contents of LICENSE, CHANGELOG.md, UNRELEASED.md, .gitattributes, .gitignore, and package.json.

Note: AI-suggested versions may be outdated. Always run npm outdated and npx npm-check-updates -u after install.


2. Init Repo & Push

CRITICAL HITL GATE: You MUST stop and ask the user for explicit confirmation before running the gh repo create and git push commands. Creating a public repository is a destructive and public action.

cd {{TARGET_DIRECTORY}}
git init
git add .
git commit -m "Initial commit: Repository setup"
gh repo create {{ORG_NAME}}/{{REPO_NAME}} --public --source=. --remote=origin --description "{{DESCRIPTION}}"
git push -u origin main

Note: git add . is appropriate here because this is a brand-new repo with a clean .gitignore. For established repos, always use selective staging per user rules.

3. Labels, Topics & GitHub Settings

# Labels
gh label create dependencies --description "Dependency PRs" --color 0052CC --repo {{ORG_NAME}}/{{REPO_NAME}} --force
gh label create github-actions --description "GitHub Actions" --color FF6B6B --repo {{ORG_NAME}}/{{REPO_NAME}} --force
gh label create npm --description "NPM updates" --color CB3837 --repo {{ORG_NAME}}/{{REPO_NAME}} --force
gh label create bug --description "Bug reports" --color d73a49 --repo {{ORG_NAME}}/{{REPO_NAME}} --force
gh label create enhancement --description "Feature requests" --color a2eeef --repo {{ORG_NAME}}/{{REPO_NAME}} --force

# Topics
gh repo edit {{ORG_NAME}}/{{REPO_NAME}} --add-topic typescript --add-topic nodejs

# Security settings (automate instead of manual UI)
gh api repos/{{ORG_NAME}}/{{REPO_NAME}} -X PATCH -f security_and_analysis.secret_scanning.status=enabled
gh api repos/{{ORG_NAME}}/{{REPO_NAME}} -X PATCH -f security_and_analysis.secret_scanning_push_protection.status=enabled

4. Verify

npm install          # 0 vulnerabilities
npm run build        # Compiles
npm run typecheck    # No errors
npm run lint         # No errors
git status           # .gitignore working
npm outdated         # Update if needed
git remote -v        # origin → github.com/{{ORG_NAME}}/{{REPO_NAME}}
gh repo view         # Displays repo info

Reference Repos

  • {{ORG_NAME}}/db-mcp (SQLite)
  • {{ORG_NAME}}/mysql-mcp (MySQL)
  • {{ORG_NAME}}/postgres-mcp (PostgreSQL)
  • {{ORG_NAME}}/memory-journal-mcp (Memory Journal)

Signals

GitHub stars
20
Forks
5
Last commit
Jul 2026

ahel review

  • S4info
    community integration — published by neverinfamous, not github
  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
github-repo-setup
Source
github.com/neverinfamous/memory-journal-mcp