Files
nibiru-framework.com/application/view/mockup/gulpfile.js
stephan 48c839d927 Initial public push: docs cosmos v4 + AI module + framework groundwork
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>
2026-05-08 15:22:18 +02:00

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']);