• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
dcm31

dcm31

moiPosterImproved

Tool to manage moi.md files for Val Town content
Public
Like
moiPosterImproved
Home
Code
4
backend
2
frontend
2
shared
2
README.md
Branches
12
Pull requests
8
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
4/28/2025
Viewing readonly version of main branch: v14
View latest version
README.md

MoiPoster - Val Town moi.md Manager

A tool to create and manage moi.md files for your Val Town vals and projects.

Features

  • View all your vals and projects
  • Edit and preview moi.md files with a built-in markdown editor
  • Batch process multiple vals or projects at once
  • Filter by privacy settings (public, private, unlisted)
  • Automatically generate moi.md content based on val or project metadata

Structure

The project has the following components:

  • backend/ - Server-side code
    • index.ts - Main API routes using Hono
    • moiProcessor.ts - Logic for batch processing moi.md files
  • frontend/ - Client-side code
    • components/ - React components
      • App.tsx - Main application component
      • Editor.tsx - Markdown editor component
      • ItemList.tsx - Component for displaying vals or projects
      • MarkdownPreview.tsx - Markdown preview component
    • index.tsx - Frontend entry point
  • shared/ - Shared code
    • types.ts - TypeScript type definitions
    • generators.ts - Functions to generate moi.md content

Usage

Visit the live endpoint to use the application.

API Endpoints

  • GET /api/vals - Get all vals (supports privacy filter)
  • GET /api/projects - Get all projects (supports privacy filter)
  • GET /api/vals/:valId/moi - Get moi.md for a val
  • GET /api/projects/:projectId/moi - Get moi.md for a project
  • POST /api/vals/:valId/moi - Create/update moi.md for a val
  • POST /api/projects/:projectId/moi - Create/update moi.md for a project
  • POST /api/vals/batch - Batch process moi.md for vals
  • POST /api/projects/batch - Batch process moi.md for projects

Direct Use as a Script

The moiProcessor.ts file can be used directly as a script val:

import moiProcessor from "https://esm.town/v/dcm31/moiPosterImproved/backend/moiProcessor.ts"; // Process all vals const results = await moiProcessor('vals', { filter: 'public', // 'all', 'public', 'private', or 'unlisted' overwrite: false // Whether to overwrite existing moi.md files }); console.log(results);

moi.md Format

The generated moi.md files follow this format:

--- title: "Project Name" description: "Project description" url: "https://val.town/..." author: "username" tags: ["val-town", "project"] --- # Project Name Project description ## Installation ... ## Structure ... ## Features ... ## Usage Examples ... ## License MIT --- Last updated: YYYY-MM-DD

License

MIT

FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
Β© 2025 Val Town, Inc.