[feature]: support modules in Compose YAML (currently dropped on plane clone)
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
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 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