ランキングに戻る

spartan-ng/spartan

TypeScriptspartan.ng

Cutting-edge tools powering Angular full-stack development.

accessibilityanalogjsangulartrpcui-components
スター成長
スター
2.8k
フォーク
300
週間成長
Issue
43
1k2k
2023年4月2024年5月2025年6月2026年7月
成果物npmnpm install spartan
README

spartan

A spartan shield

License: MIT Discord server

WebsiteDocumentationComponentsBlocksGitHub

Cutting-edge tools that power Angular full-stack development - accessible, un-styled UI primitives with copy-paste, shadcn-style styles, plus an opinionated full-stack setup. Build like a spartan.

Welcome to the spartan mono-repo. This Nx repository is home to spartan/ui - accessible, un-styled UI primitives for Angular with copy-paste, shadcn-style helm styles - and the spartan/stack, an opinionated full-stack setup built on AnalogJs.

spartan/ui is 1.0 and stable: production-ready, semantically versioned, and shipping more than 55 components. Install it from npm with @spartan-ng/brain and the @spartan-ng/cli, or explore everything at spartan.ng.

Packages

Package Description
@spartan-ng/brain Headless, accessible UI primitives for Angular - the behavior half of spartan. npm
@spartan-ng/cli Nx plugin & Angular schematics that add spartan/ui to any workspace in one go. npm
@spartan-ng/mcp Model Context Protocol server giving AI assistants up-to-date spartan docs. npm

The styled helm components aren't published as a package on purpose - the CLI copies them straight into your project so you own and customize every line.

The 300 spartans

All of spartan is an MIT-licensed open source project with its ongoing development made possible by contributors and sponsors.

Our initial 300 contributors and sponsors are featured here and on the front page of spartan.ng

  1. goetzrobin
  2. thatsamsonkid
  3. elite-benni
  4. ashley-hunter
  5. marcjulian
  6. MerlinMoos
  7. zeropsio
  8. snyder-tech
  9. mihajm
  10. ajitzero
  11. arturgawlik
  12. deepakrudrapaul
  13. evanfuture
  14. AdditionAddict
  15. Altamimi-Dev
  16. ferat
  17. jeremy-js-devweb
  18. heddendorp
  19. tutkli
  20. Pascalmh
  21. okkindel
  22. oidre
  23. nartc
  24. santoshyadavdev
  25. markostanimirovic
  26. theo-matzavinos
  27. jkuri
  28. dongphuong0905
  29. DominikPieper
  30. brandonroberts
  31. izikd
  32. ryancraigmartin
  33. gaetanBloch
  34. gergobergo
  35. rpacheco124
  36. benjaminforras
  37. jstnjs
  38. r3ps4J
  39. Celtian
  40. miljan-code
  41. alexciesielski
  42. ty-ler
  43. m-risto
  44. badsgahhl
  45. monacodelisa
  46. tomdev9
  47. ragul1697
  48. kkamman
  49. i-am-the-slime
  50. DevWedeloper
  51. mrsofiane
  52. mateoetchepare
  53. DonaldMurillo
  54. toniskobic
  55. eneajaho
  56. Den-dp
  57. 0xfraso
  58. Muneersahel
  59. danilolmc
  60. tomalaforge
  61. canserkanuren
  62. cjosue15
  63. hirenchauhan2
  64. Roguyt
  65. tsironis13
  66. guillermoecharri
  67. ValentinFunk
  68. Femi236
  69. dineshkp
  70. robingenz
  71. Balastrong
  72. OlegSuncrown
  73. stewones
  74. shinkhouse
  75. donaldxdonald
  76. BenoitPE
  77. Georg632
  78. hillin
  79. Besbash
  80. davidedammino
  81. marcindz88
  82. thyco
  83. hitro11
  84. GODrums
  85. samsonkumawong
  86. PR4SAN
  87. JeevanMahesha
  88. dlhck
  89. tomer953
  90. drdreo
  91. tlandenberger
  92. yackinn
  93. OmerGronich
  94. kubalinio
  95. AlexHladin
  96. CO97
  97. MatanShushan
  98. maxhov
  99. josueggh
  100. namdien177
  101. zelenchuk
  102. a-malacarne
  103. YasinKuralay
  104. nico13051995
  105. francotalarico
  106. koenigderluegner
  107. Turtl3e
  108. minhnguyen120898
  109. liam-langstaff
  110. dw-0
  111. Khumozin
  112. abiramcodes
  113. garygrossgarten
  114. Oussemasahbeni
  115. benpsnyder
  116. dhwani1806
  117. elite-lucas
  118. esteecodes
  119. felhag
  120. notsufferbutbutter
  121. vlrjuan
  122. Dafnik
  123. hassantayyab
  124. mathwizard
  125. RaminGe
  126. abos-gergo
  127. jpsullivan
  128. ayangabryl
  129. s-froghyar
  130. aziz-zina
  131. avihayAsus
  132. multignite
  133. sefatanam
  134. LinboLen
  135. Oneill19
  136. homj
  137. Musta-Pollo
  138. mitja-kurath
  139. alisterpineda
  140. amitshalev2
  141. SOG-web
  142. Joebeurg
  143. mehrabix
  144. PatrickLarocque
  145. Ban117
  146. gerasidev
  147. Nicoss54
  148. xonaib
  149. SocDario
  150. bcl-dev
  151. skolldev

