mantine-datatable
Copilot instructions1.3k starsChanged 4 years agoMITView on GitHub
This is a dual-purpose repository containing both the Mantine DataTable component package and its documentation website. Understanding this hybrid architecture is crucial for effective development. The DataTable follows a composition-based architecture with specialized sub-components: Each sub-component has its own .tsx, .css, and sometimes .module.css files. Always maintain this parallel structure when adding features. Examples use import { DataTable } from 'PACKAGE' - this resolves to the local package during development. Never import from mantine-datatable in examples. Custom hooks follow the…
We split this copilot-instructions.md into the rules it gives an agent
15 rules. About 0 are common, 4 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 52
Accessor pattern: Use idAccessor prop for custom ID fields, defaults to 'id'
- Very specific: line 84
Use the CodeBlock component for syntax highlighting.
- Very specific: line 100
Custom selection logic: Use isRecordSelectable for conditional selection
- Very specific: line 121
Create component in package/ with .tsx and .css files
- Very specific: line 122
Add to main DataTable.tsx component composition
- Very specific: line 124
Create example in app/examples/new-feature/
- Very specific: line 125
Update main navigation in app/config.ts
- Distinctive: line 129
Use CSS custom properties for theming
- Very specific: line 130
Follow existing naming: .mantine-datatable-component-name
- Very specific: line 131
Import CSS in package/styles.css
- Very specific: line 132
Add utility classes to utilityClasses.css if reusable
- Distinctive: line 137
Use composition over inheritance for prop types
- Distinctive: line 143
Virtualization: Not implemented - DataTable handles reasonable record counts (< 1000s)
- Very specific: line 144
Memoization: Use useMemo for expensive column calculations
- Distinctive: line 146
Bundle size: Keep dependencies minimal (only Mantine + React)
≈ “Common” is an estimate: at least 1 in 5 of the 3,669 Copilot instructions files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Mantine DataTable - Copilot Instructions
This is a dual-purpose repository containing both the Mantine DataTable component package and its documentation website. Understanding this hybrid architecture is crucial for effective development.
Project Architecture
Dual Repository Structure
- Package code:
package/- The actual DataTable component exported to npm - Documentation site:
app/,components/- Next.js app with examples and docs - Build outputs: Package builds to
dist/, docs build for GitHub Pages deployment
Package Development Flow
# Core development commands (use pnpm, not yarn despite legacy docs)
pnpm dev # Start Next.js dev server for docs/examples
pnpm build:package # Build package only (tsup + postcss)
pnpm build:docs # Build documentation site
pnpm build # Build both package and docs
pnpm lint # ESLint + TypeScript checksComponent Architecture Pattern
The DataTable follows a composition-based architecture with specialized sub-components:
// Main component in package/DataTable.tsx
DataTable -> {
DataTableHeader,
DataTableRow[],
DataTableFooter,
DataTablePagination,
DataTableLoader,
DataTableEmptyState
}Each sub-component has its own .tsx, .css, and sometimes .module.css files. Always maintain this parallel structure when adding features.
Development Conventions
Import Alias Pattern
Examples use import { DataTable } from '__PACKAGE__' - this resolves to the local package during development. Never import from mantine-datatable in examples.
TypeScript Patterns
- Generic constraints:
DataTable<T>where T extends record type - Prop composition: Props inherit from base Mantine components (TableProps, etc.)
- Accessor pattern: Use
idAccessorprop for custom ID fields, defaults to'id'
CSS Architecture
- Layered imports:
styles.cssimports all component styles - CSS layers:
@layer mantine, mantine-datatablefor proper specificity - Utility classes: Defined in
utilityClasses.cssfor common patterns - CSS variables: Dynamic values injected via
cssVariables.ts
Hook Patterns
Custom hooks follow the pattern useDataTable* and are located in package/hooks/:
useDataTableColumns- Column management and persistenceuseRowExpansion- Row expansion stateuseLastSelectionChangeIndex- Selection behavior
Documentation Development
Example Structure
Each example in app/examples/ follows this pattern:
feature-name/
├── page.tsx # Next.js page with controls
├── FeatureExample.tsx # Actual DataTable implementation
└── FeaturePageContent.tsx # Documentation contentCode Block Convention
Use the CodeBlock component for syntax highlighting. Example files should be minimal and focused on demonstrating a single feature clearly.
Data Patterns
Record Structure
Examples use consistent data shapes:
companies.json- Basic company data with id, name, addressemployees.json- Employee data with departments/relationshipsasync.ts- Simulated API calls with delay/error simulation
Selection Patterns
- Gmail-style additive selection: Shift+click for range selection
- Trigger modes:
'checkbox'|'row'|'cell' - Custom selection logic: Use
isRecordSelectablefor conditional selection
Build System
Package Build (tsup)
- ESM:
tsup.esm.ts- Modern module format - CJS:
tsup.cjs.ts- CommonJS compatibility - Types:
tsup.dts.ts- TypeScript declarations - CSS: PostCSS processes styles to
dist/
Documentation Deployment
- GitHub Pages:
output: 'export'innext.config.js - Base path:
/mantine-datatablewhenGITHUB_PAGES=true - Environment injection: Package version, NPM downloads via build-time fetch
Common Patterns
Adding New Features
- Create component in
package/with.tsxand.cssfiles - Add to main
DataTable.tsxcomponent composition - Export new types from
package/types/index.ts - Create example in
app/examples/new-feature/ - Update main navigation in
app/config.ts
Styling New Components
- Use CSS custom properties for theming
- Follow existing naming:
.mantine-datatable-component-name - Import CSS in
package/styles.css - Add utility classes to
utilityClasses.cssif reusable
TypeScript Integration
- Extend base Mantine props where possible
- Use composition over inheritance for prop types
- Export all public types from
package/types/index.ts - Maintain strict null checks and proper generics
Performance Considerations
- Virtualization: Not implemented - DataTable handles reasonable record counts (< 1000s)
- Memoization: Use
useMemofor expensive column calculations - CSS-in-JS: Avoided in favor of CSS modules for better performance
- Bundle size: Keep dependencies minimal (only Mantine + React)
Trending
Quiet since September.about the whole repository
Who's talking about icflorescu/mantine-datatable
- A Hacker News story“Mantine-datatable (and others) compromised – owner account suspended”Hacker News · Jun 5, 2026 · 72 points
- executiveusa/dashboard-agent-swarm“chore(deps): bump the all-dependencies group across 1 directory with 42 updates”GitHub · Sep 24, 2026
- executiveusa/dashboard-agent-swarm“chore(deps): bump the all-dependencies group across 1 directory with 43 updates”GitHub · Sep 17, 2026
- executiveusa/dashboard-agent-swarm“chore(deps): bump the all-dependencies group in …”GitHub · Sep 13, 2026
- executiveusa/pauli-comic-funnel“build(deps): bump the all-dependencies group in …”GitHub · Sep 13, 2026
The biggest 5 of 51 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 51
Talked about on GitHub and Hacker News (51 times).
On GitHub · 50
- Sep 24, 2026chore(deps): bump the all-dependencies group across 1 directory with 42 updates — executiveusa/dashboard-agent-swarm0 reactions · 2 comments
- Sep 17, 2026chore(deps): bump the all-dependencies group across 1 directory with 43 updates — executiveusa/dashboard-agent-swarm0 reactions · 5 comments
- Sep 13, 2026chore(deps): bump the all-dependencies group in /agents/agent-lightning-main(1)/agent-lightning-main/dashboard with 42 updates — executiveusa/dashboard-agent-swarm0 reactions · 4 comments
- Sep 13, 2026build(deps): bump the all-dependencies group in /agents/agents/agent-lightning-main(1)/agent-lightning-main/dashboard with 42 updates — executiveusa/pauli-comic-funnel0 reactions · 3 comments
- Sep 13, 2026build(deps): bump the all-dependencies group in /agents/agent-lightning-main(1)/agent-lightning-main/dashboard with 42 updates — executiveusa/pauli-comic-funnel0 reactions · 3 comments
45 more on GitHub
- Sep 13, 2026Bump mantine-datatable from 9.2.0 to 9.4.0 — C4-Raven/c4raven-ui0 reactions
- Aug 24, 2026Bump mantine-datatable from 9.3.1 to 9.4.0 in /client — ls1intum/thesis-management0 reactions · 2 comments
- Jul 28, 2026chore(deps): bump the dependencies group across 1 directory with 14 updates — inventree/InvenTree0 reactions · 2 comments
- Jul 28, 2026chore(deps): bump the dependencies group across 1 directory with 16 updates — inventree/InvenTree0 reactions · 7 comments
- Jul 27, 2026chore(deps): bump the dependencies group across 1 directory with 16 updates — inventree/InvenTree0 reactions · 5 comments
- Jul 27, 2026chore(deps): bump the dependencies group across 1 directory with 25 updates — matmair/InvenTree0 reactions · 1 comment
- Jul 24, 2026chore(deps): bump the dependencies group across 1 directory with 22 updates — matmair/InvenTree0 reactions · 1 comment
- Jul 20, 2026chore(deps): Bump the frontend-minor-patch group in /frontend with 6 updates — DiegoGuidaF/PulseWeaver0 reactions
- Jul 15, 2026Build(deps): Bump mantine-datatable from 9.3.1 to 9.4.0 — LXCat-project/LXCat0 reactions
- Jun 22, 2026chore(deps): Bump the frontend-minor-patch group in /frontend with 8 updates — DiegoGuidaF/PulseWeaver0 reactions
- Jun 19, 2026Build(deps): Bump mantine-datatable from 9.3.0 to 9.3.1 — LXCat-project/LXCat0 reactions
- Jun 18, 2026build(deps): bump mantine-datatable from 8.3.13 to 9.3.0 — IQKV/foundation-ui-platform-admin0 reactions
- Jun 17, 2026build(deps): bump mantine-datatable from 8.3.13 to 9.3.0 — IQKV/foundation-ui-app0 reactions
- Jun 15, 2026Build(deps): Bump mantine-datatable from 9.2.2 to 9.3.0 — LXCat-project/LXCat0 reactions
- Jun 15, 2026chore(deps): Bump the frontend-minor-patch group in /frontend with 5 updates — DiegoGuidaF/PulseWeaver0 reactions
- May 27, 2026chore(deps): bump mantine-datatable from 8.3.13 to 9.4.0 — Cognipeer/console0 reactions · 1 comment
- May 25, 2026chore(deps): Bump mantine-datatable from 8.3.13 to 9.2.2 in /frontend — DiegoGuidaF/PulseWeaver0 reactions · 1 comment
- May 18, 2026Build(deps): Bump mantine-datatable from 9.2.0 to 9.2.2 — LXCat-project/LXCat0 reactions
- May 18, 2026chore(deps): Bump mantine-datatable from 8.3.13 to 9.2.0 in /frontend — DiegoGuidaF/PulseWeaver0 reactions · 1 comment
- May 14, 2026Build(deps): Bump mantine-datatable from 8.3.13 to 9.2.0 — LXCat-project/LXCat0 reactions · 1 comment
- May 6, 2026Bump mantine-datatable from 7.17.1 to 8.3.13 — martynjsimpson/customRisk0 reactions · 1 comment
- May 2, 2026build(deps): bump the minor-and-patch group across 1 directory with 25 updates — Vasteras-Stadsmission/matkassen0 reactions · 1 comment
- Apr 26, 2026build(deps): bump the minor-and-patch group with 23 updates — Vasteras-Stadsmission/matkassen0 reactions · 1 comment
- Mar 25, 2026chore(deps): bump mantine-datatable from 8.2.0 to 8.3.13 — Cognipeer/console0 reactions · 1 comment
- Mar 10, 2026Fix order of hooks for stabilizing table columns — inventree/InvenTree0 reactions · 4 comments
- Jan 23, 2026build(deps): bump mantine-datatable from 8.3.11 to 8.3.13 — gh-buddy/outdated-standard-mantine-ui-project-layout0 reactions
- Jan 22, 2026chore(deps): bump mantine-datatable from 8.3.11 to 8.3.13 — gh-support-archive/sample-ui-mantine-app-portal0 reactions
- Jan 20, 2026Build(deps): Bump mantine-datatable from 8.3.11 to 8.3.13 — LXCat-project/LXCat0 reactions
- Jan 13, 2026[UI] Bug fix for table column reordering — inventree/InvenTree0 reactions · 2 comments
- Dec 23, 2025build(deps): bump mantine-datatable from 8.3.7 to 8.3.11 — gh-buddy/outdated-standard-mantine-ui-project-layout0 reactions
- Dec 22, 2025chore(deps): bump mantine-datatable from 8.3.9 to 8.3.11 — gh-support-archive/sample-ui-mantine-app-portal0 reactions
- Dec 16, 2025Build(deps): Bump mantine-datatable from 8.3.9 to 8.3.11 — LXCat-project/LXCat0 reactions
- Dec 8, 2025chore(deps): bump mantine-datatable from 8.3.8 to 8.3.9 — gh-support-archive/sample-ui-mantine-app-portal0 reactions
- Dec 7, 2025Build(deps): Bump mantine-datatable from 8.3.8 to 8.3.9 — LXCat-project/LXCat0 reactions
- Nov 27, 2025chore(deps): bump mantine-datatable from 8.2.0 to 8.3.8 — gh-support-archive/sample-ui-mantine-app-portal0 reactions
- Nov 23, 2025Build(deps): Bump mantine-datatable from 8.3.7 to 8.3.8 — LXCat-project/LXCat0 reactions
- Nov 16, 2025Build(deps): Bump mantine-datatable from 8.3.6 to 8.3.7 — LXCat-project/LXCat0 reactions
- Nov 11, 2025build(deps): bump mantine-datatable from 8.2.0 to 8.3.7 — gh-buddy/outdated-standard-mantine-ui-project-layout0 reactions
- Nov 9, 2025Build(deps): Bump mantine-datatable from 8.2.0 to 8.3.6 — LXCat-project/LXCat0 reactions
- Aug 21, 2025[UI] BOM Editing — inventree/InvenTree0 reactions · 2 comments
- Jul 28, 2025build(deps): bump mantine-datatable from 7.12.4 to 8.2.0 — BuildTheEarth/web0 reactions · 2 comments
- Jul 27, 2025Build(deps): Bump mantine-datatable from 8.1.2 to 8.2.0 — LXCat-project/LXCat0 reactions
- Jun 29, 2025Build(deps): Bump mantine-datatable from 8.1.1 to 8.1.2 — LXCat-project/LXCat0 reactions
- Jan 22, 2024chore(deps): bump mantine-datatable from 2.5.9 to 6.0.8 — micoli/chrome-extension-symfony-profiler-helper0 reactions
- Mar 6, 2023Mantine Datatable unique key prop error — cohstats/coh3-stats0 reactions · 2 comments
On Hacker News · 1
- Jun 5, 2026Mantine-datatable (and others) compromised – owner account suspended72 points · 30 comments
Where files are headingNew Copilot instructions files have more rules about branches and pull requests, and fewer about code style.
Of the Copilot instructions files we read, the 2,297 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

