Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarifications #2

Open
Your-Name-Here opened this issue Feb 14, 2024 · 0 comments
Open

Clarifications #2

Your-Name-Here opened this issue Feb 14, 2024 · 0 comments

Comments

@Your-Name-Here
Copy link

I wanted to do something like this if it hasnt been done before. This is how I found this repo.

I was reading through the code and wanted to ask why you chose some of the core design decisions.

Why markdown files?
It would seem to me at least that writing specs would be more efficient or standardized if done with JSON or YAML or even Toml. YAML is cheaper to parse with openAI.

compiler.config.yaml

language: typescript
project_tree_dir: c://...
memory_scratch_pad_dir: c://...
prefer_classes: true
prefer_function: true
max_api_calls_per_file: 10
api_key: sk-xxxxxxxxxxxxxxxxxxxx

DatabaseController.spec.yaml

test: true
linked_modules:
  - feature1
  - feature2
description: This widget will control the SQL database
required_functionality:
  - name: getRows
    description: 'Performs a query on a table,'
    args:
      - table: string
      - query: string
    returns: bool
  - name: addRows
    description: 'Adds a row to a table,'
    args:
      - table: string
      - query: string
    returns: bool
...and so on

Additionally, there seems to be a large focus on reducing calls to the API. I understand that it costs for every call you send. However, I can't imagine that this would cost more than a few cents per file. So even with a larger codebase being generated, you'd be looking at a few USD at most. This could jump-start your project and save you hundreds of man-hours for just a couple of dollars. If it is too expensive for some, they have the option to code everything by hand including tests and documentation.

When sending a request to generate a function/method, you also include a file tree with schemas like above, for all other methods only if the file size is larger than the context window. Otherwise, send the whole file with the request to generate method x from the schema.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant