From ebe816abb5ef21f5209109af8e306fcde5f38a3a Mon Sep 17 00:00:00 2001
From: Paul Rastoin <45004772+prastoin@users.noreply.github.com>
Date: Sat, 1 Aug 2026 17:04:30 +0200
Subject: [PATCH] Remove outdated index view pitfall from app agent docs
(#23667)
## Context
Index views are now auto-generated by a metadata side effect when an
object is created, so the "Common Pitfalls" entry warning against
creating an object without an associated index view is obsolete.
## What changed
Removed the line "Creating an object without an index view associated.
Unless this is a technical object, user will need to visualize it."
from:
- the `create-twenty-app` template
(`packages/create-twenty-app/src/constants/template/AGENTS.md`), used
for newly scaffolded apps
- the 14 existing copies across `packages/twenty-apps` (`AGENT.md` /
`AGENTS.md` / `CLAUDE.md` / `LLMS.md` in `examples`, `public`, and
`internal` apps)
The other pitfalls (navigationMenuItem, front-component scroll) are
unchanged since they still apply.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01YYzo4dY3V7QXdDZtvk5FwY)_
---
packages/create-twenty-app/src/constants/template/AGENTS.md | 1 -
packages/twenty-apps/examples/hello-world/LLMS.md | 1 -
packages/twenty-apps/examples/postcard/AGENT.md | 1 -
packages/twenty-apps/examples/postcard/CLAUDE.md | 1 -
packages/twenty-apps/examples/postcard/LLMS.md | 1 -
packages/twenty-apps/internal/self-hosting/AGENT.md | 1 -
packages/twenty-apps/internal/self-hosting/CLAUDE.md | 1 -
packages/twenty-apps/internal/self-hosting/LLMS.md | 1 -
packages/twenty-apps/public/call-recorder/AGENTS.md | 1 -
packages/twenty-apps/public/call-recorder/CLAUDE.md | 1 -
packages/twenty-apps/public/last-contact/AGENTS.md | 1 -
packages/twenty-apps/public/last-contact/CLAUDE.md | 1 -
packages/twenty-apps/public/linear/AGENT.md | 1 -
packages/twenty-apps/public/linear/CLAUDE.md | 1 -
packages/twenty-apps/public/linear/LLMS.md | 1 -
packages/twenty-docs/developers/extend/apps/data/objects.mdx | 2 +-
.../developers/extend/apps/layout/navigation-menu-items.mdx | 2 +-
packages/twenty-docs/developers/extend/apps/layout/views.mdx | 2 +-
18 files changed, 3 insertions(+), 18 deletions(-)
diff --git a/packages/create-twenty-app/src/constants/template/AGENTS.md b/packages/create-twenty-app/src/constants/template/AGENTS.md
index a79a0e6d92..7629e26d54 100644
--- a/packages/create-twenty-app/src/constants/template/AGENTS.md
+++ b/packages/create-twenty-app/src/constants/template/AGENTS.md
@@ -43,7 +43,6 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/examples/hello-world/LLMS.md b/packages/twenty-apps/examples/hello-world/LLMS.md
index 5df0b248de..90153aadb5 100644
--- a/packages/twenty-apps/examples/hello-world/LLMS.md
+++ b/packages/twenty-apps/examples/hello-world/LLMS.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/examples/postcard/AGENT.md b/packages/twenty-apps/examples/postcard/AGENT.md
index 5df0b248de..90153aadb5 100644
--- a/packages/twenty-apps/examples/postcard/AGENT.md
+++ b/packages/twenty-apps/examples/postcard/AGENT.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/examples/postcard/CLAUDE.md b/packages/twenty-apps/examples/postcard/CLAUDE.md
index 5df0b248de..90153aadb5 100644
--- a/packages/twenty-apps/examples/postcard/CLAUDE.md
+++ b/packages/twenty-apps/examples/postcard/CLAUDE.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/examples/postcard/LLMS.md b/packages/twenty-apps/examples/postcard/LLMS.md
index 5df0b248de..90153aadb5 100644
--- a/packages/twenty-apps/examples/postcard/LLMS.md
+++ b/packages/twenty-apps/examples/postcard/LLMS.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/internal/self-hosting/AGENT.md b/packages/twenty-apps/internal/self-hosting/AGENT.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/internal/self-hosting/AGENT.md
+++ b/packages/twenty-apps/internal/self-hosting/AGENT.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/internal/self-hosting/CLAUDE.md b/packages/twenty-apps/internal/self-hosting/CLAUDE.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/internal/self-hosting/CLAUDE.md
+++ b/packages/twenty-apps/internal/self-hosting/CLAUDE.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/internal/self-hosting/LLMS.md b/packages/twenty-apps/internal/self-hosting/LLMS.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/internal/self-hosting/LLMS.md
+++ b/packages/twenty-apps/internal/self-hosting/LLMS.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/call-recorder/AGENTS.md b/packages/twenty-apps/public/call-recorder/AGENTS.md
index 9078a7be23..f646709b9a 100644
--- a/packages/twenty-apps/public/call-recorder/AGENTS.md
+++ b/packages/twenty-apps/public/call-recorder/AGENTS.md
@@ -43,7 +43,6 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view unavailable on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/call-recorder/CLAUDE.md b/packages/twenty-apps/public/call-recorder/CLAUDE.md
index 9078a7be23..f646709b9a 100644
--- a/packages/twenty-apps/public/call-recorder/CLAUDE.md
+++ b/packages/twenty-apps/public/call-recorder/CLAUDE.md
@@ -43,7 +43,6 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view unavailable on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/last-contact/AGENTS.md b/packages/twenty-apps/public/last-contact/AGENTS.md
index fc6e7f8a51..e6c442eb34 100644
--- a/packages/twenty-apps/public/last-contact/AGENTS.md
+++ b/packages/twenty-apps/public/last-contact/AGENTS.md
@@ -43,7 +43,6 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/last-contact/CLAUDE.md b/packages/twenty-apps/public/last-contact/CLAUDE.md
index fc6e7f8a51..e6c442eb34 100644
--- a/packages/twenty-apps/public/last-contact/CLAUDE.md
+++ b/packages/twenty-apps/public/last-contact/CLAUDE.md
@@ -43,7 +43,6 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/linear/AGENT.md b/packages/twenty-apps/public/linear/AGENT.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/public/linear/AGENT.md
+++ b/packages/twenty-apps/public/linear/AGENT.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/linear/CLAUDE.md b/packages/twenty-apps/public/linear/CLAUDE.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/public/linear/CLAUDE.md
+++ b/packages/twenty-apps/public/linear/CLAUDE.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-apps/public/linear/LLMS.md b/packages/twenty-apps/public/linear/LLMS.md
index b10256427b..38d35ca6fa 100644
--- a/packages/twenty-apps/public/linear/LLMS.md
+++ b/packages/twenty-apps/public/linear/LLMS.md
@@ -9,6 +9,5 @@
## Common Pitfalls
-- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
diff --git a/packages/twenty-docs/developers/extend/apps/data/objects.mdx b/packages/twenty-docs/developers/extend/apps/data/objects.mdx
index 7d2fbaf911..67c9924ef9 100644
--- a/packages/twenty-docs/developers/extend/apps/data/objects.mdx
+++ b/packages/twenty-docs/developers/extend/apps/data/objects.mdx
@@ -139,4 +139,4 @@ Changes to `isNullable` are applied on every sync, including syncs that update a
- **Connect this object to others** — see [Relations](/developers/extend/apps/data/relations) for the bidirectional relation pattern.
- **Add fields to objects from other apps** — see [Extending Objects](/developers/extend/apps/data/extending-objects) for `defineField()`.
-- **Display this object in the UI** — see [Views](/developers/extend/apps/layout/views) and [Navigation Menu Items](/developers/extend/apps/layout/navigation-menu-items) to put it in the sidebar.
+- **Display this object in the UI** — see [Navigation Menu Items](/developers/extend/apps/layout/navigation-menu-items) to add a sidebar entry; see [Views](/developers/extend/apps/layout/views) to add custom list configurations.
diff --git a/packages/twenty-docs/developers/extend/apps/layout/navigation-menu-items.mdx b/packages/twenty-docs/developers/extend/apps/layout/navigation-menu-items.mdx
index 2a22f7bf1d..2b56bafe3e 100644
--- a/packages/twenty-docs/developers/extend/apps/layout/navigation-menu-items.mdx
+++ b/packages/twenty-docs/developers/extend/apps/layout/navigation-menu-items.mdx
@@ -39,5 +39,5 @@ export default defineNavigationMenuItem({
- `folderUniversalIdentifier` is also available on any item to nest it inside a `FOLDER`-type parent.
-**Common pitfall:** creating an object without an associated view + navigation menu item makes that object invisible to users. Unless it's a technical/internal object, every custom object should have a default view *and* a sidebar entry pointing at it.
+**Common pitfall:** creating an object without an associated navigation menu item makes that object unreachable from the sidebar. Unless it's a technical/internal object, every custom object should have a sidebar entry pointing at it.
diff --git a/packages/twenty-docs/developers/extend/apps/layout/views.mdx b/packages/twenty-docs/developers/extend/apps/layout/views.mdx
index 382d6dfdf0..a24aa06329 100644
--- a/packages/twenty-docs/developers/extend/apps/layout/views.mdx
+++ b/packages/twenty-docs/developers/extend/apps/layout/views.mdx
@@ -110,4 +110,4 @@ The `value` field is always a JSON-serializable value, but its expected shape de
## How views show up in the UI
-A view by itself isn't reachable from the sidebar. To make it appear there, pair it with a [navigation menu item](/developers/extend/apps/layout/navigation-menu-items) of type `VIEW` that points at the view's `universalIdentifier`. That's the canonical pattern: every custom object typically ships a default view + a sidebar entry that opens it.
+A view by itself isn't reachable from the sidebar. To make it appear there, pair it with a [navigation menu item](/developers/extend/apps/layout/navigation-menu-items) of type `VIEW` that points at the view's `universalIdentifier`. That's the canonical pattern: every custom object gets a default index view auto-generated at creation, so you only need to ship the sidebar entry that opens it.