بنقرة واحدة
example-app
Create an example Chatnificent app to be showcased in the /examples directory.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create an example Chatnificent app to be showcased in the /examples directory.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Deploy the Chatnificent website (examples/showcase.py) to the Linode production server. Use when the user asks to deploy, ship, push to prod, or release the website. Runs the push-already-done → pull → reload → verify loop.
Implement or extend Chatnificent pillars (LLM, Store, Engine, Auth, Tools, etc.)
Implement or modify a Chatnificent server (DevServer, Starlette, FastAPI, etc.)
| name | example-app |
| description | Create an example Chatnificent app to be showcased in the /examples directory. |
Use this skill when creating a new example app for the /examples/ directory.
All examples live in /examples/ as standalone scripts. See examples/README.md for the full index. Review existing examples before writing a new one.
.py file, not a directory# /// script metadata block declares dependencies — use uv add --script to set this upif __name__ == "__main__": app.run() guardprint() to demonstrate functionality<feature>_simple.py and <feature>_advanced.py — see "Two Versions per Example" belowEach example follows this order:
# /// script metadata block (PEP 723 inline dependencies)if __name__ == "__main__": guardThe docstring is the most important part. It should be a self-contained how-to guide that explains:
uv run examples/<name>.py)Be extensive and specific. A reader should understand the "why" behind every configuration choice, not just the "what."
Every example feature ships as two files: a simple version and an advanced version. This is non-negotiable — even a "trivial" feature gets both.
examples/<feature>_simple.py
examples/<feature>_advanced.py
No other suffixes. The shared <feature> prefix is what makes a pair discoverable in directory listings and README tables.
.py file — "advanced" means richer, not multi-file.| Role | File | What it shows |
|---|---|---|
| Simple | examples/ui_interactions.py | One Control, one DefaultLayout(controls=[...]) call — the entire feature in ~10 lines of app code |
| Advanced | examples/single_app_multi_chat_mode.py | Multiple controls + a custom delegating LLM (ModeRouter), a custom Engine (ModeAwareEngine), and a custom Layout (MultiChatModeLayout) — same primitives, production-shaped app |
When in doubt, study this pair: the simple file should feel as compact as ui_interactions.py, and the advanced file should feel as composed as single_app_multi_chat_mode.py.
Even features that look trivially small (a single LLM provider swap, a one-line system prompt) get an advanced companion. The advanced slot is where you showcase the parameter variety of that feature and pair it with one other pillar customization so the example earns its place.