finos / finos/architecture-as-code

Allow generate command to add new options to an existing architecture

Open
#3,118 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
399
Forks
138
Avg merge
2d 6h
Merged PRs (30d)
38

Description

## Feature Proposal

### Target Project:
CLI

### Description of Feature:
Currently when you generate an architecture from a pattern you have a nice user experience.
But if you want to come back later and add more options, you have to:
- generate to a new file
- identitify the common config options and copy them over manually (or with AI)
- delete the original and rename
- fill out the new properties

This change would introduce some new logic:
- when generating to a file that already exists, before writing the new file, look at any placeholders in the document
- if there is a value in that placeholder in the current file, extract those values and pre-fill them to the new architecture

in other words it's an in-place update.

Also provide a flag to ignore existing options. `--ignore-existing`

### User Stories:
As a CLI user I want to easily add new options to my existing architecture when generating

### Current Limitations:
CLI overwrites every time.

### Proposed Implementation:
- When a placeholder is generated, track it and its jsonpath in a map
- Before writing, load existing file if exists
- iterate over this map and extract values
- then set on the new map to write

### Alternatives Considered:
Command to copy from one file to another - but this seemed very niche.

### Testing Strategy:
CLI tests, integration tests

### Documentation Requirements:
Update CLI docs

### Implementation Checklist:
- [ ] Design reviewed and approved
- [ ] Implementation completed
- [ ] Tests written and passing
- [ ] Documentation updated
- [ ] Relevant workflows updated (if needed)
- [ ] Performance impact assessed

### Additional Context:
...add any other context, diagrams, mockups, or screenshots about the feature request here...

Contributor guide

Open the contributing guide

Research direction

Start with the CLI generate command and its placeholder-generation flow, then trace how the output file is written. Review the CLI and integration testing areas before implementing preservation of existing placeholder values and the --ignore-existing flag; done means tests pass and the CLI documentation is updated.

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
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.