Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
chore(standards): synced file(s) with hallelx2/dev-standards #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Uh oh!
There was an error while loading. Please reload this page.
chore(standards): synced file(s) with hallelx2/dev-standards #7
Changes from all commits
c609ee2b506be6f96a1de1639dfd292ce3927f260e4668ecfd5e52b9dbb0684fd2db57File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 601
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 11865
🌐 Web query:
GitHub Copilot custom agents applyTo path-specific instruction files automatic selection documentation💡 Result:
In GitHub Copilot, path-specific instruction files are configured using
*.instructions.mdfiles, which allow you to define instructions that are applied automatically based on the files or directories currently being accessed [1][2][3]. Key details for implementation include: 1. Storage Location: These files should be stored within or below the.github/instructionsdirectory in your repository [1][4][5]. 2. Configuration: Each.instructions.mdfile must include a YAML frontmatter block at the start of the file that defines theapplyToproperty [1][3]. This property uses glob syntax to determine which files the instructions apply to [1][2][3]. Example configuration: --- applyTo: "app/models//*.rb" --- 3. Automatic Selection: GitHub Copilot automatically selects and applies these instructions when the path of the file being worked on matches the glob pattern specified in theapplyTofield [1][3]. If noapplyToproperty is defined, the instructions will not be applied automatically, though they may still be available for manual selection in some interfaces [3]. 4. Multiple Patterns: You can specify multiple patterns within theapplyTofield by separating them with commas (e.g.,applyTo: "/*.ts,/*.tsx") [1][2]. 5. Scope and Precedence: When a path matches, these path-specific instructions are used alongside repository-wide custom instructions (defined in.github/copilot-instructions.md) if they exist [1][5]. You can verify which instructions were applied by checking the References section of a Copilot chat response [3]. This functionality is supported in various Copilot features, including Copilot Chat in IDEs like Visual Studio Code and Visual Studio, as well as the Copilot cloud agent [4][6]. While custom agents (defined in files likeAGENTS.md) and path-specific instructions both serve to customize behavior, they are distinct mechanisms; custom agents define broader agent profiles, whereas*.instructions.mdfiles provide targeted, file-context-aware instructions [4][5][7].Citations:
🌐 Web query:
GitHub Copilot custom agents*.agent.mdautomatic selection agents panel profile selection applyTo instructions💡 Result:
GitHub Copilot custom agents are defined using Markdown files with the
.agent.mdextension [1][2]. These files use YAML frontmatter to configure the agent's identity, behavioral instructions, and capabilities [3][4]. Automatic Selection and the Agents Panel GitHub Copilot can automatically select and use a custom agent based on the task context [5]. Key configuration properties in the.agent.mdfile control this behavior: - disable-model-invocation: If set to true, this prevents Copilot from automatically using the agent based on task context; the agent must then be selected manually [5]. - user-invocable: If set to false, the agent cannot be manually selected by a user and is restricted to programmatic access [5]. - infer (Retired): Previously used to control automatic selection; it is now recommended to use disable-model-invocation and user-invocable instead [5]. In IDEs and GitHub interfaces, users can typically select agents manually from an agents panel, dropdown, or tab when initiating a new session [6][7][8]. Instructions and applyTo While custom agents use.agent.mdfiles for their core definition [1][4], separate instruction files often use the*.instructions.mdformat [9][10]. These instruction files utilize the applyTo property to manage scope [9][11]: - applyTo: This property accepts glob patterns to specify which files or directories the instructions apply to [9][11][10]. For example, applyTo: "/*.ts" would apply the instructions to all TypeScript files [11][10]. If this property is omitted, the instructions may not be applied automatically [9]. - Custom Agent Instructions: Within an.agent.mdfile, the behavioral instructions are defined in the Markdown content below the YAML frontmatter [4][12]. These instructions guide the agent's expertise, constraints, and behavior during its execution [4][2]. In summary,.agent.mdfiles define the custom agent itself, while*.instructions.mdfiles are often used for repository-wide or path-specific behavioral rules governed by the applyTo property [9][13][10].Citations:
Do not claim that custom agents apply automatically.
Path-specific
.github/instructions/files apply automatically whenapplyTomatches. Custom agents in.github/agents/require explicit selection or assignment; do not present them as already running.🧰 Tools
🪛 LanguageTool
[uncategorized] ~22-~22: The official name of this software platform is spelled with a capital “H”.
Context: ...cific review, the specialized agents in
.github/agents/and the path-scoped rubrics in...(GITHUB)
[uncategorized] ~22-~22: The official name of this software platform is spelled with a capital “H”.
Context: ...agents/
and the path-scoped rubrics in.github/instructions/` apply automatically. Whe...(GITHUB)
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 7039
🌐 Web query:
GitHub Dependabot package-ecosystem pip depends on requirements.txt setup.py pyproject.toml💡 Result:
To configure Dependabot to monitor your Python dependency files, use the
pippackage ecosystem in your.github/dependabot.ymlfile [1][2][3]. Dependabot supportsrequirements.txt,setup.py, andpyproject.tomlfiles under this single ecosystem [4][5][6]. Configuration Details: - Ecosystem Name: Usepackage-ecosystem: "pip"[1][2][6]. - File Support: Dependabot monitorsrequirements.txt(any.txtfile),setup.py, andpyproject.toml(if it follows PEP 621) when configured with thepipecosystem [5][6]. It also supports related files likesetup.cfg[5]. - Directory Configuration: Specify thedirectorywhere these files are located (e.g.,directory: "/") [3]. To ensure Dependabot scans nested directories, you can use patterns likedirectory: "//*"[7]. Common Setup: A standarddependabot.ymlconfiguration for a Python project typically looks like this [3]: version: 2 updates: - package-ecosystem: "pip" directory: "/" schedule: interval: "weekly" Important Considerations: - Grouped Updates: If you have multiple dependency files (e.g., both apyproject.tomland arequirements.txt) and want them updated together, you may need to use Dependabot's grouping feature to prevent separate, uncoordinated pull requests [7][4]. - Limitations: Dependabot's ability to keeprequirements.txtfiles synchronized withpyproject.tomlchanges—especially if the requirements file is generated by an external tool likepip-compile—can vary [8][9]. In some cases, Dependabot may update thepyproject.tomlbut not the associatedrequirements.txtif the relationship between the two is not natively recognized by its update logic [9]. If you rely on external tools to sync these files, you may need to manage those updates outside of standard Dependabot version updates or ensure the files are in locations Dependabot consistently crawls [7][9].Citations:
🌐 Web query:
site:docs.github.com/dependabot/generate-dependabot.yml gomod npm pip💡 Result:
Use these
package-ecosystemvalues in.github/dependabot.yml:gomodis for Go modules;npmcovers npm, Yarn, and pnpm;pipalso covers pipenv and Poetry projects. [1][2]Add
pipupdates to Dependabot.Dependabot supports
package-ecosystem: pipfor Python requirement files, and target repositories synced to this config will not get Python update PRs without it. Add the same format as the existing npm/gomod update entries, with dependency manifest support matching the project.🧰 Tools
🪛 GitHub Check: Semgrep OSS
[warning] 19-24: Semgrep Finding: package_managers.dependabot.dependabot-missing-cooldown.dependabot-missing-cooldown
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a
cooldownblock withdefault-days: 7to eachpackage-ecosystementry underupdatesto wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown[warning] 12-17: Semgrep Finding: package_managers.dependabot.dependabot-missing-cooldown.dependabot-missing-cooldown
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a
cooldownblock withdefault-days: 7to eachpackage-ecosystementry underupdatesto wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown[warning] 6-10: Semgrep Finding: package_managers.dependabot.dependabot-missing-cooldown.dependabot-missing-cooldown
This Dependabot configuration does not set a cooldown period. Newly published packages can be malicious or unstable. Add a
cooldownblock withdefault-days: 7to eachpackage-ecosystementry underupdatesto wait 7 days before proposing updates to newly published package versions. Reference: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 327
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 5446
Pin the Semgrep container image to its SHA256 digest.
semgrep/semgrepis mutable by tag. A SHA256 digest can identify the reviewed Semgrep release as fixed image content.Proposed fix
🧰 Tools
🪛 zizmor (1.28.0)
[error] 33-33: unpinned image references (unpinned-images): container image is unpinned
(unpinned-images)
🤖 Prompt for AI Agents
Source: Linters/SAST tools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 246
🌐 Web query:
pip-audit command line documentation pip-audit . local project pyproject.toml requirements.txt default behavior no arguments💡 Result:
The pip-audit tool is a vulnerability scanner for Python projects that audits dependencies against known vulnerabilities [1][2]. Its behavior depends on the arguments provided or the presence of a specific project path [3][4]. Default Behavior (No Arguments) When run without any arguments (pip-audit), the tool defaults to auditing the current active Python environment [3][5]. It inspects the installed packages in the environment and checks them against vulnerability databases [2]. Auditing Requirements Files To audit specific dependency files, use the -r or --requirement flag [3][4]. This flag can be used multiple times to audit multiple files (e.g., pip-audit -r requirements.txt -r dev-requirements.txt) [3][4]. pip-audit supports scanning requirements.txt files [4][2]. Auditing Local Projects You can audit a local project by providing its path as a positional argument [3]. When a project path is provided, pip-audit searches for specific "project" files, such as pyproject.toml [4]. Key Flags and Options -l, --local: Limits the audit to dependencies installed in the local environment, excluding globally installed packages if applicable [3][4]. --locked: Used when auditing from a project path to specifically audit lock files (currently supporting formats like pylock.*.toml) [3][4]. -f FORMAT, --format FORMAT: Specifies the output format (e.g., columns, json, cyclonedx-json, cyclonedx-xml, markdown) [6][3]. -s SERVICE, --vulnerability-service SERVICE: Selects the vulnerability service to use (options include osv, pypi, esms) [6][3]. -S, --strict: Causes the audit to fail if dependency collection fails for any dependency [6][3]. For detailed usage information, you can run pip-audit --help in your terminal [3][4].
Citations:
🏁 Script executed:
Repository: hallelx2/pdftable
Length of output: 3007
Audit the repository dependency manifests.
pip-auditwithout an argument scans the current Python environment. This job only installs the audit tools, so repository dependencies are not scanned. Usepip-audit .for supportedpyproject.tomlprojects andpip-audit -r "$requirements_file"for each requirements file. Keep Bandit under the existing Python-project detection condition.🧰 Tools
🪛 GitHub Check: Semgrep OSS
[warning] 116-116: Semgrep Finding: yaml.github-actions.security.github-actions-mutable-action-tag.github-actions-mutable-action-tag
GitHub Actions step uses a mutable tag or branch reference. Tags and branch names can be silently repointed by the action owner, enabling supply-chain attacks — as seen in the trivy-action and kics-github-action compromises. Pin the reference to a full 40-character commit SHA instead, e.g.
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608.🤖 Prompt for AI Agents
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.