aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
106 lines (95 loc) • 2.12 kB
YAML
# {{COMPONENTNAME}} Data
#
# {{DESCRIPTION}}
#
# Squad: {{SQUADNAME}}
# Created: {{CREATEDAT}}
# Story: {{STORYID}}
name: {{COMPONENTNAME}}
version: 1.0.0
description: {{DESCRIPTION}}
# Metadata
metadata:
created: {{CREATEDAT}}
author: squad-creator
squad: {{SQUADNAME}}
tags:
- data
- {{SQUADNAME}}
# Data schema definition
schema:
type: object
required:
- id
- name
properties:
id:
type: string
description: "Unique identifier"
pattern: "^[a-z][a-z0-9-]*$"
name:
type: string
description: "Display name"
minLength: 1
maxLength: 100
description:
type: string
description: "Optional description"
enabled:
type: boolean
description: "Whether this entry is enabled"
default: true
priority:
type: integer
description: "Priority level (1-10)"
minimum: 1
maximum: 10
default: 5
metadata:
type: object
description: "Additional metadata"
additionalProperties: true
# Default values for new entries
defaults:
enabled: true
priority: 5
metadata: {}
# Validation rules
validation:
- rule: "id must be unique"
check: "unique(entries.id)"
- rule: "name must not be empty"
check: "length(name) > 0"
# Data entries
entries:
- id: example-1
name: "Example Entry 1"
description: "This is an example entry"
enabled: true
priority: 5
metadata:
category: example
- id: example-2
name: "Example Entry 2"
description: "Another example entry"
enabled: true
priority: 3
metadata:
category: example
# Usage examples
usage:
load: |
const yaml = require('js-yaml');
const fs = require('fs');
const data = yaml.load(fs.readFileSync('{{COMPONENTNAME}}.yaml', 'utf8'));
console.log(data.entries);
query: |
const activeEntries = data.entries.filter(e => e.enabled);
const highPriority = data.entries.filter(e => e.priority >= 7);
add_entry: |
data.entries.push({
id: 'new-entry',
name: 'New Entry',
enabled: true,
priority: 5,
});