<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://contexts.bitplan.com/index.php?action=history&amp;feed=atom&amp;title=Ypgen</id>
	<title>Ypgen - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://contexts.bitplan.com/index.php?action=history&amp;feed=atom&amp;title=Ypgen"/>
	<link rel="alternate" type="text/html" href="https://contexts.bitplan.com/index.php?title=Ypgen&amp;action=history"/>
	<updated>2026-05-29T17:54:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://contexts.bitplan.com/index.php?title=Ypgen&amp;diff=804&amp;oldid=prev</id>
		<title>Sysop: pushed from media by wikipush</title>
		<link rel="alternate" type="text/html" href="https://contexts.bitplan.com/index.php?title=Ypgen&amp;diff=804&amp;oldid=prev"/>
		<updated>2026-03-19T05:42:39Z</updated>

		<summary type="html">&lt;p&gt;pushed from media by wikipush&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Ypgen - Y-Principle Generator =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ypgen&amp;#039;&amp;#039;&amp;#039; (py-yprinciple-gen) is a Python-based code generator that applies the [https://wiki.bitplan.com/index.php/Y-Principle Y-Principle] to automatically generate [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki Semantic MediaWiki] infrastructure from a single model definition.&lt;br /&gt;
&lt;br /&gt;
* GitHub: https://github.com/WolfgangFahl/py-yprinciple-gen&lt;br /&gt;
* PyPI: [https://pypi.org/project/py-yprinciple-gen/ py-yprinciple-gen]&lt;br /&gt;
* Web UI: https://ypgen.bitplan.com&lt;br /&gt;
* Version: 0.5.2 (2026-02-23)&lt;br /&gt;
* License: Apache 2.0&lt;br /&gt;
&lt;br /&gt;
== The Y-Principle ==&lt;br /&gt;
&lt;br /&gt;
The Y-Principle states: &amp;#039;&amp;#039;&amp;#039;Define once, generate everything.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Instead of manually creating wiki Templates, Forms, Categories, Concepts, Properties, and Help pages for each topic, you define the data model once in a &amp;#039;&amp;#039;&amp;#039;Context&amp;#039;&amp;#039;&amp;#039; using the SiDIF (Simple Data Interchange Format) notation. Ypgen then generates all necessary wiki pages from that single definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                     Context (SiDIF Model)&lt;br /&gt;
                            |&lt;br /&gt;
                          ypgen&lt;br /&gt;
                            |&lt;br /&gt;
        +--------+--------+--------+--------+--------+&lt;br /&gt;
        |        |        |        |        |        |&lt;br /&gt;
   Template   Form   Category  Concept  Properties  Help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This eliminates redundancy, ensures consistency, and makes changes propagate automatically across all generated artifacts.&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Define a Context ===&lt;br /&gt;
&lt;br /&gt;
A Context is a data model defined in SiDIF notation on [https://contexts.bitplan.com contexts.bitplan.com]. It contains:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Topics&amp;#039;&amp;#039;&amp;#039; - The things you want to model (e.g., Agent, Mail, Scholar)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; - The attributes of each topic (e.g., name, role, since)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Metadata&amp;#039;&amp;#039;&amp;#039; - Type, input type, bounds, documentation, display options&lt;br /&gt;
&lt;br /&gt;
Example: The [https://contexts.bitplan.com/index.php/AgentContext AgentContext] defines the &amp;#039;&amp;#039;&amp;#039;Agent&amp;#039;&amp;#039;&amp;#039; topic with properties like name, role, DISC scores, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Agent isA Topic&lt;br /&gt;
&amp;quot;Agent&amp;quot; is name of it&lt;br /&gt;
&amp;quot;Agents&amp;quot; is pluralName of it&lt;br /&gt;
&amp;quot;AI Assistant that performs tasks autonomously&amp;quot; is documentation of it&lt;br /&gt;
&amp;quot;property&amp;quot; is defaultstoremode of it&lt;br /&gt;
&lt;br /&gt;
Agent_name addsTo it&lt;br /&gt;
Agent_role addsTo it&lt;br /&gt;
Agent_dominance addsTo it&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Run ypgen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Generate wiki infrastructure and serve the web UI&lt;br /&gt;
ypgen --context AgentContext --wikiId media --serve&lt;br /&gt;
&lt;br /&gt;
# Or generate for a specific wiki without web server&lt;br /&gt;
ypgen --context AgentContext --wikiId media&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command-line options:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Default !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--context CONTEXT&amp;lt;/code&amp;gt; || MetaModel || Context to generate from&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--wikiId WIKIID&amp;lt;/code&amp;gt; || wiki || Target wiki ID (from ~/.mediawiki-japi/ config)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--serve&amp;lt;/code&amp;gt; || false || Start web server for review UI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--host HOST&amp;lt;/code&amp;gt; || fix.bitplan.com || Host to serve from&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--port PORT&amp;lt;/code&amp;gt; || 8778 || Port to serve from&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; || false || Debug mode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3. Review Generated Pages ===&lt;br /&gt;
&lt;br /&gt;
The web UI at [https://ypgen.bitplan.com ypgen.bitplan.com] shows all generated wiki pages side-by-side before pushing them to the target wiki. You can review:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Template:Agent&amp;#039;&amp;#039;&amp;#039; - The Semantic MediaWiki template with all properties&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Form:Agent&amp;#039;&amp;#039;&amp;#039; - The form for creating/editing agent pages&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Category:Agent&amp;#039;&amp;#039;&amp;#039; - The category page&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Concept:Agent&amp;#039;&amp;#039;&amp;#039; - The SMW concept definition&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Property:Agent *&amp;#039;&amp;#039;&amp;#039; - Individual property pages&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Help:Agent&amp;#039;&amp;#039;&amp;#039; - Auto-generated help page&lt;br /&gt;
&lt;br /&gt;
=== 4. Push to Wiki ===&lt;br /&gt;
&lt;br /&gt;
After review, the generated pages are pushed to the target wiki (e.g., media.bitplan.com). Users can then create pages using the generated templates and forms.&lt;br /&gt;
&lt;br /&gt;
== What Gets Generated ==&lt;br /&gt;
&lt;br /&gt;
For each &amp;#039;&amp;#039;&amp;#039;Topic&amp;#039;&amp;#039;&amp;#039; in a Context, ypgen generates:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wiki Page !! Purpose !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Template:{Topic}&amp;lt;/code&amp;gt; || Stores and displays semantic properties || Template:Agent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Form:{Topic}&amp;lt;/code&amp;gt; || User-friendly input form || Form:Agent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Category:{Topic}&amp;lt;/code&amp;gt; || Groups all instances || Category:Agent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Concept:{Topic}&amp;lt;/code&amp;gt; || SMW concept for querying || Concept:Agent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Help:{Topic}&amp;lt;/code&amp;gt; || Auto-generated documentation || Help:Agent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Property:{Topic} {prop}&amp;lt;/code&amp;gt; || One per property || Property:Agent name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;List of {PluralName}&amp;lt;/code&amp;gt; || Overview/listing page || List of Agents&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contexts at BITPlan ==&lt;br /&gt;
&lt;br /&gt;
Contexts are managed on [https://contexts.bitplan.com contexts.bitplan.com]. Key contexts include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Context !! Description !! Topics&lt;br /&gt;
|-&lt;br /&gt;
| [https://contexts.bitplan.com/index.php/AgentContext AgentContext] || AI Agent definitions || Agent&lt;br /&gt;
|-&lt;br /&gt;
| [https://contexts.bitplan.com/index.php/MetaModel MetaModel] || The meta-model itself || Context, Topic, Property, ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [https://wiki.bitplan.com/index.php/Y-Principle Y-Principle] - The underlying design principle&lt;br /&gt;
* [https://wiki.bitplan.com/index.php/py-yprinciple-gen py-yprinciple-gen on wiki.bitplan.com] - Technical documentation&lt;br /&gt;
* [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki Semantic MediaWiki] - The wiki platform&lt;/div&gt;</summary>
		<author><name>Sysop</name></author>
	</entry>
</feed>