makeplane / makeplane/plane

[feature]: support modules in Compose YAML (currently dropped on plane clone)

Open
#9,003 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
59.6k
Forks
5.8k
Avg merge
1d 22h
Merged PRs (30d)
49

Description

Context for this and four related tickets: https://github.com/orgs/makeplane/discussions/8999

I have searched existing issues; no existing report covers this specific gap.

Summary

Compose 0.2.0 doesn't represent modules at all -- neither in schema/ nor as a field on work items. plane clone of a project with modules drops the module definitions and per-item memberships silently (no warning, no error). Since modules are how Plane users decompose projects into workstreams, their absence means the structural model of any non-flat project can't survive a round-trip through YAML.

Proposed shape:

# schema/modules.yaml
- name: Legal DD
  description: ...
- name: QofE
  description: ...

# work item
- id: PROJ-1
  title: ...
  module: Legal DD

(Single-module-per-item is the simplest start; the v1 API does support multiple modules per item, so a list form (modules: [Legal DD, Tax]) would be a natural extension.)

Why should this be worked on?

The projects-as-code value proposition for Compose ("Your project's structure: workflows, states, fields, labels, is a first-class artifact") implicitly promises that a Plane project's structure can be expressed in YAML and round-tripped without loss. For projects whose structure is meaningfully expressed via modules -- which I'd guess is most projects with more than ~10 items -- the current behavior breaks that promise silently.

To reproduce the gap: clone any Plane project that uses modules (e.g. via plane clone <uuid> --workspace <slug>), then inspect schema/ and .plane/remote/items.yaml. Modules and per-item module membership are absent.

Without modules in YAML, Compose's effective scope reduces to states + labels + types + custom fields -- workflow primitives that most other PM platforms also expose. Modules are one of the things that makes Plane's data model genuinely richer than competitors; supporting them in YAML would meaningfully change how teams can use Compose as the source of truth for their project structures.

Related tickets in the same batch: #9000 (missing CLI commands), #9001 (push is create-only), #9002 (version drift). The discussion thread linked above frames all five as a coherent set.

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 with the plane clone entry point and inspect schema/ and .plane/remote/items.yaml to trace how project data is serialized. Add module definitions and per-item module membership using the proposed YAML shape, then verify that cloning a project preserves both through the round trip.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.