<div align="center">

# techneuma

**Cross-provider AI skill library that turns generic assistants into specialists.**

[![npm](https://img.shields.io/npm/v/techneuma?style=flat-square&color=000&labelColor=000)](https://www.npmjs.com/package/techneuma)
[![downloads](https://img.shields.io/npm/dt/techneuma?style=flat-square&color=000&labelColor=000)](https://www.npmjs.com/package/techneuma)
[![license](https://img.shields.io/badge/license-Apache_2.0-000?style=flat-square&labelColor=000)](LICENSE)
[![skills](https://img.shields.io/badge/skills-59-000?style=flat-square&labelColor=000)](source/skills)
[![providers](https://img.shields.io/badge/providers-21-000?style=flat-square&labelColor=000)](#providers)

**59 skills** compiled into **21 AI coding tools** — from one source.
Modern frameworks, production patterns, and defenses against AI slop.
Author: [@firdausmntp](https://github.com/firdausmntp) · Homepage: [impeccable.style](https://impeccable.style)

</div>

---

Every LLM was trained on the same pile of generic tutorials. Out of the box, that gets you:

- `<div>` soup with emoji headings
- cyan-on-dark "cyber" dashboards nobody asked for
- controllers that own validation, business logic, and persistence
- N+1 queries nobody notices until prod
- tests that pass by not asserting anything

Techneuma injects expert-level context — **opinionated, specific, version-pinned** — directly into your AI's config so your next `/frontend-design` or `/audit` produces something a senior would ship.

## Quickstart

```bash
# Interactive — pick one or more providers
npx techneuma init

# Direct
npx techneuma init cursor
npx techneuma init claude
npx techneuma init opencode --prefix     # installs i-prefixed variants

# Check what's installed
npx techneuma doctor

# Remove
npx techneuma uninstall cursor
npx techneuma uninstall all
```

The CLI drops a dotfolder (e.g. `.cursor/`, `.claude/`) into your repo with all 59 skills ready to use. Commit it, share it, done.

## What you get

### 20 steering commands

Invoke them from your AI chat to get targeted, expert workflows:

```
/audit scope=a11y        — accessibility-only deep scan
/critique scope=frontend — UX + visual critique with scoring
/optimize scope=bundle   — bundle size diet
/polish                  — final quality pass, alignment + spacing
/harden                  — error states, i18n, overflow, edge cases
/extract                 — pull repeated UI into design system tokens
/distill                 — strip noise, progressive disclosure
/bolder   /quieter       — amplify or tone down visual intensity
/colorize /typeset       — targeted color or typography pass
/arrange  /normalize     — layout rhythm, design-system alignment
/animate  /adapt         — motion and responsive passes
/delight  /overdrive     — personality; ambitious motion work
/clarify  /onboard       — UX writing; first-run flows
/frontend-design         — new interfaces with anti-AI-slop defenses
/teach-impeccable        — one-time project design context setup
```

All 20 commands are invokable with narrow scope, so `/audit frontend` stays on the frontend and doesn't dump a report about your database schema.

### 39 expertise skills

Auto-activate when the AI detects relevant context (imports, config files, language):

**Frontend frameworks** — react, vue, svelte, angular, solidjs, nextjs, nuxt, remix, astro, flutter, react-native, threejs, web-components
**Backend** — fastapi, go-web, nestjs, laravel, graphql, database, api-design, state-management
**Quality & ops** — testing, accessibility, performance, security-review, backend-design, devops-delivery
**Platform** — typescript, tailwind, css-architecture, vite, storybook, monorepo, docker, websockets, llm-integration, internationalization, cli
**Meta** — audit, critique, frontend-design, teach-impeccable (the 20 commands are also expertise-aware)

## Why it doesn't make everything look the same

The #1 AI failure mode is convergence: every landing page ends up a cyan-on-dark gradient hero with three feature cards. Techneuma ships explicit defenses:

- **`frontend-design/reference/anti-slop-gallery.md`** — 12 fingerprints of AI-generated design with `slop` vs `refined` code pairs (glassmorphism, purple-to-blue hero, hero-metric template, gradient text, Lucide-icon-above-every-heading, and more).
- **`frontend-design/reference/aesthetic-directions.md`** — 8 named aesthetic profiles (editorial-magazine, swiss-modernist, brutalist-raw, luxury-refined, organic-warm, retro-futurist, soft-pastel, neo-brutalist-playful). Each with font stacks, OKLCH palettes, motion curves, and an **avoid block** that kills the aesthetic.
- **`frontend-design/reference/self-check.md`** — 24-item checklist the AI runs against its own output before returning.
- **Hard context gate** — the skill refuses to generate design code without project context (`.impeccable.md` or inline Design Context). No more "tasteful SaaS" defaults.
- **Variety enforcement** — the AI must name its chosen direction and cannot repeat it twice in a row.

## Intent Primacy — skills don't fight the user

A common failure: you say "make this button red" and the skill runs its full template — context gate, aesthetic selection, 24-item self-check, full rewrite. Wrong answer.

Every user-invokable skill in techneuma starts with an **Intent Primacy** block:

1. Literal request wins
2. Stated scope binds (`/audit just the header` = header only)
3. User's tech choice beats skill defaults — warn once, then comply
4. Narrow request gets narrow answer
5. Hard gates only for safety (a11y AA floor, security)
6. Don't add sections, files, or refactors the user didn't ask for

Skills are guidance, not gauntlets.

## Providers

All 21 build from the same source. Pick what your stack uses.

| Provider | Dot folder | Argument style |
|---|---|---|
| Cursor | `.cursor/` | `{{scope}}` preserved |
| Claude Code | `.claude/` | `{{scope}}` preserved |
| VS Code Copilot | `.agents/` | hint-generated |
| Gemini CLI | `.gemini/` | `{{args}}` |
| Codex CLI | `.codex/` | `$SCOPE` |
| OpenCode | `.opencode/` | `{{scope}}` preserved |
| Pi | `.pi/` | `{{scope}}` preserved |
| Kiro | `.kiro/` | `{{scope}}` preserved |
| Trae | `.trae/` | hint-generated |
| Trae (China) | `.trae-cn/` | hint-generated |
| Rovo Dev | `.rovodev/` | hint-generated |
| Windsurf | `.windsurf/` | `{{scope}}` preserved |
| Cline | `.cline/` | `{{scope}}` preserved |
| Aider | `.aider/` | `{{scope}}` preserved |
| Amp | `.amp/` | `{{scope}}` preserved |
| Continue | `.continue/` | `{{scope}}` preserved |
| Zed | `.zed/` | `{{scope}}` preserved |
| JetBrains (Junie) | `.junie/` | `{{scope}}` preserved |
| Void | `.void/` | `{{scope}}` preserved |
| PearAI | `.pearai/` | `{{scope}}` preserved |
| Qwen Code | `.qwen/` | `{{scope}}` preserved |

## CLI

```
techneuma init [provider]          install skills (interactive if omitted)
techneuma init [provider] -f       force overwrite
techneuma init [provider] -p       install i-prefixed variants (/i-audit etc.)
techneuma list                     show all providers
techneuma doctor                   report installed providers + size
techneuma uninstall [provider]     remove ('all' or interactive if omitted)
techneuma help                     show help
```

Interactive mode uses arrow-key multi-select with Popular / IDE / Other groups.

## How it works

```
source/skills/{name}/SKILL.md  ← single source of truth
        │
        ▼
scripts/lib/transformers/providers.js       ← 21-provider registry
scripts/lib/transformers/factory.js         ← one parameterized transformer
        │
        ▼
dist/{provider}/{dot}/skills/{name}/SKILL.md   × 21 providers
dist/{provider}-prefixed/{dot}/skills/i-{name}/SKILL.md   × 21 providers
```

Add a provider = one registry entry. Add a skill = one `SKILL.md` file.
No per-provider transformer code. See [`DEVELOP.md`](DEVELOP.md) for deep-dive.

## Try it

Install into any project:

```bash
cd ~/your-project
npx techneuma init claude
```

Then in your AI chat:

```
/frontend-design tolong bangun dashboard dengan aesthetic editorial-magazine,
fokus cards statistik mingguan dengan drop caps dan pull-quote layout.
```

The skill reads your request, confirms your aesthetic direction is valid, generates the dashboard, runs its self-check, and emits the checklist results alongside the code. No cyan-on-dark hero. No gradient CTAs. No templated output.

## Authoring skills

New skills live in `source/skills/{name}/SKILL.md` with YAML frontmatter:

```yaml
---
name: my-skill
description: One sentence describing the skill and when it applies.
domains: [backend, python]         # optional
user-invokable: true               # optional — makes it a /slash command
args:                              # optional — only for user-invokable
  - name: scope
    required: false
    description: Narrow the scope.
license: Apache 2.0.               # optional
---
```

Build: `bun run build`. Output lands in `dist/`. Tests: `bun test` (444+ passing).

Full conventions in [`AGENTS.md`](AGENTS.md) — frontmatter schema, body structure, DO/DON'T format, Intent Primacy requirement, reference folder policy.

## Stack

**Runtime** — Bun 1.3+
**Package** — [npm: techneuma](https://www.npmjs.com/package/techneuma)
**Parser** — `yaml@^2.9.0`
**Installer** — `@inquirer/prompts` + `picocolors`
**Site** — Vanilla JS + Tailwind v4, deployed to Cloudflare Pages

## License

Apache 2.0. See [`LICENSE`](LICENSE) and [`NOTICE.md`](NOTICE.md).
Some skills are based on Anthropic's frontend-design work — attribution preserved in each relevant SKILL.md.

Maintained by [@firdausmntp](https://github.com/firdausmntp).
