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
29 changes: 29 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Repository Purpose

This repository is currently empty. It exists as a starting point — the workflows,
linter configs, and contribution scaffolding under `.github/`, `.vscode/`, and `.claude/`
are the canonical Senzing baseline, but no project code lives here yet.

When work begins, replace this section with:

- A short description of what the repository builds or contains.
- Build / test / lint commands (typically driven by `make`).
- Notable architecture decisions or external dependencies a contributor needs to know.
- Any CI/CD workflows specific to this project (beyond the standard add-labels /
add-to-project / dependabot / lint-workflows / spellcheck baseline that's already wired up).

## CI/CD Workflows (baseline)

- `add-labels-standardized.yaml` — labels new/reopened issues.
- `add-to-project-senzing.yaml` / `add-to-project-senzing-dependabot.yaml` — adds issues
and Dependabot PRs to the Senzing project board.
- `claude-pr-review.yaml` — runs Claude review on PR open/synchronize.
- `dependabot-approve-and-merge.yaml` — auto-approves and merges Dependabot PRs.
- `link-issues-to-pr-post-merge.yaml` — closes referenced issues when a PR merges.
- `lint-workflows.yaml` — super-linter pass over `.github/workflows`.
- `move-pr-to-done-dependabot.yaml` — moves merged Dependabot PRs to "Done" on the board.
- `spellcheck.yaml` — cspell over the repo.
3 changes: 3 additions & 0 deletions .claude/commands/senzing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Senzing

- Perform the steps specified by <https://raw.githubusercontent.com/senzing-factory/claude/refs/tags/v1/commands/senzing.md>
3 changes: 3 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"includeCoAuthoredBy": false
}
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Default code owner

* @Senzing/senzing-community

/.github/ @Senzing/senzing-devsecops
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: "github-actions"
assignees:
- "kernelsam"
cooldown:
default-days: 21
exclude:
- "senzing-factory/*"
directory: "/"
groups:
senzing-factory:
patterns:
- "senzing-factory/*"
schedule:
interval: "daily"
3 changes: 3 additions & 0 deletions .github/linters/.jscpd.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"threshold": 4
}
12 changes: 12 additions & 0 deletions .github/linters/.yaml-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Extends the default yamllint config by adjusting some options.
extends: default

rules:
comments:
min-spaces-from-content: 1
document-start: disable
comments-indentation: disable
line-length:
level: warning
allow-non-breakable-inline-mappings: true
truthy: disable
7 changes: 7 additions & 0 deletions .github/linters/zizmor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
rules:
secrets-outside-env:
disable: true
unpinned-uses:
config:
policies:
"*": ref-pin
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions .github/workflows/add-labels-standardized.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Add labels standardized

on:
issues:
types:
- opened
- reopened

permissions: {}

jobs:
add-issue-labels:
permissions:
issues: write
secrets:
ORG_MEMBERSHIP_TOKEN: ${{ secrets.ORG_MEMBERSHIP_TOKEN }}
MEMBERS: ${{ secrets.SENZING_MEMBERS }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }}
uses: senzing-factory/build-resources/.github/workflows/add-labels-to-issue.yaml@v4
19 changes: 19 additions & 0 deletions .github/workflows/add-to-project-senzing-dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Add to project senzing github organization dependabot

on:
pull_request:
branches: [main]

permissions: {}

jobs:
add-to-project-dependabot:
permissions:
repository-projects: write
secrets:
PROJECT_RW_TOKEN: ${{ secrets.SENZING_GITHUB_PROJECT_RW_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }}
uses: senzing-factory/build-resources/.github/workflows/add-to-project-dependabot.yaml@v4
with:
project: ${{ vars.SENZING_GITHUB_ORGANIZATION_PROJECT }}
22 changes: 22 additions & 0 deletions .github/workflows/add-to-project-senzing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Add to project senzing github organization

on:
issues:
types:
- opened
- reopened

permissions: {}

jobs:
add-to-project:
permissions:
repository-projects: write
secrets:
PROJECT_RW_TOKEN: ${{ secrets.SENZING_GITHUB_PROJECT_RW_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }}
uses: senzing-factory/build-resources/.github/workflows/add-to-project.yaml@v4
with:
project-number: ${{ vars.SENZING_GITHUB_ORGANIZATION_PROJECT }}
org: ${{ vars.SENZING_GITHUB_ACCOUNT_NAME }}
20 changes: 20 additions & 0 deletions .github/workflows/claude-pr-review.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Claude PR Review

on:
pull_request:
types: [opened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions: {}

jobs:
review:
uses: senzing-factory/build-resources/.github/workflows/claude-pull-request-review.yaml@v4
permissions:
contents: read
pull-requests: write
secrets:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
20 changes: 20 additions & 0 deletions .github/workflows/dependabot-approve-and-merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Dependabot approve and merge

on:
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions: {}

jobs:
dependabot-approve-and-merge:
permissions:
contents: write
pull-requests: write
secrets:
CODEOWNER_PR_RW_TOKEN: ${{ secrets.SENZING_GITHUB_CODEOWNER_PR_RW_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/dependabot-approve-and-merge.yaml@v4
16 changes: 16 additions & 0 deletions .github/workflows/link-issues-to-pr-post-merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Link Issues to PR Post Merge

on:
pull_request:
types: [closed]

permissions: {}

jobs:
link-issues:
# Only run if PR was actually merged (not just closed)
if: github.event.pull_request.merged == true
permissions:
pull-requests: write
contents: read
uses: senzing-factory/build-resources/.github/workflows/link-issues-to-pull-request-post-merge.yaml@v4
20 changes: 20 additions & 0 deletions .github/workflows/lint-workflows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Lint workflows

on:
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions: {}

jobs:
lint-workflows:
permissions:
contents: read
packages: read
pull-requests: write
statuses: write
uses: senzing-factory/build-resources/.github/workflows/lint-workflows.yaml@v4
18 changes: 18 additions & 0 deletions .github/workflows/move-pr-to-done-dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Move pr to done dependabot

on:
pull_request:
branches: [main]
types: [closed]

permissions: {}

jobs:
move-pr-to-done-dependabot:
permissions:
repository-projects: write
secrets:
PROJECT_RW_TOKEN: ${{ secrets.SENZING_GITHUB_PROJECT_RW_TOKEN }}
uses: senzing-factory/build-resources/.github/workflows/move-pr-to-done-dependabot.yaml@v4
with:
project: ${{ vars.SENZING_GITHUB_ORGANIZATION_PROJECT }}
17 changes: 17 additions & 0 deletions .github/workflows/spellcheck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Spellcheck

on:
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions: {}

jobs:
spellcheck:
permissions:
contents: read
uses: senzing-factory/build-resources/.github/workflows/cspell.yaml@v4
17 changes: 17 additions & 0 deletions .vscode/cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"version": "0.2",
"language": "en",
"words": [
"bootcamp",
"CCLA",
"cooldown",
"esbenp",
"ICLA",
"kernelsam",
"Senzing",
"senzingsdk",
"trixie",
"zizmor"
],
"ignorePaths": [".git/**"]
}
12 changes: 12 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.formatOnSave": true
}
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to this project will be documented in this file.

The changelog format is based on [Keep a Changelog] and [CommonMark].
This project adheres to [Semantic Versioning].

## [Unreleased]

### Changed in Unreleased

[CommonMark]: https://commonmark.org/
[Keep a Changelog]: https://keepachangelog.com/
[Semantic Versioning]: https://semver.org/
Loading