Project: allow me to write a new project.yaml file without UUIDs
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 23
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 17
Description
When I pull a project with new sync, I am left with two different artefacts:
- A "project.yaml" file (which really needs a better name) which is a direct representation of the project state. It's basically a
state.jsonfile, although formatted a bit more cleanly. - A "workflows" folder and some config files, which allow me to read and run the workflows of my project locally
We're currently on the verge of saying: the workflows folder is the unit of portability, that's the thing you share with other users.
But a folder is a bit awkward to share. You have to zip it and extract it.
So I'm dithering on the idea of expanded versus unexpected projects.
The projects.yaml file is an unexpanded project - everything in one file. But it's coupled with app state (UUIDs), and I don't want to share that stuff with other users. Plus it's bloaty.
So I need to be able to get a stateless single-file representation of a project. If I export the project from the app, this stateless single file should be what I get. It's exactly the same as the expanded workflows folder, just in one file.
Also important here is that all statey stuff is tucked inside .openfn keys, or something similar. So the state is additive and easy to see.
This is closely related to https://github.com/OpenFn/kit/issues/1169
So I'm repeating myself but this could be an openfn eject command. Or maybe I can pull, save or export with the --stateless command.
Of course the stateless file has no endpoint or domain, and doesn't live in .projects.
Contributor guide
No contributing guide indexed for this repository
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 reading the related issue #1169 and tracing the existing pull, save, export, and possible eject command paths. Done means a single-file stateless project representation can be shared without UUIDs, endpoint or domain data, or placement in .projects, with state grouped under .openfn keys.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100