Data shape core critical Evaluation required in app meta? Add later? db table Uploaded app Single File app Store view in ds-host app distribution site
App Name I18N (?) string   in metadata or in code warn if missing   app (latest) and app version dropapp.json run createApp show appinfo.toml
App Version semver for sequencing of versions in metadata or in code required (could default to 0.0.1 if missing)   app version dropapp.json run createApp show appinfo.toml
App Entrypoint rel path from app archive root for running default of app.js or app.ts if not sfa and not default   app version (or not? bake that into bootstrap.js at install time?) dropapp.json no - there's only one file   appinfo.toml
ds lib support version semver of ds_lib_support what sandbox code to run it with run deno info to see what version it loads coherent value required Right now we have DS api at 0, and it's fine, so could potentially add later. app version dropapp.json eval in getApp show appinfo.toml
Data Schema integer for now yes run createApp schema 0 if none (should have no disk access?)   app version dropapp.json evaluate show appinfo.toml
Migrations array of objects with fields: from, to? yes, tells if it's possible to migrate appspace data run createApp, look at migrations              
Route risk Public-dynamic, public-static, private   reun create app get routes              
Permissions (later)   yes run createApp evaluated Assume no permissions to grant if absent gets it own table probably? Unclear dropapp.json   show appinfo.toml
Signature string with sig and pub key? for app identification and hence sequencing (?) signature must be against an archive to be verifiable No. sign archive and put sig in presentation layer Not signed if no signature field. Probably at least a bool? Or put full sig in app table? Should be included not possible? show appinfo.toml
Vendored bool yes to know if net needed deno info evaluated Assume not vendored unless specified   dropapp.json evaluate show appinfo.toml
Code characteristics Remote, TS, none yes deno info on app code with json output? evaluated Assume remote, TS. Note these can be evaluated locally (probably).   dropapp.json   show appinfo.toml
App Icon rel path to file     optional, name + atach   app (latest) and app version Include in package no or link? show appinfo.toml link?
App Main Screenshot rel path to file     No bc you need access to it without loading archive Nice to have. Can display app withtout this. app Include in package no or lnk? show appinfo.toml link?
DS Packaging Version int? x.y? for reading the metadata in metadata or in code required (could infer from DS API version?) Assume it's the first released version if not mentioned?   dropapp.json if package ver means metadata ver, then yes use internally appinfo.toml
                     
Language(s) metadata. single string, array, or lang => completion table yes, later when users specify language in metadata notice if missing Assume en app and app version? Or leave for later metadata.json   show appinfo.toml
Authors see package.json?   in metadata or in code warn if missing?     metadata.json   show appinfo.toml
App distribution URL URL string for app identification in metadata or in code or determined at acquisition ?   app, for app identification to user metadata.json   show appinfo.toml
Repository URL   in metadata or in code optional     metadata.json   show appinfo.toml
Related apps array of url, id, relation     optional     metadata.json   show appinfo.toml
Keywordfs array of English strings (not I18N so they match up)     optional     metadata.json   show appinfo.toml
Homepage URL   in metadata or in code optional     metadata.json   show appinfo.toml
License SPDX value, and URL and or path to file   in metadata or in code warn if missing     Include in package link to license text show appinfo.toml plus link
Funding URL but maybe also I18N string?     optional   app (always use latest) metadata.json   show appinfo.toml
Help/docs/support URL URL(s)     ?   App only (only latest info is relevant. metadata.json   show appinfo.toml
Age appropriateness (is there a standard for this?           metadata.json   show appinfo.toml
Download Size either string, or integer number of bytes?     No, measure archive and report on outside.     metadata.json not realy relevant sho appinfo.toml
Release date YYYY-MM-DD string? Should it be keyed to version to prevent accidental stale data? Or do we assume it's a generated date?                  
Features? I18N string or something           metadata.json   show appinfo.toml
Privacy Would like defined anti-patterns like YUNoHost     optional     metadata.json   show appinfo.toml
                     
App Description (short) I18N string         app     show  
App description (long) I18N string (long) or ref local file or URL     optional     ?   show appinfo.toml
More schreenshots table of (I18N title, I18N alt, rel filepath)     No. Presentation     ?   ? appinfo.toml + links
Release Notes rel path(s) to I18N Md file -- or just single language for this?     notice if missing. Ugrading without rel notes is bad.     Would be nice to have   show ??
Actual Help Files presentation           ?   no appinfo.toml link
                     
Listing of versions array of semvers   Need collection of existing versions ?     Include: signature? release date (good info)   show / use internally at /versions ?