MoonshotAI / MoonshotAI/kimi-code
Source files organization (what ships vs what doesn't)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
Question
Determine what belongs in src/ vs what doesn't. The convention: src/ holds what ships and nothing else. The test suite, build scripts, and documentation are not shipped and do not belong there.
Inside src/, mirror the deliverable's own structure. For larger codebases, separate layers explicitly: user-facing entry points (CLI, HTTP handlers, UI) apart from domain logic, and both apart from persistence and external service adapters.
Decision needed: For each package, identify what is the "deliverable" that ships vs. what is internal/tooling/test. This is especially important for a monorepo where some packages are libraries (ship via npm) and others are applications (ship as binaries/Docker images).
Label: wayfinder:task
Part of #2517
Blocks: #2518
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inventorying each package's current src/, test suite, build scripts, and documentation, then identify whether its deliverable ships via npm, as a binary, or as a Docker image. For each package, document what belongs in src/ and how its entry points, domain logic, persistence, and external adapters should be separated; done means every package has an agreed deliverable boundary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100