spartan is MIT-licensed and free, forever. But free to use isn't free to build - countless hours of late-night, hard-fought work hold this phalanx together, and they keep the components shipping and the docs current.

If spartan saves your company or team time, consider returning the favor. Sponsoring keeps spartan actively maintained, the roadmap moving, and the open-source work of the 300 sustainable. No spartan holds the line alone - every shield in the wall counts.

Become a spartan today! →

Zerops: The Strategic Alliance

spartan.ng has formed a powerful alliance with Zerops, a developer-first cloud platform that shares our commitment to advancing the Angular ecosystem.

Through their strategic support, Zerops has enabled:

  • Dedicated resources for our core development team
  • Accelerated component development on our path to v1 and beyond
  • Creation of production-ready templates and starter kits
  • Long-term sustainability for the entire project

Zerops eliminates deployment complexity so developers can focus on building great software—a philosophy that perfectly aligns with our mission to create powerful yet easy-to-implement components.

Experience the cloud platform that's powering Spartan.ng's future →

spartan/ui

spartan/ui brings the shadcn/ui philosophy to Angular: accessible, un-styled primitives - inspired by Radix and built on the Angular CDK and other proven community solutions - paired with beautiful, copy-paste shadcn-style styles that you own.

Each primitive is made up of two halves:

  • a headless brain library in libs/brain that provides the behavior, accessibility, and state - published to npm as @spartan-ng/brain.
  • a helm library in libs/helm that adds the styles, copied straight into your project by the CLI so you can edit them freely.

libs/cli holds the Nx plugin & Angular CLI code that adds spartan/ui to any Nx or Angular workspace in a single command - published as @spartan-ng/cli.

libs/mcp is a Model Context Protocol server - published as @spartan-ng/mcp - that gives AI assistants up-to-date spartan docs, components, and blocks.

The skills/spartan folder contains the spartan agent skill - procedural knowledge that teaches AI coding assistants how to build spartan/ui correctly. Users install it with npx skills add spartan-ng/spartan. See the Skills docs.

Install Dependencies

Run pnpm install to install the dependencies of this project.

Development with storybook

A storybook project is set up and is the primary way to develop UI components. You can run it with:

pnpm run storybook

Story files live in apps/ui-storybook/stories, one per primitive, e.g. apps/ui-storybook/stories/accordion.stories.ts.

Use these files to add stories and drive development of the primitives.

Testing

spartan uses Jest for tests. To test all projects locally, run the following command from the root folder:

pnpm run test

e2e testing

Cypress e2e testing is set up to run on the storybook. You can run it with:

pnpm run e2e

To add your own e2e tests add them to the apps/ui-storybook-e2e application.

spartan/stack

An example application running on Supabase, Drizzle, Analog, tRPC, Tailwind, Angular, and Nx. It also serves as the documentation page introducing the stack and UI library.

