Organization-wide GitHub configuration and automation for nsheaps.
- Stars List Manager - Manage GitHub star lists via YAML with bidirectional sync
- Ansible File Sync - Sync files across organization repositories
- Unified CI - Consistent validation pipeline using mise tasks for local/CI parity
- Reusable Workflows - Shared CI/CD workflows for organization repositories
- Organization Templates - Issue and PR templates
- Workflow Observability - Metrics collection for workflow runs
- mise - Tool version management and task runner
# Install tools and dependencies
mise install
mise run setup
# Run all checks (same as CI)
mise run checkmise run # Show all tasks
mise run setup # Full setup (tools + dependencies)
mise run check # Run all checks (lint, build, test)
mise run build # Build all projects
mise run test # Run tests
mise run lint # Run linting
mise run lint-fix # Auto-fix lint issues
mise run clean # Remove build artifacts
mise run validate-workflows # Validate workflow YAML (requires actionlint)
# Ansible File Sync
mise run ansible-setup # Install Ansible dependencies
mise run ansible-lint # Lint Ansible files
mise run validate-sync-config # Validate sync configuration
mise run sync-files # Sync files to repositories
mise run sync-files -- --dry-run # Preview changes.
├── .claude/ # Claude Code configuration
│ ├── hooks/ # Session hooks
│ └── settings.json # Permissions and plugins
├── .github/
│ ├── actions/ # Reusable composite actions
│ │ ├── setup/ # Shared environment setup
│ │ ├── sync-stars-pull/ # Pull stars from GitHub
│ │ └── sync-stars-push/ # Push stars to GitHub
│ ├── stars.yaml # Stars list configuration
│ └── workflows/ # CI/CD workflows
│ ├── ci.yaml # Main validation pipeline
│ ├── sync-files.yaml # Ansible file sync
│ └── sync-stars.yaml # Stars sync automation
├── ansible/ # Ansible file synchronization
│ ├── config/ # Sync task definitions
│ ├── inventory/ # Ansible inventory
│ ├── playbooks/ # Ansible playbooks
│ ├── roles/ # Ansible roles
│ └── templates/ # Source files to sync
├── docs/ # Documentation
├── mise.toml # Tool versions and tasks
├── package.json # Node.js configuration
├── nx.json # Nx build orchestration
└── tsconfig.base.json # TypeScript configuration
The CI workflow runs the same commands locally available via mise tasks:
- Lint - ESLint with TypeScript support
- Build - Compile TypeScript actions
- Test - Run test suites
- Validate Ansible - Lint and validate Ansible configuration
Before pushing, run the full CI suite locally:
mise run check
mise run validate-sync-config
mise run ansible-lintThis ensures parity between local development and CI.
Sync files across organization repositories using Ansible. Define sync tasks in ansible/config/sync-tasks.yml:
sync_tasks:
- name: "Sync CI workflow"
source: "workflows/shared-ci.yml"
dest: ".github/workflows/ci.yml"
state: present
repos:
- nsheaps/repo-a
- nsheaps/repo-b
- name: "Remove deprecated file"
dest: ".github/workflows/old.yml"
state: absent
repos:
- nsheaps/repo-cFor local development, set GITHUB_TOKEN:
export GITHUB_TOKEN=ghp_xxx
mise run sync-files --dry-runSee File Sync documentation for details.
This repo is part of the nsheaps org-wide mise & CI standardization effort. The standard is defined in nsheaps/.org — mise-ci-standard.md.
| Repo | Status |
|---|---|
| ai-mktpl | Needs task + CI updates |
| .github | Needs task + CI updates |
| aitkit | Needs task + CI updates |
| agent-team | Needs rename + task + CI updates |
| claude-utils | Needs rename + task + CI updates |
| op-exec | Needs rename + task + CI updates |
| git-wt | Needs rename + task + CI updates |
| homebrew-devsetup | Gold standard (CI); needs rename + task updates |
| github-actions | Needs rename + task updates |
| renovate-config | Needs task + CI updates |
| .org | Exempt (minimal repo) |
This repository is configured for use with Claude Code:
- Session hooks automatically set up the development environment
- Permissions pre-configured for common operations
- Plugins from nsheaps/ai marketplace available
Proprietary - See LICENSE