Skip to content

feat: add DEEPSEEK.md as project context file#1852

Open
EmiyaKiritsugu3 wants to merge 1 commit into
Hmbown:mainfrom
EmiyaKiritsugu3:feat/deepseek-md-support
Open

feat: add DEEPSEEK.md as project context file#1852
EmiyaKiritsugu3 wants to merge 1 commit into
Hmbown:mainfrom
EmiyaKiritsugu3:feat/deepseek-md-support

Conversation

@EmiyaKiritsugu3
Copy link
Copy Markdown

Adds DEEPSEEK.md to PROJECT_CONTEXT_FILES so harnesses like superpowers can ship a harness-specific instruction file that gets auto-loaded as project_instructions — analogous to GEMINI.md in Gemini CLI.

What

1 line in the PROJECT_CONTEXT_FILES constant, positioned after AGENTS.md so harness-specific files take priority over generic CLAUDE.md while universal AGENTS.md remains top.

Files changed

  • project_context.rs: Add DEEPSEEK.md to PROJECT_CONTEXT_FILES and module docstring
  • working_set.rs: Add DEEPSEEK.md to key-file detection candidates
  • utils.rs: Add deepseek.md to fallback key-file matcher

Why

Superpowers needs a harness-specific bootstrap file to inject the using-superpowers skill at session start. AGENTS.md is already used for universal contributor guidelines and shouldn't be repurposed. Prior art: Gemini CLI reads GEMINI.md, OpenCode reads .opencode/plugins/.

Closes #1851

Add DEEPSEEK.md to PROJECT_CONTEXT_FILES so harnesses like superpowers can ship a harness-specific instruction file. Closes Hmbown#1851
@EmiyaKiritsugu3
Copy link
Copy Markdown
Author

Note: Rust toolchain (cargo) is not available in my local environment, so I could not run cargo fmt --check, cargo clippy, or cargo test before submitting.

However, the change is trivially verifiable by inspection:

  1. project_context.rs: Adds "DEEPSEEK.md" to a static array constant and one docstring line — cannot break compilation
  2. working_set.rs: Adds "DEEPSEEK.md" to a static array constant — same
  3. utils.rs: Adds "deepseek.md" to a pattern match — same

I will address any CI failures reported by GitHub Actions.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds support for DEEPSEEK.md as a project context and key file across the TUI crates. The changes include updating the file priority list, key file detection logic, and documentation. Feedback suggests reordering the priority list in project_context.rs to place DEEPSEEK.md above AGENTS.md, ensuring that tool-specific instructions are prioritized over universal ones.

Comment on lines 24 to +25
"AGENTS.md",
"DEEPSEEK.md",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The current priority order places AGENTS.md above DEEPSEEK.md. Since load_project_context stops at the first match it finds in the PROJECT_CONTEXT_FILES list, any project containing a universal AGENTS.md will ignore the harness-specific DEEPSEEK.md. This appears to conflict with the PR's stated goal of providing a bootstrap file that doesn't require repurposing AGENTS.md for tool-specific instructions.

To allow tool-specific overrides while still falling back to universal instructions when the specific file is missing, DEEPSEEK.md should be placed at the top of the list. You should also update the module docstring to reflect this priority change.

Suggested change
"AGENTS.md",
"DEEPSEEK.md",
"DEEPSEEK.md",
"AGENTS.md",

@EmiyaKiritsugu3
Copy link
Copy Markdown
Author

Thanks for the review. Here's the rationale for keeping AGENTS.md at higher priority than DEEPSEEK.md:

AGENTS.md is the universal project-instructions file recognized by multiple agents (Claude Code, Gemini CLI, Cursor, and now DeepSeek TUI). Placing a harness-specific file above it would mean that in any project that ships DEEPSEEK.md, the AGENTS.md instructions (which may contain build commands, conventions, architecture notes, or security policies shared across all agents) would be silently shadowed unless the user explicitly maintains both files in sync.

By keeping AGENTS.md first:

  1. Existing AGENTS.md setups are unaffected -- the addition of DEEPSEEK.md is purely additive, never overriding.
  2. Users who want DeepSeek TUI-specific overrides add DEEPSEEK.md and can reference AGENTS.md from it if needed.
  3. The pattern matches how CLAUDE.md (generic) already sits below AGENTS.md (universal) in the same priority list.

DEEPSEEK.md is designed as a complementary file -- analogous to how CLAUDE.md complements AGENTS.md -- not a replacement for it.

@Hmbown Hmbown added this to the v0.8.41 milestone May 21, 2026
@Hmbown Hmbown modified the milestones: v0.8.41, v0.8.43, v0.8.47 May 24, 2026
Hmbown added a commit that referenced this pull request May 27, 2026
- #1937: Make DeepSeek V4 Pro 75% discount permanent (pricing.rs)
- #2237: Fix two clippy warnings (config.rs, runtime_log.rs)
- #1852: Add DEEPSEEK.md as project context file
- #1910: Suppress verbose CLI logging on Windows alt-screen
@Hmbown
Copy link
Copy Markdown
Owner

Hmbown commented May 27, 2026

Independent review:

PR adds DEEPSEEK.md as a third entry in PROJECT_CONTEXT_FILES (between AGENTS.md and .claude/instructions.md), plus deepseek.md to is_key_file and DEEPSEEK.md to detect_key_files. Small, internally consistent.

Concerns against v0.8.48 (pr-2256):

  • v0.8.48 rewrites PROJECT_CONTEXT_FILES to ["WHALE.md", "AGENTS.md", ".claude/instructions.md", "CLAUDE.md", ".codewhale/instructions.md", ".deepseek/instructions.md"] — i.e. it adopts WHALE.md as the CodeWhale-native convention and demotes the deepseek directory to a legacy fallback. The product direction is away from a DEEPSEEK.md filename.
  • v0.8.48's module docstring explicitly says "WHALE.md is the CodeWhale-native convention; AGENTS.md and CLAUDE.md provide compatibility with other coding agents." Adding DEEPSEEK.md at this point reintroduces the brand the rename is trying to retire.
  • Merge sim against pr-2256: conflict in crates/tui/src/project_context.rs (the array itself was rewritten). utils.rs and working_set.rs merge cleanly but would land alongside whale.md/WHALE.md entries v0.8.48 likely already wants.
  • The PR was authored before the CodeWhale rename and is not aware of WHALE.md.

v0.8.48 (#2256) compatibility: superseded — the rename to WHALE.md covers the same "tool-specific project context file" use case under the new brand. Recommend close as superseded; if the author wants DeepSeek-flavored context support, the right ask now is WHALE.md.

@Hmbown
Copy link
Copy Markdown
Owner

Hmbown commented May 27, 2026

@EmiyaKiritsugu3 — thanks for raising this. The underlying ask (a project context file beyond just AGENTS.md / CLAUDE.md) is something we're shipping — v0.8.48 (#2256) adopts WHALE.md as the CodeWhale-native convention, listed in PROJECT_CONTEXT_FILES.

Direction-wise, we're moving away from DEEPSEEK.md because the project rebrand to CodeWhale is the explicit reason for the rename (release notes and the legacy-shim plan land in v0.9.0). So shipping a new DEEPSEEK.md path would re-introduce the brand we're retiring.

If you'd like, the WHALE.md path will give you what you wanted with a name aligned to the rebrand. Closing-friendly outcome: your filed intent (project-specific context file under a name other than AGENTS) is now real. Thanks for the nudge.

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.

feat: add DEEPSEEK.md as project context for harness integrations like superpowers

2 participants