MoonshotAI / MoonshotAI/kimi-code

Source files organization (what ships vs what doesn't)

Open
#2,530 0 comments 0 reactions 0 assignees View on GitHub

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

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.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.