Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

feat(cli): emit portable Markdown agents under .agents/agents

Open
#916 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
markdown, typescript, yaml

Research direction

Look at the aidd translate command in the CLI, likely in src/cli/translate.ts or similar. Examine the existing flat build logic that writes to .codex/agents/ and .agents/skills/. The task is to extend this to also write a Markdown file with YAML frontmatter to .agents/agents/<name>/agent.md. Check the existing collision and --force handling. Run the existing tests for the flat build to understand the output format and add new tests for the portable agent generation.

Written by the indexing model from the issue text.

Description

Problem

Kimi Code and Antigravity both discover project agents under .agents/agents/, but AIDD does not emit a portable agent there.

The existing Codex flat build already writes portable Skills under .agents/skills/, while agents are emitted only as Codex TOML under .codex/agents/. Reusing that output on Kimi or Antigravity therefore loses the agents.

The two hosts accept one common shape: .agents/agents/<name>/agent.md. Kimi also accepts a flat <name>.md, but Antigravity ignores it silently, falls back to its default agent, and can still report a successful plugin validate result.

Outcome

As a developer using AIDD across Kimi Code and Antigravity, I want one generated Markdown agent projection under .agents/agents/<name>/agent.md, so both hosts discover and execute the same agent without separate Kimi and Antigravity copies or silent fallback.

Codex's existing TOML projection remains an intentional host-specific output.

Scope

  • Extend aidd translate <src> --to codex --as flat to emit each source agent twice:
    • the existing .codex/agents/aidd-<plugin>-<agent>.toml;
    • .agents/agents/aidd-<plugin>-<agent>/agent.md.
  • Use aidd-<plugin>-<agent> as both the portable directory identity and generated YAML name, preserving a non-empty source description.
  • Keep .agents/skills/ and the existing Codex TOML projection behavior unchanged.
  • Never emit the flat .agents/agents/<name>.md shape.
  • Use the flat build's existing collision contract: reject an occupied canonical destination unless --force applies. Never remove or rewrite a different user-owned flat agent path.
  • Document the portable path, the retained Codex projection, Kimi's accepted shapes, Antigravity's directory-only constraint, and why agy plugin validate is not execution evidence.

Acceptance criteria

  • A source Markdown agent produces .agents/agents/aidd-<plugin>-<agent>/agent.md and the existing .codex/agents/aidd-<plugin>-<agent>.toml in one Codex flat build.
  • The portable file parses as YAML-frontmatter Markdown; name and description are non-empty and match the normalized source identity and source description.
  • No .agents/agents/<name>.md file is generated.
  • Existing .agents/skills/ output and the contents of the Codex TOML projection remain compatible, covered by regression assertions.
  • An occupied canonical portable destination follows the existing flat-build collision and --force behavior; unrelated user-owned files remain untouched.
  • An isolated live fixture agent emits a unique AIDD_PORTABLE_AGENT_OK marker when invoked through both Kimi Code and Antigravity.
  • Each live proof records the host version, exact invocation, fixture revision, exit status, and shortest output proving discovery and execution from the generated project path.
  • The Antigravity proof includes an invented-agent negative control, so silent fallback to the default agent cannot pass.
  • Compatibility documentation records the shared shape, Codex exception, and host limitations.

Initial evidence was captured with Kimi Code 2.0.2 and Antigravity agy 1.2.5. A newer version may replace either witness only when the new version and result are recorded.

Out of scope

  • Hook declarations or telemetry host support.
  • Global configuration mutation or global installation.
  • New Kimi Code or Antigravity tool profiles.
  • Deleting or migrating user-authored flat agents.

References

  • Source investigation: #859
  • Kimi Code host delivery: #733
  • Antigravity host delivery: #511
Dominant language
TypeScript
Stars
481
Forks
45
Avg merge
19h 38m
Merged PRs (30d)
108

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ai-driven-dev/framework

All issues in ai-driven-dev/framework

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.