Skip to content

v0.6.0

Choose a tag to compare

@korone00 korone00 released this 10 Jul 11:34
· 122 commits to main since this release
49c0931

Added

  • llms.txt and GitMCP. A repo-root llms.txt gives LLMs a curated index of
    the docs and packages. The README/getting-started now document GitMCP
    (https://gitmcp.io/podosoft-dev/podokit) — register it as a remote MCP server
    to search the PodoKit docs and code from any AI tool, no install.
  • @podosoft/podokit-mcp — a local MCP server. A Model Context Protocol
    server that runs on your machine via npx (no hosting) so AI coding tools get
    first-class access to PodoKit: list_templates, create_project, list_modules,
    add_module, project_status, list_local_edits, check_versions,
    preview_update, and search_docs. Registered globally it can scaffold a
    project from an empty folder — "create a fullstack app with auth" runs
    create_project + add_module. Generated projects also ship a .mcp.json.
  • AI coding agent support in generated projects. podo create now writes an
    AGENTS.md (the open standard read by Codex, Cursor, Copilot, Gemini, …)
    covering the stack, commands, code style, and podo tooling; a CLAUDE.md that
    imports it (@AGENTS.md) for Claude Code; and thin .cursor/rules /
    .github/copilot-instructions.md pointers. Claude Code skills
    (.claude/skills/) add procedural guidance (NestJS endpoint, SvelteKit route,
    DataTable, podo add/podo update). Modules extend AGENTS.md with their own
    conventions when added (auth's secure-by-default rule, admin-dashboard's
    DataTable requirement). The AI files are owned, so podo update never touches
    them. Opt out with podo create --no-ai.
  • Module injections can be marked optional, so they skip (instead of failing)
    when a target file is absent — used for the AGENTS.md guidance injections.
  • Containerized development environment. Generated projects now ship a
    compose.dev.yaml (+ Dockerfile.dev, .devcontainer/, .env.docker,
    infra/traefik/) that runs the whole stack in containers. Only Traefik binds a
    host port (app.localhost); postgres/redis/minio/api have no published
    ports and talk by service name, so multiple projects never collide. Module
    services are behind Compose profiles (cache/storage/queue); docker compose watch gives instant web HMR and restarts the api on change. A devcontainer.json
    lets editors and AI agents work inside the container. The host npm run dev loop
    still works unchanged. See the development guide.
  • Site settings. admin-dashboard's /admin/settings is now split into
    General and Authentication tabs. The General tab configures the whole
    site and every value takes effect without a rebuild: the site name (browser
    tab title) and favicon (uploaded to object storage), the brand color
    (applied as the theme's primary accent), a meta description, a public
    footer with support-email/terms/privacy links, the default language and
    timezone
    , a maintenance mode that holds non-admins on a maintenance page,
    and a sign-up toggle that closes public registration (the sign-up endpoint
    returns 403 and the UI hides the link). Values are stored server-side
    (/site/settings). Requires the object-storage-s3 module.
  • Default site title and favicon. New apps ship a real browser <title> and a
    PodoKit SVG favicon instead of the framework defaults.
  • A back-to-home link in the admin sidebar footer returns to the landing page.

Changed

  • Faster dev reload. The generated API's npm run dev uses Nest's SWC builder
    for near-instant recompiles; the production nest build still uses tsc.

Fixed

  • file-upload module build. The generated app's API tsconfig restricts
    types to ["node"], which suppressed @types/multer's global augmentation and
    broke the build on Express.Multer.File. The files controller now loads it
    explicitly with a /// <reference types="multer" /> directive.
  • shadcn-svelte tabs. The vendored tabs primitive targeted a data-active
    attribute that current bits-ui doesn't emit, so the active tab lost its
    highlight; restored the official component (data-[state=active]).
  • General settings layout now fills the content width responsively instead of
    being left-skewed on wide screens.
  • Containerized dev builds. Dockerfile.dev resolves dependencies inside the
    container (no host lockfile copy) so platform-specific optional binaries like
    @swc/cli install correctly on Linux.