# TinyCld docs > Developer documentation for extending @tinycld/core and authoring feature packages. Each entry below links to the raw markdown source. For the complete docs inlined into a single file, see https://tinycld.org/llms-full.txt. ## Developer guidelines - [app/CONTRIBUTING.md](https://github.com/tinycld/app/blob/main/CONTRIBUTING.md) - code style, patterns, data-query conventions, form rules, and routing/org conventions for @tinycld/core and package authors. ## Overview - [Documentation](https://tinycld.org/docs/index.md) - Pick your path - operate a TinyCld instance, or build packages on top of it. - [Install TinyCld](https://tinycld.org/docs/installation.md) - Host TinyCld yourself on a small Linux VM. One container, one compose file, ready in about 15 minutes. - [Getting started](https://tinycld.org/docs/getting-started.md) - A tour of the TinyCld ecosystem - the workspace, core, app shell, feature packages, and how a fresh checkout runs. - [Adding a package](https://tinycld.org/docs/adding-a-package.md) - Bring an existing feature package into your workspace as a member. - [Creating a package](https://tinycld.org/docs/creating-a-package.md) - Scaffold a new TinyCld feature package with npx @tinycld/bootstrap. - [The generator](https://tinycld.org/docs/generator.md) - What app/scripts/generate.ts does on every install and dev, and the files it produces. - [Go server extensions](https://tinycld.org/docs/go-server.md) - How packages ship Go code that the app shell's PocketBase server loads at startup. - [Troubleshooting](https://tinycld.org/docs/troubleshooting.md) - Common failure modes when adding, generating, and building packages, with fixes. ## Package anatomy - [Manifest](https://tinycld.org/docs/anatomy/manifest.md) - Every field a package manifest can declare, and what each one wires into the app shell. - [Screens](https://tinycld.org/docs/anatomy/screens.md) - How package screens become Expo Router routes inside the app shell. - [Collections](https://tinycld.org/docs/anatomy/collections.md) - How a package declares PocketBase collections and integrates them with pbtsdb's type system. - [Settings](https://tinycld.org/docs/anatomy/settings.md) - How a package contributes entries to Personal Settings. - [Server](https://tinycld.org/docs/anatomy/server.md) - How a package ships a Go server extension that the app shell's PocketBase loads on boot. - [Seed](https://tinycld.org/docs/anatomy/seed.md) - How a package ships sample data for local development. - [Tests](https://tinycld.org/docs/anatomy/tests.md) - How a package's unit and e2e tests are discovered and run via the tinycld-pkg CLI. ## Tasks - [Routing](https://tinycld.org/docs/tasks/routing.md) - Navigate between screens with org-scoped paths via useOrgHref instead of literal paths that leak across orgs. - [PocketBase auth rules](https://tinycld.org/docs/tasks/auth-rules.md) - Add listRule, viewRule, createRule, updateRule, and deleteRule to your collection migrations so non-superuser inserts and queries don't fail. - [Query data](https://tinycld.org/docs/tasks/query-data.md) - Read from PocketBase inside a package using useOrgLiveQuery and pbtsdb collections. - [Mutate data](https://tinycld.org/docs/tasks/mutate-data.md) - Write to PocketBase with generator-based mutations that await pbtsdb transactions. - [Forms](https://tinycld.org/docs/tasks/forms.md) - Build forms with react-hook-form, zod validation, and the themed input components from @tinycld/core. - [UI state](https://tinycld.org/docs/tasks/ui-state.md) - Share UI state across components with Zustand stores, with optional AsyncStorage persistence. - [Logging](https://tinycld.org/docs/tasks/logging.md) - Structured logging with automatic Sentry reporting for errors. - [Theming](https://tinycld.org/docs/tasks/theming.md) - Use semantic tokens instead of raw colors so your package works in both light and dark mode. - [In-app help](https://tinycld.org/docs/tasks/in-app-help.md) - Ship help topics with your package and surface them from the UI so users can find them. ## Reference - [Manifest schema](https://tinycld.org/docs/reference/manifest-schema.md) - Every field on a package manifest, with types and requirements. - [bootstrap CLI](https://tinycld.org/docs/reference/cli.md) - Reference for npx @tinycld/bootstrap, the package scaffolder and workspace assembler. - [Generated files](https://tinycld.org/docs/reference/generated-files.md) - Every file the generator produces, what it contains, and how to regenerate it.