Follow the directions in the official documentation to set up your own project: https://www.spartan.ng/stack/overview

Example App

In the apps folder of this repository, you can also find an example application of the spartan stack. It also serves as the documentation page for this project.

Follow the directions below to get it up and running:

Prerequisites

  • You will need pnpm as your package manager.
  • You will need to set up a Supabase account (it's free)
  • You will need NodeJs installed. The version I have working is 20.17.0.

Development server

Then you can run the following command:

pnpm nx serve app

or

pnpm run dev

for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Database

We use Drizzle to connect to a Supabase instance for the example app.

Add an .env file to your repo with the following contents:

Add a .env file at the root of your Nx workspace and add the connection string like so:

DATABASE_URL="postgresql://postgres:[YOUR-PASSWORD]@db.[YOUR-SUPABASE-REFERENCE-ID].supabase.co:5432/postgres?schema=public"

And make sure to run the following script in your Supabase editor to set up the necessary tables:

create table
  public.note (
    id bigserial,
    title text not null,
    content text null,
    created_at timestamp with time zone null default current_timestamp,
    constraint notes_pkey primary key (id)
  ) tablespace pg_default;

[!NOTE] > .env should be added to .gitignore

Understand this workspace

Run pnpm nx graph to see a diagram of the dependencies of the projects.

Documentation

Community

Run into an issue or have a question? Open an issue on GitHub or say hi in Discord.

License

MIT © goetzrobin and the spartan contributors

関連リポジトリ
gkd-kit/gkd

基于无障碍,高级选择器,订阅规则的自定义屏幕点击安卓应用 | An Android APP with custom screen tapping based on Accessibility, Advanced Selectors, and Subscription Rules

KotlinGNU General Public License v3.0androidkotlin
gkd.li
40.3k1.9k
tailwindlabs/headlessui

Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.

TypeScriptnpmMIT Licensereactheadless-ui
headlessui.com
28.7k1.2k
opendataloader-project/opendataloader-pdf

PDF Parser for AI-ready data. Automate PDF accessibility. Open-source.

JavaMavenApache License 2.0jsonmarkdown
opendataloader.org
27.7k2.7k
cjpais/Handy

A free, open source, and extensible speech-to-text application that works completely offline.

Rustcrates.ioMIT Licensespeech-to-texttauri-v2
handy.computer
27.1k2.3k
darkreader/darkreader

Dark Reader Chrome and Firefox extension

TypeScriptnpmMIT Licensedark-themechrome-extension
darkreader.org
22.2k2.7k
radix-ui/primitives

Radix Primitives is an open-source UI component library for building high-quality, accessible design systems and web apps. Maintained by @workos.

TypeScriptnpmMIT Licenseuiui-components
radix-ui.com/primitives
19.1k1.2k
adobe/react-spectrum

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

TypeScriptnpmApache License 2.0reactaccessibility
react-spectrum.adobe.com
15.7k1.5k
bootstrap-vue/bootstrap-vue

MOVED to https://github.com/bootstrap-vue-next/bootstrap-vue-next

JavaScriptnpmMIT Licensebootstrapvue
bootstrap-vue-next.github.io/bootstrap-vue-next/
14.4k1.8k
markmead/hyperui

Free Tailwind CSS v4 components for your next project, designed to enhance your web development with the latest features and styles 🚀

HTMLMIT Licensetailwindaccessibility
hyperui.dev
12.2k503
screetsec/TheFatRat

Thefatrat a massive exploiting tool : Easy tool to generate backdoor and easy tool to post exploitation attack like browser attack and etc . This tool compiles a malware with popular payload and then the compiled malware can be execute on windows, android, mac . The malware that created with this tool also have an ability to bypass most AV software protection .

CGNU General Public License v3.0thefatratbypass
11.4k2.5k
mathjax/MathJax

Beautiful and accessible math in all browsers

JavaScriptnpmApache License 2.0javascriptmathematics
mathjax.org
10.9k1.2k
mui/base-ui

Unstyled UI components for building accessible web apps and design systems. From the creators of Radix, Floating UI, and Material UI.

TypeScriptnpmMIT Licenseaccessibilitydesign-system
base-ui.com
10.4k490