Skip to content

Contributing

Welcome, and thank you for your interest in helping us be the home for 3D printing documentation.

Edits can be proposed via Pull Request on GitHub. Click the “Edit page” link on the bottom of any page to get started!

When you’re ready to commit your changes, run bun run pre-commit. This will run Prettier against all relevant files as well as astro check. We’ll also run this for you on PR, but if you want to make sure you’re in tip-top shape so you don’t have to update your PR, then do this.

By submitting a PR, you agree that all content on this wiki is licensed under GPLv3. This means that anyone is free to use the content on this wiki, provided they make any modifications available under the same license. We want everyone to be able to benefit.

We have several top-level folders; content should go in one of them. If you think we need another top-level folder, feel free to propose it!

Images should be PNG, JPEGs, or WEBP files. HEIC files are not currently supported.

Images for a page should live in a folder next to and named the same as the page. For example:

  • Directorycalibration
    • first-layer.mdx
    • Directoryfirst-layer
      • too-high.png
      • too-low.png

Images can then be referenced in the page like:

![Add descriptive alt text here](./first-layer/too-high.png)

Astro will automatically optimize the image for the device requesting the page.

If you need to include more than a few lines of code in a page, you can put your code in its own file. These files should live in a folder next to and named the same as the page. For example:

  • Directoryslicing
    • settings-sync.mdx
    • Directorysettings-sync
      • setup-nix.sh
      • setup-win.ps1

These files can then be referenced in the page like:

import setupNix from "./settings-sync/setup-nix.sh?raw";
import setupWin from "./settings-sync/setup-win.ps1?raw";
<Code code={setupNix} lang="bash" title="setup-nix.sh" />
<Code code={setupWin} lang="powershell" title="setup-nix.sh" />

This way, you’re able to run syntax checking, formatters, etc. on the code and not clutter up the source of the page.

We support adding tags to pages via frontmatter. This looks like so:

---
title: My awesome page
description: This page is absolutely the coolest.
tags:
- testing
- foo
---

While we don’t currently have a fixed list of tags, you might consider one or more of the following tags:

  • FDM for topics specific to FDM/FFF (additive) printing.
  • Resin for topics specific to resin/SLA printing.

Got a great idea for an article, but don’t feel confident writing the entire thing? Mark the article as a stub in the frontmatter:

---
title: My awesome page
description: This page is absolutely the coolest.
tags:
- testing
- foo
stub: true
---

This will cause a stub banner to appear on the top of the page, and the article will have a stub badge in the navigation pane as well.

This policy is not designed to be comprehensive, but merely to provide a set of guidelines when considering appropriate use of AI when contributing to this wiki.

The key point in all of this: remember the human. Usage of AI tools should be thoughtful, nuanced, and with a human fully in the loop. Additionally, please disclose any AI usage when submitting contributions.

Some examples of acceptable AI use include:

  • Having an LLM proofread your changes for clarity.
  • Use an AI-powered translation tool, especially if English is not your first language.
  • Helping expand on an outline that you’ve written.

We want the content here to be human generated. If you’re just prompting an LLM to write a new page from scratch, that sort of contribution is not welcome — after all, anybody can go ask ChatGPT the same question and get the same possibly questionable answer.

If you need clarification or have a specific question on this, feel free to open an issue and ask. We want to make the best content we can.

And when in doubt, share what you’ve done. If you take these guidelines to heart, you’re probably fine.