GitDiagram Repository Overview
ahmedkhaleel2004/gitdiagram
Explains the architecture of a public GitHub repository through GitDiagram: how the code is organized, the main components with paths, and a Mermaid diagram.
Explains how the sfdx-hardis Salesforce CLI plugin is built: its TypeScript and Oclif stack, command layout, agent-mode flag and provider classes for git, notifications and AI.
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hardisgroupcom/sfdx-hardis architecture --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/architecture .claude/skills/architecture && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .claude/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architectureType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hardisgroupcom/sfdx-hardis architecture --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/architecture .agents/skills/architecture && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .agents/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hardisgroupcom/sfdx-hardis architecture --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/architecture .cursor/skills/architecture && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .cursor/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hardisgroupcom/sfdx-hardis.git --path .claude/skills/architecture--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hardisgroupcom/sfdx-hardis architecture --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/architecture .gemini/skills/architecture && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .gemini/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hardisgroupcom/sfdx-hardis architectureInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/architecture .github/skills/architecture && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .github/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hardisgroupcom/sfdx-hardis architecture --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hardisgroupcom/sfdx-hardis.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/architecture .opencode/skills/architecture && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "architecture" agent skill from https://github.com/hardisgroupcom/sfdx-hardis/tree/main/.claude/skills/architecture into .opencode/skills/architecture/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "architecture", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
architectureExplains how the sfdx-hardis Salesforce CLI plugin is built: its TypeScript and Oclif stack, command layout, agent-mode flag and provider classes for git, notifications and AI.
This is a contributor reference for the sfdx-hardis codebase. It lists the stack: TypeScript in strict mode, the Oclif framework used by the Salesforce CLI, Wireit for build tasks, Mocha with Nyc for tests and coverage, ESLint with Salesforce configurations, and LangChain for AI integration alongside Codex and Agentforce. Commands live under src/commands/hardis, number around 300, extend SfCommand and run as sf hardis followed by a topic and an action.
Commands should accept an --agent flag so AI agents and pipelines can run them without any interactive prompt, using sensible defaults. External integrations follow a provider pattern, with a root class and concrete implementations for git hosts (GitHub, GitLab, Azure DevOps, Bitbucket), notifications (Slack, Teams, email, API webhook), tickets (Jira, Azure Boards, ServiceNow), AI, post-deploy actions, key-value storage and documentation building.
Read from SKILL.md and the folder at commit 9625b22. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
sfyarnFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
raw.githubusercontent.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
sfdx-hardis Architecture Guide loads about 2.1k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 638 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from hardisgroupcom/sfdx-hardis at commit 9625b22, republished under its AGPL-3.0 licence (© hardisgroupcom). 638 words, ~2,064 tokens.
.claude/skills/architecture/SKILL.md (or your agent's skills folder).src/
├── commands/hardis/ # CLI commands (~300+) organized by domain
│ ├── auth/ ├── cache/ ├── config/
│ ├── datacloud/ ├── doc/ ├── git/
│ ├── lint/ ├── mdapi/ ├── misc/
│ ├── org/ ├── package/ ├── packagexml/
│ ├── project/ ├── scratch/ ├── source/
│ └── work/
├── common/
│ ├── aiProvider/ # AI integration and prompt templates
│ └── utils/ # Shared utilities (barrel-exported from index.ts)
├── hooks/ # Oclif lifecycle hooks
├── i18n/ # Translation files (9 locales)
test/ # Test files (*.test.ts, *.nut.ts)
lib/ # Compiled JavaScript output
messages/ # Oclif message files (.md)
defaults/ # Default configurations and templates
docs/ # Project documentationSfCommand<any> from @salesforce/sf-plugins-core.sf hardis <topic> <action>."type": "module").When possible, every command should support a --agent boolean flag so it can be called non-interactively by AI agents and automation pipelines:
// Flag declaration
agent: Flags.boolean({
default: false,
description: 'Run in non-interactive mode for agents and automation',
}),
// In run()
const agentMode = flags.agent === true;
// Guard every interactive prompt
if (!isCI && !agentMode) {
const answer = await prompts({ ... });
}'$ sf hardis:<topic>:<action> --agent' to the command examples array.src/common/)External integrations use a root class + concrete implementations:
messaging channel; each provider declares its channel via getChannel(). Routing is filtered per notification type and per channel via severity thresholds. See the monitoring-notifications skill.src/common/monitoring/, src/common/notifProvider/)hardis:org:monitor:all runs a list of sub-commands (monitoringCommandsDefault) on a configurable cadence. Each sub-command posts notifications through NotifProvider.postNotifications, which fans out to enabled channels (messaging / email / api) using per-notification-type severity thresholds. Defaults live in source; users override per-entry via the monitoringCommands property in .sfdx-hardis.yml, merged by key. The hardis:config:monitoring-defaults command exposes the full defaults payload to the VS Code extension UI.
When adding a monitoring command, a notification type, or changing default routing, use the monitoring-notifications skill -- it lists exactly which files to touch.
src/config/index.ts)Configuration uses a three-layer merge with priority: user > branch > project.
| Layer | File locations | Purpose |
|---|---|---|
| Project (global) | config/.sfdx-hardis.yml or config/.sfdx-hardis.yaml (also .sfdx-hardis.yaml/.yml at repo root, or package.json) | Shared settings for the entire project, committed to git |
| Branch | config/branches/.sfdx-hardis.<branch-name>.yml | Per-branch overrides (e.g., different target org, deploy options per environment). Branch name is auto-detected from git or CONFIG_BRANCH env var |
| User | config/user/.sfdx-hardis.<os-username>.yml | Per-developer overrides, typically git-ignored |
Higher-priority layers override lower ones via Object.assign() (shallow merge).
Uses cosmiconfig to search for config files. Supported names: .sfdx-hardis.yaml, .sfdx-hardis.yml, and package.json (for project layer).
A config file can include an extends property pointing to a remote YAML URL. The remote config is fetched and merged underneath the local config (local wins). This allows sharing a common config base across multiple projects.
# config/.sfdx-hardis.yml
extends: https://raw.githubusercontent.com/mycompany/shared-config/main/.sfdx-hardis.yml
projectName: my-projectgetConfig(layer) - returns merged config up to the specified layer ("project", "branch", or "user" - default "user")setConfig(layer, propValues) - writes properties to the config file for the specified layerCONSTANTS - static constants (API version, URLs, metadata type lists)getEnvVar(name) - reads env var with Azure unresolved-variable detectionAll config properties are defined in config/sfdx-hardis.jsonschema.json (JSON Schema draft-07). This schema is used to:
yarn build runs generate-schema-doc)When adding or modifying a config property, always update config/sfdx-hardis.jsonschema.json to keep it in sync. Each property should have $id, description, title, type, and optionally default, enum, examples, and docUrl.
src/hooks/)Oclif lifecycle hooks:
init: logging, upgrade check, websocket clientprerun: auth, dependency checkauth: authenticationpostrun: cache storefinally: notificationssrc/common/websocketClient.ts)Communicates with VS Code extension (vscode-sfdx-hardis) for UI interactions, progress, and prompts. Every message carries an event handled in the extension's src/hardis-websocket-server.ts, so adding or changing one is an extension change too. See the vscode-sfdx-hardis skill for the full integration surface.
src/common/utils/)Barrel-exported from src/common/utils/index.ts:
uxLog() - loggingexecSfdxJson() - CLI subprocess callsLocated in src/common/aiProvider/promptTemplates/. Each exports a PromptTemplateDefinition with variables and multilingual text. Users can override by placing .md files in config/prompt-templates/ (.txt also supported for backward compatibility).
© hardisgroupcom, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/architecture of hardisgroupcom/sfdx-hardis.
Open the folder on GitHubat commit 9625b22
sfdx-hardis Architecture Guide next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| sfdx-hardis Architecture Guide this skillhardisgroupcom/sfdx-hardis | 401 | — | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| GitDiagram Repository Overviewahmedkhaleel2004/gitdiagram | 18k | — | ~427 | Automated safety check: Pass | MIT | |
| GitDiagram Repo Architectureahmedkhaleel2004/gitdiagram | 18k | — | ~429 | Automated safety check: Pass | MIT | |
| Gh Bot Commentjetstreamapp/jetstream | 125 | — | ~616 | Automated safety check: Pass | Custom licence | |
| CodeScope Codebase Graph AnalysisQwenLM/qwen-code | 28k | 1 repos | ~9.3k | Automated safety check: Pass | Apache-2.0 | |
| Codegraph QAQwenLM/qwen-code-examples | 143 | — | ~4.3k | Automated safety check: Pass | None |
ahmedkhaleel2004/gitdiagram
Explains the architecture of a public GitHub repository through GitDiagram: how the code is organized, the main components with paths, and a Mermaid diagram.
ahmedkhaleel2004/gitdiagram
Explains how a public GitHub repository is built by fetching its GitDiagram architecture diagram, components and optional explainer video.
jetstreamapp/jetstream
Post GitHub PR/issue comments, reviews, and review replies as the Jetstream bot account instead of the user's personal account.
QwenLM/qwen-code
Answers questions about code structure, history, bugs and PR risk using a CodeScope knowledge graph and semantic index built from the repository.
QwenLM/qwen-code-examples
Use CodeScope to analyze any indexed codebase via its graph database (neug) and vector index (zvec).
aiskillstore/marketplace
CTO's deputy for software architecture using Clean/Hexagonal Architecture principles.
hardisgroupcom/sfdx-hardis
Walks the sfdx-hardis training course end to end as a learner would, against a real Developer Edition org and fork, fixing broken steps and screenshots that no longer match.
hardisgroupcom/sfdx-hardis
Runs a full end-to-end test of sfdx-hardis promotion branches and backpromote against real Salesforce orgs and a throwaway repository, then writes a report.
hardisgroupcom/sfdx-hardis
Style rules for adding CHANGELOG.md entries: short, user-facing bullets grouped by command under the beta section, each linking the command's docs page.
hardisgroupcom/sfdx-hardis
Documentation standards for sfdx-hardis commands (description format with Command Behavior and Technical explanations sections, MkDocs site, build:doc).
hardisgroupcom/sfdx-hardis
Decision framework for fixing jscpd (copy-paste detector) errors.
hardisgroupcom/sfdx-hardis
Code examples and patterns for using i18n translations in sfdx-hardis source code (uxLog, uxLogTable, prompts, markers).
Categories
Explains how the sfdx-hardis Salesforce CLI plugin is built: its TypeScript and Oclif stack, command layout, agent-mode flag and provider classes for git, notifications and AI. This is a contributor reference for the sfdx-hardis codebase. It lists the stack: TypeScript in strict mode, the Oclif framework used by the Salesforce CLI, Wireit for build tasks, Mocha with Nyc for tests and coverage, ESLint with Salesforce configurations, and LangChain for AI integration alongside Codex and Agentforce.
sfdx-hardis Architecture Guide fits situations like: adding a new command to sfdx-hardis; deciding where a new git, notification or ticketing integration belongs; understanding how the project's providers, hooks and config fit together.
Run `npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a claude-code`. Or copy the skill folder (.claude/skills/architecture in hardisgroupcom/sfdx-hardis) into .claude/skills/architecture in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a codex`. Or copy the skill folder (.claude/skills/architecture in hardisgroupcom/sfdx-hardis) into .agents/skills/architecture in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hardisgroupcom/sfdx-hardis --skill architecture -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/architecture, .gemini/skills/architecture, .github/skills/architecture and .opencode/skills/architecture in your project.
Going by SKILL.md and its folder, sfdx-hardis Architecture Guide needs the command-line tools its instructions call (sf and yarn). Our summary lists: A checkout of the sfdx-hardis repository.
SKILL.md names 1 domain. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
sfdx-hardis Architecture Guide is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with sfdx-hardis Architecture Guide: GitDiagram Repository Overview (ahmedkhaleel2004/gitdiagram, 18k stars), GitDiagram Repo Architecture (ahmedkhaleel2004/gitdiagram, 18k stars), Gh Bot Comment (jetstreamapp/jetstream, 125 stars) and CodeScope Codebase Graph Analysis (QwenLM/qwen-code, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hardisgroupcom (a GitHub organization) maintains it in hardisgroupcom/sfdx-hardis, which has 401 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.
Source: hardisgroupcom/sfdx-hardis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.