Skip to content

feat: import shared indico agent guidance - #14

Open
moliholy wants to merge 7 commits into
masterfrom
feat/add-indico-agents-submodule
Open

feat: import shared indico agent guidance#14
moliholy wants to merge 7 commits into
masterfrom
feat/add-indico-agents-submodule

Conversation

@moliholy

Copy link
Copy Markdown
Member

This PR imports shared agent guidance from unconventionaldotdev/indico-agents as a submodule under agents/indico, and exposes its universal markdown files at host-native paths via relative symlinks.

Overview

The submodule ships:

  • AGENTS.md and CODING_GUIDELINES.md: shared baseline for any Indico-based host repository.
  • indico/AGENTS.md: guidance for editing files inside the upstream Indico submodule.
  • skills/: reusable agent skills (locate, RHs, migrations, tests, submodule bumps) consumable by any AI assistant that reads SKILL.md files.
  • scripts/install-links.sh: bootstrap that materialises symlinks idempotently.
indicorp/
├── AGENTS.md             -> agents/indico/AGENTS.md             (committed)
├── CODING_GUIDELINES.md  -> agents/indico/CODING_GUIDELINES.md  (committed)
├── indico/
│   └── AGENTS.md         -> ../agents/indico/indico/AGENTS.md   (per-clone, gitignored upstream)
├── .claude/skills/...    -> ../../agents/indico/skills/...      (per-contributor, gitignored)
└── agents/indico/        (submodule)

Universal symlinks are committed once. Skill symlinks are per-contributor: each teammate may use a different assistant (Claude Code, Codex, Cursor), so the chosen */skills/ directory is gitignored.

How to test

After cloning or pulling:

git submodule update --init --recursive

# Universal markdown (AGENTS.md, CODING_GUIDELINES.md, indico/AGENTS.md)
bash agents/indico/scripts/install-links.sh

# Plus skills for your AI assistant of choice
bash agents/indico/scripts/install-links.sh .claude/skills    # Claude Code
bash agents/indico/scripts/install-links.sh .codex/skills     # OpenAI Codex
bash agents/indico/scripts/install-links.sh .cursor/skills    # Cursor

Verify:

  • readlink AGENTS.md resolves to agents/indico/AGENTS.md.
  • readlink indico/AGENTS.md resolves to ../agents/indico/indico/AGENTS.md.
  • git -C indico status is clean (the host-side symlink is added to the upstream submodule's local .git/info/exclude).
  • ls .claude/skills/ shows each shared skill as a directory symlink, and they do not appear in git status (covered by .gitignore).

See agents/indico/HOST_INTEGRATION.md for the full integration model.

@moliholy moliholy self-assigned this May 25, 2026
@OmeGak
OmeGak force-pushed the feat/add-indico-agents-submodule branch from ba69b09 to 6bef788 Compare September 3, 2026 21:15

@OmeGak OmeGak left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no indication anywhere in the repo (other than the comment in .gitignore that a developer can install agent skills by running agents/indico/scripts/install-links.sh. Let's make this easier by:

  1. Adding a target in Makefile
  2. Documenting the fact that the repo is agent-enabled in README.md

Comment thread CLAUDE.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not making this file also a symlink to a CLAUDE.md file in the indico-agents submodule?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. CLAUDE.md now lives in the submodule and the installer symlinks it like every other shared document, so the redirect has a single source of truth. Claude resolves the @AGENTS.md import relative to the file that declares it, so the same target serves both the root and indico/. Submodule side in unconventionaldotdev/indico-agents#2.

Comment thread CODING_GUIDELINES.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anything against naming this file CONVENTIONS.md?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing against it, renamed to CONVENTIONS.md. The document covers coding, testing, style, git and PR conventions, so the broader name fits better. Submodule side in unconventionaldotdev/indico-agents#2.

Comment thread .gitignore Outdated
# local settings
.envrc.local

# per-contributor AI assistant links (installed via agents/indico/scripts/install-links.sh)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's keep this comment more general. Those directories may contain stuff other than links. Also, let's avoid references to paths that may change.

Suggested change
# per-contributor AI assistant links (installed via agents/indico/scripts/install-links.sh)
# local agent settings

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied.

Comment thread .gitignore Outdated
Comment on lines +22 to +23
/.agents/skills/
/.claude

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's stick to the same syntax as in the rest of the file.

Suggested change
/.agents/skills/
/.claude
.agents/skills/
.claude

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied the syntax, but widened the first entry to .agents/ per your other comment.

Comment thread .gitignore Outdated
.envrc.local

# per-contributor AI assistant links (installed via agents/indico/scripts/install-links.sh)
/.agents/skills/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why ignoring only .agents/skill/ and not .agents/?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No good reason, .agents/ is now ignored whole. Nothing under it is committed: the installer only creates skill symlinks there, and .claude points at it.

@moliholy

moliholy commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

Both points were already in before your review landed: make agent-skills (plus a help entry under an "Agents" section) and a "Using AI agents" section in README.md pointing at the target and at AGENTS.md.

The rest of the feedback is addressed now. CLAUDE.md and CONVENTIONS.md come from the submodule, so this PR carries a pointer bump against unconventionaldotdev/indico-agents#2. I will re-bump to the squashed commit once that one merges.

Ready for another round.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants