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

[feat] Deliver team culture and shared instructions to Qoder, Kiro and Trae

Open
#1,419 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript

Research direction

Start with src/instruction-targets.ts, the TOOLS entries, and the block location tests in src/__tests__/locate-blocks.test.ts; review #1406 first because this issue depends on it. Then check the README matrix and generated tool support pages named in the definition of done. Done means all five tools write and read the marked context file in the specified scopes, cleanup works, and the Qoder CLI harness confirms the culture text loads.

Written by the indexing model from the issue text.

Description

enhancement

Why

Team culture (culture.md) and shared instructions (claudemd/*.md) reach every agent but Qoder, Qoder CN, Kiro, Trae and Trae CN. Their descriptors set blocks: NONE, so the README culture column shows — for them. Nothing blocks it: #1221's matrix marks these channels + ("the tool supports it and teamai does not build it"), and #1265 only stopped writing into a claudemd the team mapped for them.

All five already read team rules from a rules directory teamai writes, and each has an always-on mode there. Cursor, CodeBuddy and WorkBuddy already get the blocks the same way: an owned teamai-context file in the rules directory, with an always-on header.

 TOOLS[tool].blocks
-  qoder, qoder-cn, kiro, trae, trae-cn   NONE
+  qoder, qoder-cn, kiro, trae, trae-cn   { in: 'rules-dir', name: 'teamai-context.md', owned: true, header: … }
 README matrix, culture column
-  — 5 agents
+  ✓ every agent

Where the blocks go

Tool User scope Workspace scope Header Evidence
Qoder ~/.qoder/rules/teamai-context.md .qoder/rules/teamai-context.md new trigger-always-on (trigger: always_on) s: Qoder CLI 1.1.78 loads always-on rules from both directories at startup; d: the IDE's Always Apply rules in .qoder/rules
Qoder CN ~/.qoder-cn/rules/teamai-context.md shared with Qoder the same s: the same bundle's CN switch; d: the Qoder CN CLI memory docs
Kiro ~/.kiro/steering/teamai-context.md .kiro/steering/teamai-context.md new inclusion-always (inclusion: always) d: global and workspace steering, IDE and CLI
Trae ~/.trae/user_rules/teamai-context.md .trae/rules/teamai-context.md existing always-apply (alwaysApply: true) d: official rules docs
Trae CN ~/.trae-cn/user_rules/teamai-context.md shared with Trae existing always-apply d: official CN rules docs

The Qoder CLI also accepts alwaysApply: true, but trigger: always_on is the form the Qoder IDE writes and the one teamai's Qoder rule format already uses. AGENTS.md is not used in any of the five: it is the member's own file in Qoder and Kiro, Qoder can rename it (context.fileName), and Trae reads it only after the member turns on a setting.

Behavior

  • BlocksHeader gains 'trigger-always-on' and 'inclusion-always', mapped in HEADERS (src/instruction-targets.ts). The mapped type makes tsc fail until both are mapped, and KNOWN_HEADERS picks them up for cleanup.
  • Qoder and Qoder CN share .qoder/rules, and Trae and Trae CN share .trae/rules, so each pair writes one workspace file, as CodeBuddy and WorkBuddy do.
  • teamai-context.md is already excluded from rules push and stale-rule cleanup (EXCLUDED_RULE_NAMES).

Acceptance criteria

  1. teamai pull in user scope writes teamai-context.md with the tool's header into each of the five user directories above, and in workspace scope into .qoder/rules, .kiro/steering and .trae/rules, one file per directory.
  2. The file holds the culture and shared-instruction blocks, and nothing outside teamai's markers changes on a second pull.
  3. teamai uninstall removes the file; a later pull with the tool not installed writes nothing for it.
  4. A Qoder CLI session started in a workspace after teamai pull has the culture text in its memory (the same harness that verified the Qoder rules cell).

Definition of done

  • TOOLS entries for the five tools carry the blocks channels above, with their evidence. The README culture ticks, in every README*.md, follow: readme-matrix.test.ts fails until they do.
  • docs/guide/tool-support.md and its Chinese page regenerated with npx vitest run tool-support -u.
  • docs/guide/team-culture.md and docs/guide/zh-CN/team-culture.md: "Where the blocks go" gains the rows above.
  • The channel: 'none' rows for these tools in src/__tests__/locate-blocks.test.ts become write and read rows.
  • Real-CLI record: teamai pull in a workspace with Qoder CLI installed, the written file, and the session that loads it.

Watch out for

  • The blocks now share each tool's rules budget: the Qoder IDE truncates past 100,000 characters across all active rules, and the Kiro CLI drops context files past 75% of the context window. A large claudemd can push team rules out.
  • Unknown or not covered: the Qoder IDE's user scope, Kiro CLI sessions running a teamai-rendered custom agent (no steering, as with rules today), and Trae cloud tasks (local rules only).
  • The recall block repeats the built-in teamai-recall rule these tools already get. Cursor, CodeBuddy, WorkBuddy and Claude Code already get both. Keep the behavior consistent here and settle the duplication across tools separately.
  • The Trae docs now name ~/.trae/user_rules and .trae/rules, so Trae's rules read evidence can move from unknown and assumed to docs in the same PR.

Out of scope

  • Removing the recall duplication.
  • Deriving the header from each tool's rule format instead of HEADERS.

Dependencies

  • Needs #1406 merged: it adds the README culture column and its check.
Dominant language
TypeScript
Stars
5.6k
Forks
471
Avg merge
21h 39m
Merged PRs (30d)
377

Getting set up

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 Tencent/teamai-cli

All issues in Tencent/teamai-cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.