<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contributor Guide on Lucille</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/</link><description>Recent content in Contributor Guide on Lucille</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 09 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/index.xml" rel="self" type="application/rss+xml"/><item><title>Project Structure and Build</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/project-structure/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/project-structure/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Lucille is a multi-module Maven project. The module hierarchy is:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;lucille (root aggregator)
├── lucille-parent # parent POM: dependency versions, plugin config, build profiles
├── lucille-bom # Bill of Materials: version-aligned dependency declarations
├── lucille-core # the framework itself: Runner, Worker, Indexer, Pipeline, Document, Stages, Connectors
├── lucille-plugins/ # optional modules with heavy or specialized dependencies
│ # (tika, pinecone, weaviate, jlama, parquet, ocr, video, entity-extraction, api)
└── lucille-examples/ # runnable example projects demonstrating common ingestion patterns (not published to Maven Central)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="the-modules"&gt;The Modules&lt;/h2&gt;
&lt;h3 id="lucille-parent"&gt;lucille-parent&lt;/h3&gt;
&lt;p&gt;The parent POM that all other modules inherit from. It defines:&lt;/p&gt;</description></item><item><title>Setup &amp; Standards</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/setup-standards/</link><pubDate>Tue, 15 Oct 2024 00:00:00 +0000</pubDate><guid>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/setup-standards/</guid><description>&lt;h2 id="local-developer-setup"&gt;Local Developer Setup&lt;/h2&gt;
&lt;h3 id="prerequisites"&gt;Prerequisite(s):&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IntelliJ application installed on machine&lt;/li&gt;
&lt;li&gt;Java project&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="setting-up-google-code-formatting-scheme"&gt;Setting up Google Code Formatting Scheme&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Make sure that Intellij is open&lt;/li&gt;
&lt;li&gt;Go to the following link: &lt;a href="https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml"&gt;styleguide/intellij-java-google-style.xml at gh-pages · google/styleguide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Download the .xml file&lt;/li&gt;
&lt;li&gt;Open the file in an editor of your choice&lt;/li&gt;
&lt;li&gt;Navigate to the &amp;lt;option …&amp;gt; tag with name ‘Right Margin’ and edit the value to be 132 (it should default as 100)&lt;/li&gt;
&lt;li&gt;Save the file&lt;/li&gt;
&lt;li&gt;In Intellij IDEA, navigate to Settings | Preferences → Code Style → Editor → Java&lt;/li&gt;
&lt;li&gt;Click on the gear icon on the right panel and drill down to the option Import Scheme and then to Intellij IDEA Code Style XML&lt;/li&gt;
&lt;li&gt;In the file explorer that opens, navigate to where you stored the aforementioned .xml file we downloaded&lt;/li&gt;
&lt;li&gt;After selecting the file, you should see a pop-up allowing you to name the scheme; select a name and click ‘Okay’&lt;/li&gt;
&lt;li&gt;Click ‘Apply’ in the Settings panel&lt;/li&gt;
&lt;li&gt;Restart the IDE; You can use the ‘Reformat Code’ option to apply the plug-in on your code&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="excluding-non-java-files"&gt;Excluding Non-Java Files&lt;/h3&gt;
&lt;p&gt;Assuming that we don’t want to auto-format non-java files via a directory level ‘Reformat Code’ option, we need to exclude all other files from being reformatted&lt;/p&gt;</description></item><item><title>Coding Conventions</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/coding-conventions/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://kmwtechnology.github.io/lucille/docs-0.10.0/contributing/coding-conventions/</guid><description>&lt;p&gt;Lucille follows conventions broadly consistent with the &lt;a href="https://google.github.io/styleguide/javaguide.html"&gt;Google Java Style Guide&lt;/a&gt;, with some deviations noted below. There is no enforced checkstyle or formatter plugin in the build — conventions are maintained through code review.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="formatting"&gt;Formatting&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Indentation: 2 spaces.&lt;/strong&gt; All source files use 2-space indentation, consistent with Google style. No tabs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Line length:&lt;/strong&gt; No strict enforced limit, but lines are generally kept under 120 characters. Long lines (especially in constructors with many parameters or complex conditionals) are broken at natural points.&lt;/p&gt;</description></item></channel></rss>