This is the snapshot the production landing site (nibiru-framework.com) is deployed from. Brings together the recent splash + docs migration to the v4 "Cosmos" design system, the new in-framework AI module, and the framework groundwork that backs the framework-reference extraction. What lands: - docs/: Astro + Starlight site with the v4 dark cosmic palette, GalaxyHero canvas constellation, Mission Control chat (wired to /api/oracle → api.neuronetz.ai via providers.mjs Ollama), 5-panel MMVC stage (Model · AI · Module · Controller · View), translated EN/DE/JA/ES/FR content, PWA + sitemap + llms.txt + Umami analytics. - docs/design-system/: canonical mockup bundle (source/index-v2.html for splash, source/docs-system.html + preview/ for docs, SPEC.md, tokens). - docs/scripts/extraction/framework-reference-v2.md: deep framework reference (~1.6k lines, file:line citations, every public factory and idiom — basis for the LoRA training corpus. - application/module/ai/: AI module with chat / embed / RAG / agent plugins, plus pdoQuery / httpGet / fileRead tools and Modelfile + smoke-test in training/. - application/module/users/: user / ACL / form-factory traits used as the reference plugin pattern for the framework docs. - application/settings/config/database/: schema + seed migrations including the AI module tables (200–203). - Form factory + autogenerator changes the framework-reference-v2 covers. Production secrets stay out: docs/.env, settings.production.ini and ai.production.ini are all gitignored (.example files are in tree). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
// Require Gulp
|
|
var gulp = require('gulp'); // https://github.com/gulpjs/gulp | http://gulpjs.com/
|
|
|
|
// Require Gulp Plugins
|
|
var less = require('gulp-less'), // https://github.com/plus3network/gulp-less
|
|
minifyCSS = require('gulp-minify-css'), // https://github.com/murphydanger/gulp-minify-css
|
|
rename = require('gulp-rename'), // https://github.com/hparra/gulp-rename
|
|
concat = require('gulp-concat'), // https://github.com/contra/gulp-concat
|
|
uglify = require('gulp-uglify'), // https://github.com/terinjokes/gulp-uglify
|
|
browserSync = require('browser-sync').create(), // https://github.com/BrowserSync/browser-sync
|
|
reload = browserSync.reload;
|
|
|
|
// Parent folder, you can change it if you have a different folder name
|
|
var parentFolder = 'template/';
|
|
|
|
// Concatenate the scripts in the right order
|
|
var scriptsOrder = [
|
|
parentFolder + 'js/dev/libs/*', // Libs
|
|
parentFolder + 'js/dev/libs/plugins/*.js', // Plugins
|
|
parentFolder + 'js/dev/modules.js' // Modules
|
|
];
|
|
|
|
// Compile Less files
|
|
gulp.task('less', function() {
|
|
return gulp.src(parentFolder + 'less/style.less').
|
|
pipe(less()).
|
|
pipe(minifyCSS({
|
|
mediaMerging: true
|
|
})).
|
|
pipe(rename({
|
|
suffix: '.min'
|
|
})).
|
|
pipe(gulp.dest(parentFolder + 'css')).
|
|
pipe(reload({
|
|
stream: true
|
|
}));
|
|
});
|
|
|
|
// Concatenate JavaScript files
|
|
gulp.task('scripts', function () {
|
|
return gulp.src(scriptsOrder).
|
|
pipe(concat('all.js')).
|
|
pipe(gulp.dest(parentFolder + 'js')).
|
|
pipe(reload({
|
|
stream: true
|
|
}));
|
|
});
|
|
|
|
// Concatenate and minify JavaScript files
|
|
gulp.task('scriptsMin', function () {
|
|
console.log(scriptOrder);
|
|
return gulp.src(scriptsOrder).
|
|
pipe(concat('all.js')).
|
|
pipe(uglify()).
|
|
pipe(gulp.dest(parentFolder + 'js'));
|
|
});
|
|
|
|
// Watch for file changes and trigger browser reload
|
|
gulp.task('watch', function () {
|
|
browserSync.init({
|
|
server: parentFolder
|
|
});
|
|
|
|
gulp.watch(parentFolder + 'less/**/*.less', ['less']);
|
|
gulp.watch(parentFolder + '**/*.html').on('change', browserSync.reload);
|
|
gulp.watch(parentFolder + 'js/dev/**/*.js', ['scripts']);
|
|
});
|
|
|
|
// Development Build [run 'gulp dev' in your terminal]
|
|
gulp.task('dev', ['less', 'scripts', 'watch']);
|
|
|
|
// Production Build [run 'gulp prod' in your terminal]
|
|
gulp.task('prod', ['less', 'scriptsMin']); |