[UC-3697] Bootstrap libCharon for agentic development across four agent harnesses - #59
Draft
Jelle Spijker (jellespijker) wants to merge 2 commits into
Draft
[UC-3697] Bootstrap libCharon for agentic development across four agent harnesses#59Jelle Spijker (jellespijker) wants to merge 2 commits into
Jelle Spijker (jellespijker) wants to merge 2 commits into
Conversation
Copilot started reviewing on behalf of
Jelle Spijker (jellespijker)
July 29, 2026 10:14
View session
There was a problem hiding this comment.
Pull request overview
This PR standardizes contributor/agent onboarding and local commit-time quality gates for libCharon by adding a repository-level agent guide and a new pre-commit configuration.
Changes:
- Added
AGENTS.mddescribing repo purpose, Jira/commit/PR process requirements, and safety guidance. - Added
.pre-commit-config.yamlwith basic format checks, large-file checks, Talisman secret scanning, and a local absolute-path blocker.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| AGENTS.md | Adds an onboarding/operational guide with contribution and safety expectations. |
| .pre-commit-config.yaml | Introduces pre-commit hooks for validation, secret scanning, and blocking absolute local paths. |
Comments suppressed due to low confidence (1)
.pre-commit-config.yaml:43
block-absolute-paths'sexcluderegex treats.as “any char” (e.g.,AGENTS.md/README.md/.github) and it doesn't exclude.pre-commit-config.yaml, so the hook can end up flagging its own config when that file is edited/committed. Escape literal dots and exclude the config file explicitly.
exclude: |
(?x)^(
AGENTS.md|
README.md|
docs/.*|
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+24
to
+30
| exclude: | | ||
| (?x)^( | ||
| \.github/.*| | ||
| docs/.*| | ||
| .*\.md| | ||
| \.pre-commit-config\.yaml | ||
| )$ |
Member
Author
🛡️ Adversarial Security Audit & Quad-Agent Review Summary
|
6 tasks
Jelle Spijker (jellespijker)
force-pushed
the
UC-3697_AI_DF
branch
from
August 14, 2026 19:17
b5552a6 to
bb50ad3
Compare
Add the generated agentic development configuration produced by the ultimaker-agentic-bootstrap skill. - .agents/rules/ holds the rule set in numbered load-tier bands. - .agents/hooks/ holds the pre-commit and agent hooks. - .claude/, .opencode/, .github/ and AGENTS.md link the same rules for Claude Code, OpenCode, GitHub Copilot and Antigravity. - .aiignore is the single source for AI context exclusion. The compiler writes .ignore and .github/copilot-content-exclusion.yml. This is support for agentic development. It is not product code.
Add the helper scripts and the pull request template that the rules reference. - scripts/verify_and_create_pr.sh runs the gates before a pull request. - scripts/sync_agentic_configs.sh rebuilds the per-harness links. - scripts/get_github_token.sh reads the token from the system keyring. - scripts/create_boyscout_branch_and_pr.sh isolates unrelated fixes. - .github/PULL_REQUEST_TEMPLATE.md sets the required description sections.
Jelle Spijker (jellespijker)
force-pushed
the
UC-3697_AI_DF
branch
from
August 15, 2026 11:59
bb50ad3 to
6156d6a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Jira ticket: UC-3697
Why
AI coding agents work on this repository. Each agent reads a different
configuration file. The rules were not written down, so every agent guessed.
This change writes the rules down once and links them to all four agent tools.
The UltiMaker agentic bootstrap skill generates the content. This pull request
applies that skill to libCharon.
What
Two commits add generated configuration. No product code changes.
.agents/rules/— 15 rule files in numbered load-tier bands..agents/hooks/— pre-commit gates and agent hooks..claude/,.opencode/,.github/,AGENTS.md— links to the same rules..aiignore— the one source for AI context exclusion.scripts/— token retrieval, config sync, and pre-pull-request checks..github/PULL_REQUEST_TEMPLATE.md— the required description sections..pre-commit-config.yaml,.talismanrc— commit-time gates.How
The rules load in three tiers.
01-jira-commit-standards.md.Example:
28-systemd-dbus-architecture-rules.mdloads forservice/**.relevant. Example:
40-skill-discovery-index-rules.md.Four tools read the output. Each tool reads a different path, so the generator
writes symbolic links to one set of rule files.
CLAUDE.mdand.claude/.AGENTS.mdand.ignore..github/copilot-instructions.md.opencode.jsonand.opencode/.Two rules come from evidence in this repository.
28-systemd-dbus-architecture-rules.md— libCharon ships its own systemdunit
service/charon.serviceand its own D-Bus policyservice/nl.ultimaker.charon.conf. The rule names both files.29-gcode-architecture-rules.md—Charon/filetypes/GCodeFile.pyandCharon/filetypes/GCodeSocket.pyparse G-code. The rule points to thecanonical
ultimaker-gcode-architectureskill.The bootstrap does not classify libCharon as a cloud service. The repository
ships a local daemon. It has no web framework and no service manifest. The
cloud rule set is therefore absent.
The mutating pre-commit hooks (
end-of-file-fixer,trailing-whitespace) arelimited to the files this change adds. They cannot reformat product code.
This is support for agentic development. The rules will change as we learn.
This is not product code.
Verification & Validation (V&V)
pre-commit run --all-files— 20 hooks, all pass, no file changed:The repository test suite passes:
Other checks:
git diff -w origin/main...HEADtouches no file underCharon/ortests/.The only edit to an existing file is one comment and one pattern in
.gitignore.All 41 symbolic links resolve.
All hook scripts compile with
python3 -m compileall.Automated unit/integration tests pass
Pre-commit static checks pass cleanly on this branch's diff
Visual evidence attached for UI changes (not applicable)
PR Checklist
Related pull requests — this change is one part of the agentic-bootstrap roll-out
The bootstrap skill and its rules are in UltiCortex. The repository pull requests
apply that skill. Read the UltiCortex stack first if you want the reasoning.
UltiCortex — the skills (16 stacked layers, one per skill, read top down)
_aliases: Do not replace non-top-level directories #34 UC-3698 Add github-search-code skill](https://github.com/Ultimaker/UltiCortex/pull/34)Firmware
Cloud