@litfamily/litgrok 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.grok/agents/litgrok-executor.md +33 -0
- package/.grok/agents/litgrok-korean-prose-editor.md +32 -0
- package/.grok/agents/litgrok-korean-style-analyzer.md +30 -0
- package/.grok/agents/litgrok-librarian-researcher.md +31 -0
- package/.grok/agents/litgrok-meaning-preservation-auditor.md +30 -0
- package/.grok/agents/litgrok-native-flow-reviewer.md +30 -0
- package/.grok/agents/litgrok-planner.md +31 -0
- package/.grok/agents/litgrok-polish-orchestrator.md +30 -0
- package/.grok/agents/litgrok-qa-runner.md +33 -0
- package/.grok/agents/litgrok-quality-reviewer.md +33 -0
- package/.grok/agents/litgrok-verifier.md +32 -0
- package/.grok/hooks/deliverable-hedge-guard.json +16 -0
- package/.grok/hooks/deliverable-hedge-guard.mjs +148 -0
- package/.grok/hooks/lit-mark.mjs +142 -0
- package/.grok/hooks/plan-gate.mjs +81 -0
- package/.grok/hooks/post-compact.json +15 -0
- package/.grok/hooks/post-compact.mjs +6 -0
- package/.grok/hooks/post-tool-use-failure.json +15 -0
- package/.grok/hooks/post-tool-use-failure.mjs +6 -0
- package/.grok/hooks/post-tool-use.json +16 -0
- package/.grok/hooks/post-tool-use.mjs +7 -0
- package/.grok/hooks/pre-compact.json +15 -0
- package/.grok/hooks/pre-compact.mjs +6 -0
- package/.grok/hooks/record-passive-event.mjs +198 -0
- package/.grok/hooks/session-start.json +15 -0
- package/.grok/hooks/session-start.mjs +37 -0
- package/.grok/hooks/stop-failure.json +15 -0
- package/.grok/hooks/stop-failure.mjs +6 -0
- package/.grok/hooks/stop.json +15 -0
- package/.grok/hooks/stop.mjs +36 -0
- package/.grok/hooks/subagent-start.json +15 -0
- package/.grok/hooks/subagent-start.mjs +6 -0
- package/.grok/hooks/subagent-stop.json +15 -0
- package/.grok/hooks/subagent-stop.mjs +6 -0
- package/.grok/hooks/user-prompt-submit.json +15 -0
- package/.grok/hooks/user-prompt-submit.mjs +7 -0
- package/.grok/rules/00-litgrok.md +152 -0
- package/.grok/skills/autoconference/LICENSE +21 -0
- package/.grok/skills/autoconference/PROVENANCE.md +23 -0
- package/.grok/skills/autoconference/SKILL.md +140 -0
- package/.grok/skills/autoconference/assets/conference_template.md +76 -0
- package/.grok/skills/autoconference/assets/report_template.md +56 -0
- package/.grok/skills/autoconference/assets/synthesis_template.md +40 -0
- package/.grok/skills/autoconference/references/_canonical-corpus/manifest.json +138 -0
- package/.grok/skills/autoconference/references/agent-prompts.md +30 -0
- package/.grok/skills/autoconference/references/conference-protocol.md +21 -0
- package/.grok/skills/autoconference/references/core-principles.md +13 -0
- package/.grok/skills/autoconference/references/family-contract.md +26 -0
- package/.grok/skills/autoconference/references/modes/analyze.md +11 -0
- package/.grok/skills/autoconference/references/modes/core/convergence-guide.md +41 -0
- package/.grok/skills/autoconference/references/modes/core/crash-recovery.md +11 -0
- package/.grok/skills/autoconference/references/modes/core.md +26 -0
- package/.grok/skills/autoconference/references/modes/debate.md +11 -0
- package/.grok/skills/autoconference/references/modes/plan.md +12 -0
- package/.grok/skills/autoconference/references/modes/resume.md +11 -0
- package/.grok/skills/autoconference/references/modes/ship.md +11 -0
- package/.grok/skills/autoconference/references/modes/survey.md +11 -0
- package/.grok/skills/autoconference/references/results-logging.md +12 -0
- package/.grok/skills/autoconference/references/visualization-guide.md +10 -0
- package/.grok/skills/autoconference/scripts/init_conference.py +646 -0
- package/.grok/skills/autoconference/scripts/verify-canonical-corpus.mjs +177 -0
- package/.grok/skills/autoconference/templates/code-performance.md +59 -0
- package/.grok/skills/autoconference/templates/debate-mode.md +50 -0
- package/.grok/skills/autoconference/templates/prompt-optimization.md +58 -0
- package/.grok/skills/autoconference/templates/quick-conference.md +48 -0
- package/.grok/skills/autoconference/templates/research-synthesis.md +56 -0
- package/.grok/skills/autoconference/templates/survey-mode.md +63 -0
- package/.grok/skills/autoresearch/LICENSE +21 -0
- package/.grok/skills/autoresearch/PROVENANCE.md +22 -0
- package/.grok/skills/autoresearch/SKILL.md +149 -0
- package/.grok/skills/autoresearch/assets/report_template.md +52 -0
- package/.grok/skills/autoresearch/assets/research_template.md +38 -0
- package/.grok/skills/autoresearch/assets/results_template.tsv +2 -0
- package/.grok/skills/autoresearch/references/_canonical-corpus/manifest.json +148 -0
- package/.grok/skills/autoresearch/references/core-principles.md +16 -0
- package/.grok/skills/autoresearch/references/family-contract.md +36 -0
- package/.grok/skills/autoresearch/references/modes/core/evaluator-contract.md +12 -0
- package/.grok/skills/autoresearch/references/modes/core/stuck-detection.md +11 -0
- package/.grok/skills/autoresearch/references/modes/core.md +21 -0
- package/.grok/skills/autoresearch/references/modes/debug/investigation-techniques.md +11 -0
- package/.grok/skills/autoresearch/references/modes/debug.md +11 -0
- package/.grok/skills/autoresearch/references/modes/fix.md +11 -0
- package/.grok/skills/autoresearch/references/modes/learn.md +11 -0
- package/.grok/skills/autoresearch/references/modes/plan.md +14 -0
- package/.grok/skills/autoresearch/references/modes/predict/persona-templates.md +11 -0
- package/.grok/skills/autoresearch/references/modes/predict.md +11 -0
- package/.grok/skills/autoresearch/references/modes/reason.md +11 -0
- package/.grok/skills/autoresearch/references/modes/scenario/dimensions.md +11 -0
- package/.grok/skills/autoresearch/references/modes/scenario.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security/owasp-checklist.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security/stride-model.md +11 -0
- package/.grok/skills/autoresearch/references/modes/security.md +12 -0
- package/.grok/skills/autoresearch/references/modes/ship/type-checklists.md +12 -0
- package/.grok/skills/autoresearch/references/modes/ship.md +11 -0
- package/.grok/skills/autoresearch/references/results-logging.md +12 -0
- package/.grok/skills/autoresearch/references/visualization-guide.md +24 -0
- package/.grok/skills/autoresearch/scripts/init_research.py +391 -0
- package/.grok/skills/autoresearch/scripts/style_presets.py +123 -0
- package/.grok/skills/autoresearch/scripts/verify-canonical-corpus.mjs +179 -0
- package/.grok/skills/browser-drive/SKILL.md +194 -0
- package/.grok/skills/browser-drive/references/snapshot-act-loop.md +61 -0
- package/.grok/skills/comment-checker/SKILL.md +194 -0
- package/.grok/skills/debugging/SKILL.md +82 -0
- package/.grok/skills/debugging/references/methodology/00-setup.md +108 -0
- package/.grok/skills/debugging/references/methodology/02-investigate.md +126 -0
- package/.grok/skills/debugging/references/methodology/04-oracle-triple.md +106 -0
- package/.grok/skills/debugging/references/methodology/05-escalate.md +69 -0
- package/.grok/skills/debugging/references/methodology/06-fix.md +116 -0
- package/.grok/skills/debugging/references/methodology/08-qa.md +94 -0
- package/.grok/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/.grok/skills/debugging/references/methodology/partial-runtime-evidence.md +228 -0
- package/.grok/skills/debugging/references/post-tool-use-failure-taxonomy.md +55 -0
- package/.grok/skills/debugging/references/reproduction-recipes.md +182 -0
- package/.grok/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/.grok/skills/debugging/references/runtimes/go.md +252 -0
- package/.grok/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/.grok/skills/debugging/references/runtimes/node.md +260 -0
- package/.grok/skills/debugging/references/runtimes/python.md +248 -0
- package/.grok/skills/debugging/references/runtimes/rust.md +234 -0
- package/.grok/skills/debugging/references/tools/ghidra.md +212 -0
- package/.grok/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/.grok/skills/debugging/references/tools/pwndbg.md +263 -0
- package/.grok/skills/debugging/references/tools/pwntools.md +265 -0
- package/.grok/skills/deep-interview/SKILL.md +216 -0
- package/.grok/skills/frontend-ui-ux/LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/PROVENANCE.json +38 -0
- package/.grok/skills/frontend-ui-ux/SKILL.md +58 -0
- package/.grok/skills/frontend-ui-ux/SOURCE-MANIFEST.json +1060 -0
- package/.grok/skills/frontend-ui-ux/THIRD-PARTY-NOTICE.txt +14 -0
- package/.grok/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-ATTRIBUTION.md +217 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/frontend-LICENSE-Apache-2.0.txt +201 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/legal/root-LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +873 -0
- package/.grok/skills/frontend-ui-ux/references/adaptive-layout.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/brand-and-imagery.md +93 -0
- package/.grok/skills/frontend-ui-ux/references/complete-contract.md +557 -0
- package/.grok/skills/frontend-ui-ux/references/composition.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/creative-directions.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/design/README.md +248 -0
- package/.grok/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
- package/.grok/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
- package/.grok/skills/frontend-ui-ux/references/design/airtable.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/design/apple.md +250 -0
- package/.grok/skills/frontend-ui-ux/references/design/aside.md +209 -0
- package/.grok/skills/frontend-ui-ux/references/design/binance.md +348 -0
- package/.grok/skills/frontend-ui-ux/references/design/bmw.md +183 -0
- package/.grok/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
- package/.grok/skills/frontend-ui-ux/references/design/cal.md +262 -0
- package/.grok/skills/frontend-ui-ux/references/design/claude.md +315 -0
- package/.grok/skills/frontend-ui-ux/references/design/clay.md +307 -0
- package/.grok/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/design/cohere.md +269 -0
- package/.grok/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
- package/.grok/skills/frontend-ui-ux/references/design/composio.md +310 -0
- package/.grok/skills/frontend-ui-ux/references/design/cursor.md +312 -0
- package/.grok/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
- package/.grok/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
- package/.grok/skills/frontend-ui-ux/references/design/expo.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
- package/.grok/skills/frontend-ui-ux/references/design/figma.md +223 -0
- package/.grok/skills/frontend-ui-ux/references/design/framer.md +249 -0
- package/.grok/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
- package/.grok/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
- package/.grok/skills/frontend-ui-ux/references/design/ibm.md +335 -0
- package/.grok/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
- package/.grok/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
- package/.grok/skills/frontend-ui-ux/references/design/intercom.md +149 -0
- package/.grok/skills/frontend-ui-ux/references/design/kraken.md +128 -0
- package/.grok/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
- package/.grok/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
- package/.grok/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
- package/.grok/skills/frontend-ui-ux/references/design/lovable.md +301 -0
- package/.grok/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
- package/.grok/skills/frontend-ui-ux/references/design/meta.md +369 -0
- package/.grok/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/design/minimax.md +260 -0
- package/.grok/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
- package/.grok/skills/frontend-ui-ux/references/design/miro.md +111 -0
- package/.grok/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
- package/.grok/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
- package/.grok/skills/frontend-ui-ux/references/design/nike.md +366 -0
- package/.grok/skills/frontend-ui-ux/references/design/notion.md +312 -0
- package/.grok/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
- package/.grok/skills/frontend-ui-ux/references/design/ollama.md +270 -0
- package/.grok/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
- package/.grok/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
- package/.grok/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
- package/.grok/skills/frontend-ui-ux/references/design/playstation.md +367 -0
- package/.grok/skills/frontend-ui-ux/references/design/posthog.md +259 -0
- package/.grok/skills/frontend-ui-ux/references/design/raycast.md +271 -0
- package/.grok/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
- package/.grok/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
- package/.grok/skills/frontend-ui-ux/references/design/renault.md +314 -0
- package/.grok/skills/frontend-ui-ux/references/design/replicate.md +264 -0
- package/.grok/skills/frontend-ui-ux/references/design/resend.md +306 -0
- package/.grok/skills/frontend-ui-ux/references/design/revolut.md +188 -0
- package/.grok/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
- package/.grok/skills/frontend-ui-ux/references/design/sanity.md +360 -0
- package/.grok/skills/frontend-ui-ux/references/design/sentry.md +265 -0
- package/.grok/skills/frontend-ui-ux/references/design/shopify.md +353 -0
- package/.grok/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
- package/.grok/skills/frontend-ui-ux/references/design/spacex.md +197 -0
- package/.grok/skills/frontend-ui-ux/references/design/spotify.md +249 -0
- package/.grok/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
- package/.grok/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
- package/.grok/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
- package/.grok/skills/frontend-ui-ux/references/design/stripe.md +325 -0
- package/.grok/skills/frontend-ui-ux/references/design/supabase.md +258 -0
- package/.grok/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
- package/.grok/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
- package/.grok/skills/frontend-ui-ux/references/design/tesla.md +289 -0
- package/.grok/skills/frontend-ui-ux/references/design/theverge.md +342 -0
- package/.grok/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
- package/.grok/skills/frontend-ui-ux/references/design/uber.md +298 -0
- package/.grok/skills/frontend-ui-ux/references/design/vercel.md +313 -0
- package/.grok/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
- package/.grok/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
- package/.grok/skills/frontend-ui-ux/references/design/warp.md +256 -0
- package/.grok/skills/frontend-ui-ux/references/design/webflow.md +95 -0
- package/.grok/skills/frontend-ui-ux/references/design/wired.md +281 -0
- package/.grok/skills/frontend-ui-ux/references/design/wise.md +176 -0
- package/.grok/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
- package/.grok/skills/frontend-ui-ux/references/design/zapier.md +331 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
- package/.grok/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
- package/.grok/skills/frontend-ui-ux/references/evidence-review.md +126 -0
- package/.grok/skills/frontend-ui-ux/references/implementation-platforms.md +109 -0
- package/.grok/skills/frontend-ui-ux/references/inclusive-interface.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/interaction-motion.md +101 -0
- package/.grok/skills/frontend-ui-ux/references/operating-lanes.md +92 -0
- package/.grok/skills/frontend-ui-ux/references/perfection/README.md +160 -0
- package/.grok/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
- package/.grok/skills/frontend-ui-ux/references/performance-delivery.md +93 -0
- package/.grok/skills/frontend-ui-ux/references/product-direction.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/redesign-playbook.md +97 -0
- package/.grok/skills/frontend-ui-ux/references/system-foundations.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/taste-direction.md +86 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
- package/.grok/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
- package/.grok/skills/frontend-ui-ux/references/visual-language.md +84 -0
- package/.grok/skills/frontend-ui-ux/references/visual-reconstruction.md +97 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.schema.json +306 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta1.schema.json +291 -0
- package/.grok/skills/frontend-ui-ux/schemas/design-contract-v1beta2.schema.json +311 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-format.mjs +286 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-inventory-rules.mjs +354 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-rules.mjs +361 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-contract-surface-rules.mjs +313 -0
- package/.grok/skills/frontend-ui-ux/scripts/design-data.mjs +68 -0
- package/.grok/skills/frontend-ui-ux/scripts/errors.mjs +12 -0
- package/.grok/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +124 -0
- package/.grok/skills/frontend-ui-ux/scripts/json-boundary.mjs +63 -0
- package/.grok/skills/frontend-ui-ux/scripts/query-design-intelligence.mjs +106 -0
- package/.grok/skills/frontend-ui-ux/scripts/search.mjs +43 -0
- package/.grok/skills/frontend-ui-ux/scripts/source-replay.mjs +153 -0
- package/.grok/skills/frontend-ui-ux/scripts/strict-json.mjs +143 -0
- package/.grok/skills/frontend-ui-ux/scripts/validate-design-contract.mjs +52 -0
- package/.grok/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +214 -0
- package/.grok/skills/lit-burnoff/SKILL.md +175 -0
- package/.grok/skills/lit-burnoff-file/SKILL.md +67 -0
- package/.grok/skills/lit-code/SKILL.md +531 -0
- package/.grok/skills/lit-code/references/go/README.md +90 -0
- package/.grok/skills/lit-code/references/go/backend-stack.md +641 -0
- package/.grok/skills/lit-code/references/go/bootstrap.md +328 -0
- package/.grok/skills/lit-code/references/go/bubbletea-v2.md +360 -0
- package/.grok/skills/lit-code/references/go/cobra-stack.md +468 -0
- package/.grok/skills/lit-code/references/go/concurrency.md +362 -0
- package/.grok/skills/lit-code/references/go/data-modeling.md +329 -0
- package/.grok/skills/lit-code/references/go/error-handling.md +359 -0
- package/.grok/skills/lit-code/references/go/golangci-strict.md +236 -0
- package/.grok/skills/lit-code/references/go/grpc-connect.md +375 -0
- package/.grok/skills/lit-code/references/go/libraries.md +337 -0
- package/.grok/skills/lit-code/references/go/one-liners.md +202 -0
- package/.grok/skills/lit-code/references/go/sqlc-pgx.md +471 -0
- package/.grok/skills/lit-code/references/go/testing.md +467 -0
- package/.grok/skills/lit-code/references/go/type-patterns.md +298 -0
- package/.grok/skills/lit-code/references/permission-sandbox-matrix.md +70 -0
- package/.grok/skills/lit-code/references/python/README.md +314 -0
- package/.grok/skills/lit-code/references/python/async-anyio.md +442 -0
- package/.grok/skills/lit-code/references/python/data-modeling.md +233 -0
- package/.grok/skills/lit-code/references/python/data-processing.md +133 -0
- package/.grok/skills/lit-code/references/python/error-handling.md +218 -0
- package/.grok/skills/lit-code/references/python/fastapi-stack.md +316 -0
- package/.grok/skills/lit-code/references/python/httpx2-optimization.md +360 -0
- package/.grok/skills/lit-code/references/python/libraries.md +307 -0
- package/.grok/skills/lit-code/references/python/one-liners.md +268 -0
- package/.grok/skills/lit-code/references/python/orjson-stack.md +378 -0
- package/.grok/skills/lit-code/references/python/pydantic-ai.md +285 -0
- package/.grok/skills/lit-code/references/python/pyproject-strict.md +232 -0
- package/.grok/skills/lit-code/references/python/textual-tui.md +201 -0
- package/.grok/skills/lit-code/references/python/type-patterns.md +176 -0
- package/.grok/skills/lit-code/references/rust/README.md +317 -0
- package/.grok/skills/lit-code/references/rust/async-tokio.md +299 -0
- package/.grok/skills/lit-code/references/rust/axum-stack.md +467 -0
- package/.grok/skills/lit-code/references/rust/cargo-strict.md +317 -0
- package/.grok/skills/lit-code/references/rust/clap-stack.md +409 -0
- package/.grok/skills/lit-code/references/rust/concurrency.md +375 -0
- package/.grok/skills/lit-code/references/rust/libraries.md +439 -0
- package/.grok/skills/lit-code/references/rust/one-liners.md +291 -0
- package/.grok/skills/lit-code/references/rust/proptest-insta.md +429 -0
- package/.grok/skills/lit-code/references/rust/type-state.md +354 -0
- package/.grok/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
- package/.grok/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
- package/.grok/skills/lit-code/references/rust-ub/README.md +289 -0
- package/.grok/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/.grok/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
- package/.grok/skills/lit-code/references/tool-boundaries.md +66 -0
- package/.grok/skills/lit-code/references/typescript/README.md +195 -0
- package/.grok/skills/lit-code/references/typescript/backend-hono.md +672 -0
- package/.grok/skills/lit-code/references/typescript/bootstrap.md +199 -0
- package/.grok/skills/lit-code/references/typescript/data-modeling.md +202 -0
- package/.grok/skills/lit-code/references/typescript/error-handling.md +169 -0
- package/.grok/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
- package/.grok/skills/lit-code/references/typescript/type-patterns.md +196 -0
- package/.grok/skills/lit-code/references/worked-cases.md +190 -0
- package/.grok/skills/lit-commit/SKILL.md +218 -0
- package/.grok/skills/lit-comprehend/SKILL.md +63 -0
- package/.grok/skills/lit-comprehend/references/artifact-format.md +58 -0
- package/.grok/skills/lit-comprehend/references/artifact-template.md +219 -0
- package/.grok/skills/lit-comprehend/references/honesty-ledger-contract.md +51 -0
- package/.grok/skills/lit-comprehend/references/micro-worlds.md +195 -0
- package/.grok/skills/lit-comprehend/references/worked-explainer.md +51 -0
- package/.grok/skills/lit-crucible/SKILL.md +231 -0
- package/.grok/skills/lit-handoff/SKILL.md +159 -0
- package/.grok/skills/lit-handoff/evals/evals.json +154 -0
- package/.grok/skills/lit-handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
- package/.grok/skills/lit-handoff/references/_canonical-corpus/manifest.json +17 -0
- package/.grok/skills/lit-handoff/references/source-pointer.md +31 -0
- package/.grok/skills/lit-handoff/scripts/verify-canonical-corpus.mjs +137 -0
- package/.grok/skills/lit-handoff/templates/HANDOFF.md +121 -0
- package/.grok/skills/lit-init/SKILL.md +244 -0
- package/.grok/skills/lit-korean/SKILL.md +176 -0
- package/.grok/skills/lit-plan/SKILL.md +71 -0
- package/.grok/skills/lit-plan/references/plan-schema.md +87 -0
- package/.grok/skills/lit-plan/references/start-work-handoff-contract.md +59 -0
- package/.grok/skills/lit-plan/scripts/scaffold-plan.mjs +259 -0
- package/.grok/skills/lit-plan/scripts/validate-plan.mjs +89 -0
- package/.grok/skills/lit-recap/SKILL.md +57 -0
- package/.grok/skills/lit-scientific-visualization/SKILL.md +213 -0
- package/.grok/skills/lit-scientific-visualization/scripts/verify-canonical-corpus.mjs +181 -0
- package/.grok/skills/lit-team/SKILL.md +73 -0
- package/.grok/skills/lit-team/references/explore-packet.md +70 -0
- package/.grok/skills/lit-team/references/general-purpose-packet.md +75 -0
- package/.grok/skills/lit-team/references/plan-packet.md +73 -0
- package/.grok/skills/litgoal/SKILL.md +98 -0
- package/.grok/skills/litgrok/SKILL.md +77 -0
- package/.grok/skills/litresearch/SKILL.md +60 -0
- package/.grok/skills/litresearch/references/mcp-tool-use-patterns.md +83 -0
- package/.grok/skills/litresearch/references/source-verdict-taxonomy.md +40 -0
- package/.grok/skills/litwork/SKILL.md +109 -0
- package/.grok/skills/lsp/SKILL.md +56 -0
- package/.grok/skills/lsp/references/built-in-lsp-contract.md +71 -0
- package/.grok/skills/lsp-setup/SKILL.md +82 -0
- package/.grok/skills/lsp-setup/references/bash/README.md +54 -0
- package/.grok/skills/lsp-setup/references/c-cpp/README.md +58 -0
- package/.grok/skills/lsp-setup/references/csharp/README.md +64 -0
- package/.grok/skills/lsp-setup/references/dart/README.md +48 -0
- package/.grok/skills/lsp-setup/references/elixir/README.md +51 -0
- package/.grok/skills/lsp-setup/references/go/README.md +53 -0
- package/.grok/skills/lsp-setup/references/haskell/README.md +57 -0
- package/.grok/skills/lsp-setup/references/java/README.md +55 -0
- package/.grok/skills/lsp-setup/references/julia/README.md +56 -0
- package/.grok/skills/lsp-setup/references/kotlin/README.md +58 -0
- package/.grok/skills/lsp-setup/references/lua/README.md +48 -0
- package/.grok/skills/lsp-setup/references/php/README.md +49 -0
- package/.grok/skills/lsp-setup/references/python/README.md +60 -0
- package/.grok/skills/lsp-setup/references/ruby/README.md +53 -0
- package/.grok/skills/lsp-setup/references/rust/README.md +55 -0
- package/.grok/skills/lsp-setup/references/swift/README.md +52 -0
- package/.grok/skills/lsp-setup/references/terraform/README.md +50 -0
- package/.grok/skills/lsp-setup/references/typescript/README.md +63 -0
- package/.grok/skills/lsp-setup/references/yaml/README.md +47 -0
- package/.grok/skills/lsp-setup/references/zig/README.md +49 -0
- package/.grok/skills/lsp-setup/scripts/detect-lsp.mjs +40 -0
- package/.grok/skills/lsp-setup/scripts/lsp-server-table.mjs +309 -0
- package/.grok/skills/lsp-setup/scripts/verify-lsp.mjs +54 -0
- package/.grok/skills/refactor/SKILL.md +210 -0
- package/.grok/skills/review-work/SKILL.md +515 -0
- package/.grok/skills/review-work/references/behavior-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/documentation-lane-contract.md +49 -0
- package/.grok/skills/review-work/references/integration-lane-contract.md +51 -0
- package/.grok/skills/review-work/references/regression-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/safety-lane-contract.md +48 -0
- package/.grok/skills/review-work/references/test-lane-contract.md +48 -0
- package/.grok/skills/review-work/scripts/check-lanes.mjs +63 -0
- package/.grok/skills/rules/SKILL.md +51 -0
- package/.grok/skills/rules/references/loading-order-contract.md +66 -0
- package/.grok/skills/rules/scripts/resolve-guidance.mjs +180 -0
- package/.grok/skills/skill-observer/SKILL.md +78 -0
- package/.grok/skills/skill-observer/references/review-contract.md +77 -0
- package/.grok/skills/skill-observer/scripts/curator.mjs +121 -0
- package/.grok/skills/skill-observer/scripts/review.mjs +347 -0
- package/.grok/skills/skill-observer/scripts/skill-loop.mjs +2087 -0
- package/.grok/skills/skill-observer/scripts/validate-skills.mjs +83 -0
- package/.grok/skills/start-work/SKILL.md +396 -0
- package/.grok/skills/structural-search/SKILL.md +195 -0
- package/.grok/skills/visual-qa/SKILL.md +50 -0
- package/.grok/skills/visual-qa/references/capture-playbook.md +47 -0
- package/.grok/skills/visual-qa/references/complete-contract.md +721 -0
- package/.grok/skills/visual-qa/references/verdict-taxonomy.md +34 -0
- package/.grok/skills/visual-qa/scripts/verify-evidence-manifest.mjs +91 -0
- package/.grok/skills/wikify/SKILL.md +65 -0
- package/.grok/skills/wikify/references/page-format.md +81 -0
- package/.grok/skills/wikify/references/provenance-contract.md +52 -0
- package/.grok/vendor/NOTICE.md +16 -0
- package/.grok/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
- package/.grok/vendor/provenance/045_scientific-visualization.md +37 -0
- package/.grok/vendor/scientific-visualization/assets/color_palettes.py +197 -0
- package/.grok/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
- package/.grok/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
- package/.grok/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
- package/.grok/vendor/scientific-visualization/evals/evals.json +158 -0
- package/.grok/vendor/scientific-visualization/references/_canonical-corpus/manifest.json +38 -0
- package/.grok/vendor/scientific-visualization/references/color_palettes.md +380 -0
- package/.grok/vendor/scientific-visualization/references/journal_requirements.md +359 -0
- package/.grok/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
- package/.grok/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
- package/.grok/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
- package/.grok/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
- package/.grok/vendor/scientific-visualization/scripts/figure_export.py +238 -0
- package/.grok/vendor/scientific-visualization/scripts/style_presets.py +467 -0
- package/.grok/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
- package/.grok/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
- package/CHANGELOG.md +131 -0
- package/CODE_OF_CONDUCT.md +9 -0
- package/CONTRIBUTING.md +22 -0
- package/LICENSE +21 -0
- package/README.md +228 -0
- package/README_ko-KR.md +228 -0
- package/SECURITY.md +11 -0
- package/SUPPORT.md +9 -0
- package/bin/litgrok.mjs +860 -0
- package/docs/assets/cover.webp +0 -0
- package/docs/assets/litgrok-clay-icon.png +0 -0
- package/docs/assets/litgrok-continuity-1600.webp +0 -0
- package/docs/assets/litgrok-ignition-1600.webp +0 -0
- package/docs/assets/litgrok-wordmark.svg +5 -0
- package/docs/assets/readme/README.md +31 -0
- package/docs/assets/readme/badge-license.svg +1 -0
- package/docs/assets/readme/badge-version.svg +1 -0
- package/docs/privacy.md +13 -0
- package/docs/reference.md +271 -0
- package/docs/reference_ko-KR.md +267 -0
- package/package.json +50 -0
- package/plugin.json +27 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
import sys
|
|
3
|
+
from unittest.mock import Mock
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
import matplotlib.pyplot as plt
|
|
7
|
+
|
|
8
|
+
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
|
9
|
+
|
|
10
|
+
from scripts.figure_export import save_for_journal, save_publication_figure
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FigureExportTests(unittest.TestCase):
|
|
14
|
+
def tearDown(self):
|
|
15
|
+
plt.close("all")
|
|
16
|
+
|
|
17
|
+
def test_publication_export_defaults_to_transparent_tight_high_dpi(self):
|
|
18
|
+
fig, _ = plt.subplots()
|
|
19
|
+
fig.savefig = Mock()
|
|
20
|
+
|
|
21
|
+
save_publication_figure(fig, "figure", formats=["png", "pdf"])
|
|
22
|
+
|
|
23
|
+
png_kwargs = fig.savefig.call_args_list[0].kwargs
|
|
24
|
+
pdf_kwargs = fig.savefig.call_args_list[1].kwargs
|
|
25
|
+
self.assertEqual(png_kwargs["bbox_inches"], "tight")
|
|
26
|
+
self.assertTrue(png_kwargs["transparent"])
|
|
27
|
+
self.assertEqual(png_kwargs["facecolor"], "none")
|
|
28
|
+
self.assertGreaterEqual(png_kwargs["dpi"], 600)
|
|
29
|
+
self.assertGreaterEqual(pdf_kwargs["dpi"], 600)
|
|
30
|
+
|
|
31
|
+
def test_journal_export_forces_nontransparent_background(self):
|
|
32
|
+
fig, _ = plt.subplots()
|
|
33
|
+
fig.savefig = Mock()
|
|
34
|
+
|
|
35
|
+
save_for_journal(fig, "figure", journal="nature", figure_type="combination")
|
|
36
|
+
|
|
37
|
+
kwargs = fig.savefig.call_args.kwargs
|
|
38
|
+
self.assertFalse(kwargs["transparent"])
|
|
39
|
+
self.assertEqual(kwargs["facecolor"], "white")
|
|
40
|
+
self.assertEqual(kwargs["bbox_inches"], "tight")
|
|
41
|
+
|
|
42
|
+
def test_publication_export_rejects_missing_output_parent(self):
|
|
43
|
+
fig, _ = plt.subplots()
|
|
44
|
+
missing_parent = Path("definitely_missing_parent") / "subdir" / "figure"
|
|
45
|
+
|
|
46
|
+
with self.assertRaises(FileNotFoundError):
|
|
47
|
+
save_publication_figure(fig, missing_parent, formats=["png"])
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
if __name__ == "__main__":
|
|
51
|
+
unittest.main()
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
import sys
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from unittest.mock import patch
|
|
5
|
+
|
|
6
|
+
import matplotlib as mpl
|
|
7
|
+
import matplotlib.pyplot as plt
|
|
8
|
+
|
|
9
|
+
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
|
10
|
+
|
|
11
|
+
from scripts import style_presets
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DummyFont:
|
|
15
|
+
def __init__(self, name):
|
|
16
|
+
self.name = name
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class StylePresetTests(unittest.TestCase):
|
|
20
|
+
def tearDown(self):
|
|
21
|
+
mpl.rcdefaults()
|
|
22
|
+
|
|
23
|
+
def test_rcparams_uses_safe_font_stack_when_pretendard_and_arial_missing(self):
|
|
24
|
+
fonts = [DummyFont("DejaVu Sans"), DummyFont("AppleGothic")]
|
|
25
|
+
|
|
26
|
+
with patch.object(style_presets.font_manager.fontManager, "ttflist", fonts):
|
|
27
|
+
style_presets.rcparams()
|
|
28
|
+
|
|
29
|
+
self.assertEqual(mpl.rcParams["font.family"], ["sans-serif"])
|
|
30
|
+
self.assertEqual(mpl.rcParams["font.sans-serif"][:2], ["DejaVu Sans", "AppleGothic"])
|
|
31
|
+
self.assertEqual(mpl.rcParams["pdf.fonttype"], 42)
|
|
32
|
+
self.assertEqual(mpl.rcParams["ps.fonttype"], 42)
|
|
33
|
+
self.assertEqual(mpl.rcParams["svg.fonttype"], "none")
|
|
34
|
+
|
|
35
|
+
def test_rcparams_prioritizes_pretendard_then_arial_when_available(self):
|
|
36
|
+
fonts = [DummyFont("Arial"), DummyFont("Helvetica"), DummyFont("Pretendard"), DummyFont("DejaVu Sans")]
|
|
37
|
+
|
|
38
|
+
with patch.object(style_presets.font_manager.fontManager, "ttflist", fonts):
|
|
39
|
+
style_presets.rcparams()
|
|
40
|
+
|
|
41
|
+
self.assertEqual(mpl.rcParams["font.sans-serif"][:2], ["Pretendard", "Arial"])
|
|
42
|
+
|
|
43
|
+
def test_rcparams_forces_agent_safe_grid_and_transparent_export_defaults(self):
|
|
44
|
+
mpl.rcParams["axes.grid"] = True
|
|
45
|
+
mpl.rcParams["savefig.transparent"] = False
|
|
46
|
+
|
|
47
|
+
style_presets.rcparams()
|
|
48
|
+
|
|
49
|
+
self.assertFalse(mpl.rcParams["axes.grid"])
|
|
50
|
+
self.assertEqual(mpl.rcParams["savefig.bbox"], "tight")
|
|
51
|
+
self.assertTrue(mpl.rcParams["savefig.transparent"])
|
|
52
|
+
|
|
53
|
+
def test_configure_for_journal_validates_widths_and_supports_one_half_column(self):
|
|
54
|
+
style_presets.configure_for_journal("nature", "one_half")
|
|
55
|
+
width, height = mpl.rcParams["figure.figsize"]
|
|
56
|
+
|
|
57
|
+
self.assertAlmostEqual(width, 120 / 25.4, places=3)
|
|
58
|
+
self.assertLessEqual(height, 170 / 25.4)
|
|
59
|
+
|
|
60
|
+
with self.assertRaises(ValueError):
|
|
61
|
+
style_presets.configure_for_journal("nature", "poster")
|
|
62
|
+
|
|
63
|
+
def test_ensure_zero_origin_ticks_keeps_first_tick_at_zero(self):
|
|
64
|
+
style_presets.rcparams()
|
|
65
|
+
fig, ax = plt.subplots()
|
|
66
|
+
ax.plot([0, 1, 2], [0, 50, 100])
|
|
67
|
+
ax.set_ylim(0, 100)
|
|
68
|
+
|
|
69
|
+
style_presets.ensure_zero_origin_ticks(ax, y=True, nbins=5)
|
|
70
|
+
|
|
71
|
+
self.assertEqual(ax.get_ylim()[0], 0)
|
|
72
|
+
self.assertAlmostEqual(ax.get_yticks()[0], 0)
|
|
73
|
+
self.assertTrue(all(tick >= 0 for tick in ax.get_yticks()))
|
|
74
|
+
plt.close(fig)
|
|
75
|
+
|
|
76
|
+
def test_style_legend_keeps_black_text_for_nature_and_colored_text_when_requested(self):
|
|
77
|
+
style_presets.rcparams()
|
|
78
|
+
fig, ax = plt.subplots()
|
|
79
|
+
line_a, = ax.plot([0, 1], [0, 1], color="#E69F00", label="A")
|
|
80
|
+
line_b, = ax.plot([0, 1], [1, 0], color="#56B4E9", label="B")
|
|
81
|
+
|
|
82
|
+
legend = style_presets.style_legend(ax, color_text=False)
|
|
83
|
+
self.assertTrue(legend.get_frame_on())
|
|
84
|
+
self.assertEqual(legend.get_frame().get_alpha(), 1)
|
|
85
|
+
self.assertTrue(all(text.get_color() == "black" for text in legend.get_texts()))
|
|
86
|
+
|
|
87
|
+
legend = style_presets.style_legend(ax, color_text=True)
|
|
88
|
+
self.assertEqual([text.get_color() for text in legend.get_texts()], [line_a.get_color(), line_b.get_color()])
|
|
89
|
+
plt.close(fig)
|
|
90
|
+
|
|
91
|
+
def test_style_legend_colored_text_supports_bar_patch_handles(self):
|
|
92
|
+
style_presets.rcparams()
|
|
93
|
+
fig, ax = plt.subplots()
|
|
94
|
+
bars = ax.bar([0, 1], [1, 2], color=["#E69F00", "#56B4E9"], label="bars")
|
|
95
|
+
|
|
96
|
+
legend = style_presets.style_legend(ax, color_text=True)
|
|
97
|
+
|
|
98
|
+
self.assertEqual(legend.get_texts()[0].get_color(), bars.patches[0].get_facecolor())
|
|
99
|
+
plt.close(fig)
|
|
100
|
+
|
|
101
|
+
def test_plot_scatter_only_creates_no_connecting_line_artists(self):
|
|
102
|
+
style_presets.rcparams()
|
|
103
|
+
fig, ax = plt.subplots()
|
|
104
|
+
|
|
105
|
+
collection = style_presets.plot_scatter_only(ax, [0, 1, 2, 3], [1, 3, 2, 4], label="observations")
|
|
106
|
+
|
|
107
|
+
self.assertIn(collection, ax.collections)
|
|
108
|
+
self.assertEqual(len(ax.lines), 0)
|
|
109
|
+
self.assertEqual(collection.get_label(), "observations")
|
|
110
|
+
plt.close(fig)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
if __name__ == "__main__":
|
|
114
|
+
unittest.main()
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 1.0.0
|
|
6
|
+
|
|
7
|
+
- Release `@litfamily/litgrok` while retaining the `litgrok` and `litgrok-ai` executable aliases, native `.grok` paths, and existing ownership receipts.
|
|
8
|
+
- Preserve ownership-checked upgrades and removal, including refusal of modified, foreign, or unsafe files. Keep legacy skill and agent migration support.
|
|
9
|
+
- Align bilingual install and lifecycle references with the scoped package, document local data and support boundaries, and integrate the Ignition vector cover with editable installation commands in the READMEs.
|
|
10
|
+
- Use the selected Ignition B interlocking terminal mark with exact orange/lime/ivory cell colors in installer, help, SessionStart and README output. Preserve plain fallback, custom product labels, session suppression and functional progress colors; retain previous mark fixtures as history.
|
|
11
|
+
- Retain the shared terminal fallback policy, validated SessionStart mark suppression, and request-scoped reader/technical/audit guidance.
|
|
12
|
+
- Keep cover artwork and its generator out of the npm payload; ship the complete native skills, agents, rules, hooks, and vendor resources.
|
|
13
|
+
|
|
14
|
+
## 0.2.9 (pending) — 2026-09-03
|
|
15
|
+
|
|
16
|
+
- Add a shared, request-scoped `reader` / `technical` / `audit` communication
|
|
17
|
+
contract across the project rule, conversational skills, and agent return
|
|
18
|
+
packets. Reader replies now filter routine execution metadata while material
|
|
19
|
+
failures remain visible and detailed evidence, ledgers, and handoffs stay
|
|
20
|
+
intact.
|
|
21
|
+
- Cover the installed communication contract, parent/child projection,
|
|
22
|
+
protected operational surfaces, and safe payload upgrades. LitGrok continues
|
|
23
|
+
to label final-response enforcement as advisory because it does not ship a
|
|
24
|
+
supported host response interceptor.
|
|
25
|
+
|
|
26
|
+
## 0.2.8 (pending) — 2026-09-02
|
|
27
|
+
|
|
28
|
+
- Move the scientific-visualization corpus to `.grok/vendor/` so the skill
|
|
29
|
+
adapter stays a wrapper over the original files.
|
|
30
|
+
- Count vendor license, provenance, and NOTICE companions in family
|
|
31
|
+
payload-parity so packed skills keep the material they name.
|
|
32
|
+
|
|
33
|
+
## 0.2.7 (pending) — 2026-09-02
|
|
34
|
+
|
|
35
|
+
- Repair payload upgrades across the ownership-manifest transition: installs now
|
|
36
|
+
record a schema-checked `.grok/.litgrok-install-manifest.json` of SHA-256
|
|
37
|
+
payload hashes, classify files matching recorded hashes as installer-owned,
|
|
38
|
+
and atomically replace owned files during upgrades. Uninstall removes owned
|
|
39
|
+
files and the manifest only after payload removal succeeds.
|
|
40
|
+
- Migrate a pristine manifest-free 0.2.5 payload through the bundled seven-file
|
|
41
|
+
legacy hash snapshot, while malformed manifests and modified or unrecognized
|
|
42
|
+
files still fail closed before payload writes.
|
|
43
|
+
- Add regression coverage for historical migration, legacy user edits,
|
|
44
|
+
malformed ownership metadata, and manifest cleanup; enable full-history CI
|
|
45
|
+
checkout for the historical archive fixture and document the ownership
|
|
46
|
+
behavior in both READMEs.
|
|
47
|
+
|
|
48
|
+
## 0.2.6 (pending) — 2026-09-02
|
|
49
|
+
|
|
50
|
+
- Harden inode-reuse handling across skill-loop state locks and the
|
|
51
|
+
autoconference/autoresearch output scaffolders: lock reclaim, failed-acquisition
|
|
52
|
+
cleanup, and release stay bound to descriptor identity, ctime/birthtime, and
|
|
53
|
+
exact bytes through tombstone checks, while opened output directories are
|
|
54
|
+
revalidated against full stat identity before publication. Add same-inode race
|
|
55
|
+
regressions and regenerate the affected canonical manifests so replacements fail
|
|
56
|
+
closed while authorized rotations remain valid.
|
|
57
|
+
|
|
58
|
+
## 0.2.5 (pending) — 2026-09-01
|
|
59
|
+
|
|
60
|
+
- Add the shared stacked LitFamily ASCII wordmark to the installer and lead both
|
|
61
|
+
READMEs with the version-free wordmark.
|
|
62
|
+
- Add a CI-enforced, manifest-driven version-lockstep guard for all eight release
|
|
63
|
+
sites, counting both plain and escaped-regex pins.
|
|
64
|
+
- Report model-picker and output-style selection as Grok host limits rather than
|
|
65
|
+
shipped surfaces: the installer writes no model or style keys, and
|
|
66
|
+
`grok inspect --json` exposes no `model`, `outputStyles`, or `settings` keys.
|
|
67
|
+
- Add installer-depth coverage for explicit `--yes` consent, non-interactive
|
|
68
|
+
no-write behavior, host-limit receipts, measured install phases, and isolated
|
|
69
|
+
plugin validation.
|
|
70
|
+
|
|
71
|
+
## 0.2.4 (pending) — 2026-08-31
|
|
72
|
+
|
|
73
|
+
- Ship the Grok plugin manifest, eleven Grok-native agents, and complete reference
|
|
74
|
+
corpora for `lit-scientific-visualization`, `lit-handoff`, `autoresearch`, and
|
|
75
|
+
`autoconference` instead of single-entry skill stubs.
|
|
76
|
+
- Remove unsupported durable-goal-runtime claims from `litgoal` and `litwork`, and
|
|
77
|
+
add packed-payload substance, cross-product parity, and referenced-path checks so
|
|
78
|
+
installed skills retain the material they name.
|
|
79
|
+
- Refresh the canonical legal attribution metadata without changing the four
|
|
80
|
+
upstream attributions it records. This candidate has not been published, tagged,
|
|
81
|
+
or pushed.
|
|
82
|
+
|
|
83
|
+
## 0.2.3 (pending) — 2026-08-30
|
|
84
|
+
|
|
85
|
+
- Make the approved plan-file policy visible: `lit-plan` writes
|
|
86
|
+
`plans/<slug>.md` and the planning turn is blocked until the file has
|
|
87
|
+
executable checkbox tasks.
|
|
88
|
+
- Port the Grok-native `lsp-setup` skill with its 20 language references and
|
|
89
|
+
expose it through the installer and `grok inspect --json` catalog.
|
|
90
|
+
- Add the shared install frame and explicit host-owned model-selection notice;
|
|
91
|
+
this candidate has not been published, tagged, or pushed.
|
|
92
|
+
- Give the foreground review enough bounded time for the shipped four-turn model
|
|
93
|
+
route while keeping export and model phases separately capped (5 seconds and
|
|
94
|
+
60 seconds).
|
|
95
|
+
|
|
96
|
+
## 0.2.2 (pending)
|
|
97
|
+
|
|
98
|
+
- Keep the unpublished patch sequence explicit: `0.2.1` remains the first pending package version from the port-completion branch, and `0.2.2` is the subsequent pending skill-learning-loop patch. Publish `0.2.1` before `0.2.2`; this changelog does not claim that either version has been published.
|
|
99
|
+
- Add the user-invoked foreground skill learning loop: bounded session export and secret-scrubbed review, pending-only proposals, explicit apply/reject authority, a content-addressed decision ledger, rollback, and a deterministic archive-only curator.
|
|
100
|
+
- Route agent-owned skill writes only to `$HOME/.grok/skills/<name>/` with `metadata: { litgrokAgentGenerated: "true" }`, while refusing packaged, project-payload, unmarked, modified, and symlinked targets. Transcript content remains inert and `autoApply` remains false.
|
|
101
|
+
- Keep `Stop` and `SessionStart` model-free, preserve the existing SessionStart banner as the first line, and surface at most one pending-review line. Foreground review disables child tools, has a 30-second total budget, and fails closed on invalid or no-op proposals.
|
|
102
|
+
- Support the learning loop on macOS and Linux. On Windows, all learning-loop commands fail before subprocess, project learning-state, or user-skill access with `WINDOWS_SKILL_LOOP_UNSUPPORTED`; passive hooks and installation remain available while a native ACL and process-job helper is pending.
|
|
103
|
+
- Correct all eleven hook registrations to resolve commands from the hook configuration directory and normalize equivalent host event-name casing without accepting a different event.
|
|
104
|
+
|
|
105
|
+
## 0.2.1
|
|
106
|
+
|
|
107
|
+
- Prepare the 0.2.1 patch release with the manifest-pinned family-canon rule clarification: host-neutral references, schemas, datasets, legal files, focused references, and scripts may be carried byte-for-byte with provenance; contract prose is translated rather than copied verbatim.
|
|
108
|
+
- Carry the canonical frontend corpus and its legal/provenance records with verified aggregate SHA-256 `f6959eeeae02685102df9fbedafb2c437be4d51df8e102f9fcf32298f7674e7d7`, legal-tree SHA-256 `41b8726914b503469cb4f29410f911ccd9d963c63329bf3509e110c5cfafc7ec`, and dataset SHA-256 `a89011236a6ff14e12ec55fccbfab1bbd40ae34614cea5710c022121aa841bb8`. The reference volume is carried from the family canon rather than newly authored LitGrok prose.
|
|
109
|
+
- Add v1beta2 taste support for the `variance`, `motion`, and `density` dials, with schema, validator, query, and import checks.
|
|
110
|
+
- Carry programming, debugging, visual-qa, lit-comprehend, and browser-drive reference material, and deepen the review-work, start-work, and programming entry points with Grok-native routing and evidence contracts.
|
|
111
|
+
- Fresh Task 8 measurements record 426,524 reference-Markdown words and 38,029 SKILL.md words, versus Task 1's 20,042 and 29,088; review-work is 5,190 source / 3,715 target words, start-work is 4,027 / 2,743, programming is 5,225 / 3,881, and the skill spread is 10.16x versus Task 1's 4.4x. These counts describe carried corpus material and operational entry-point depth, not invented filler.
|
|
112
|
+
|
|
113
|
+
## 0.2.0
|
|
114
|
+
|
|
115
|
+
- Replace the two-file static package with a full Grok-native payload; `0.2.0` is a minor-version boundary because the installed product and runtime hook surface changed while the package remains pre-1.0.
|
|
116
|
+
- Ship 33 skills and the project rule at `.grok/rules/00-litgrok.md`.
|
|
117
|
+
- Add the bounded `SessionStart` payload announcement and the blocking `PreToolUse` deliverable-hedge guard.
|
|
118
|
+
- Widen the guard's Korean absent-evidence patterns after two isolated A/B evaluations showed that the original phrase list scored real limitation leaks as clean; the output-channel declaration is machine-readable guard metadata, not a claim that contract prose changes model behavior.
|
|
119
|
+
- Add recording-only `UserPromptSubmit`, `PostToolUse`, `PostToolUseFailure`, `Stop`, `StopFailure`, `SubagentStart`, `SubagentStop`, `PreCompact`, and `PostCompact` hooks backed by a package-owned session ledger.
|
|
120
|
+
- Widen the installer to discover, install, verify, and uninstall the whole packaged `.grok/` tree with its existing refusal and idempotency policy.
|
|
121
|
+
- Keep undocumented schemas blocked: LitGrok ships no plugin manifest, plugin-supplied LSP server configuration, or custom agent definition.
|
|
122
|
+
|
|
123
|
+
## 0.1.2
|
|
124
|
+
|
|
125
|
+
- Add `npx litgrok-ai install` / `npx litgrok install`.
|
|
126
|
+
- Family-style cover, English and Korean README, LICENSE.
|
|
127
|
+
|
|
128
|
+
## 0.1.1
|
|
129
|
+
|
|
130
|
+
- First public candidate: one Grok skill and one project-rule document.
|
|
131
|
+
- Static npm payload only. No host login, plugin, hook, MCP, or TUI claim.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Code of conduct
|
|
2
|
+
|
|
3
|
+
Be respectful and specific in issues, reviews, and project discussions. Critique code and evidence rather than people. Welcome questions, explain assumptions, and respect differing experience and communication styles.
|
|
4
|
+
|
|
5
|
+
Harassment, threats, discrimination, personal attacks, sexualized conduct, and disclosure of another person's private information are unacceptable. Do not publish private messages or credentials in a report.
|
|
6
|
+
|
|
7
|
+
Maintainers may edit or remove harmful content, close disruptive discussions, or restrict participation. Responses should consider the severity and context; repeated or serious violations may result in exclusion. Maintainers follow the same expectations.
|
|
8
|
+
|
|
9
|
+
For a concern, use an available private repository reporting channel. If none is displayed, ask for a private maintainer contact using a minimal issue without identifying or sensitive details. No unverified contact address or guaranteed response time is provided. These expectations apply to project spaces and to people representing the project publicly.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Contributing to LitGrok
|
|
2
|
+
|
|
3
|
+
LitGrok is an independent, dependency-free Node installer and Grok Build payload. Start with a small issue or pull request that explains the observed behavior, expected behavior, and an isolated reproduction. The scoped npm name is a release candidate; use a local checkout for development.
|
|
4
|
+
|
|
5
|
+
Use Node.js 22, Git, and npm. There is no dependency install or lockfile. Run from the repository root:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
node --check bin/litgrok.mjs
|
|
9
|
+
node --check test/skills-and-rules.test.mjs
|
|
10
|
+
node .grok/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs
|
|
11
|
+
npm run check:version
|
|
12
|
+
npm test
|
|
13
|
+
npm pack --dry-run --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The suite includes package, installer, ownership, hooks, and static documentation checks. Optional scientific tooling may be unavailable; report its explicit skip or degraded result. A local hook fixture does not establish authenticated Grok behavior. Historical installer tests use Git history, so retain a full checkout when running those tests.
|
|
17
|
+
|
|
18
|
+
For a behavior change, preserve a failing regression and test the corrected path plus a meaningful refusal case. Exercise installations in a disposable project and HOME with separate TMPDIR and npm cache. Interactive writes require a terminal; CI and no-color modes remain no-write previews even with `--yes`. Never use a real user profile as a fixture. Preserve unrelated settings, changed skills, and unsafe destinations; clean only your own temporary resources.
|
|
19
|
+
|
|
20
|
+
Keep npm identity separate from executable aliases and ownership IDs. Do not add dependencies, undocumented host surfaces, or an updater to solve a documentation change. Keep vendor bytes, license notices, accepted artwork, and unrelated changes intact. Product versions and release actions require a separate maintainer decision; CI validates only.
|
|
21
|
+
|
|
22
|
+
In a pull request, state the trigger and resulting behavior, changed scope, checks with results, unresolved limitations, and cleanup. Remove secrets, transcript excerpts, identifying paths, and credentials from reports. See [security](./SECURITY.md), [privacy](./docs/privacy.md), and the [code of conduct](./CODE_OF_CONDUCT.md).
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 LitGrok contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/cover.webp" width="100%" alt="LitGrok v5 armory cover" /></p>
|
|
2
|
+
|
|
3
|
+
<h1 align="center">LitGrok</h1>
|
|
4
|
+
<p align="center"><strong>Keep the work lit.</strong></p>
|
|
5
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/litgrok-wordmark.svg" width="480" alt="LITGROK display type" /></p>
|
|
6
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/litgrok-clay-icon.png" width="160" alt="LitGrok clay mark" /></p>
|
|
7
|
+
|
|
8
|
+
Make something useful in Grok Build. Leave the checked result and the next step with your project.
|
|
9
|
+
|
|
10
|
+
[한국어](./README_ko-KR.md) · [Install](#install-in-30-seconds) · [First use](#first-lit-use) · [Reference](./docs/reference.md)
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="#install-in-30-seconds"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/readme/badge-version.svg" alt="1.0.0" /></a>
|
|
14
|
+
<a href="./LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="./docs/reference.md"><img src="./docs/assets/readme/lucide-book-open.svg" width="16" alt="" /> Docs</a> <a href="#install-in-30-seconds">Install</a> <a href="./docs/assets/readme/ignition-film.mp4"><img src="./docs/assets/readme/lucide-play.svg" width="16" alt="" /> Ignition</a> <a href="./LICENSE"><img src="./docs/assets/readme/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
> **A spark has been placed in your hands. Put it to work.**
|
|
22
|
+
>
|
|
23
|
+
> A bug you want fixed. A screen you want built. A project you want to finish.
|
|
24
|
+
>
|
|
25
|
+
> Starting takes a line. When the session changes, the harder part is finding where you left off. LIT guides you through leaving a goal, a plan, a checked result, and a next step with your project.
|
|
26
|
+
>
|
|
27
|
+
> **Leave something the next session can pick up.**
|
|
28
|
+
|
|
29
|
+
It ships 34 skills, 11 agents, one project rule, and eleven hook registrations. The installer copies the complete payload into your project; Grok Build runs the session and owns model selection.
|
|
30
|
+
|
|
31
|
+
Package: **@litfamily/litgrok** · Version: **1.0.0** · [MIT](./LICENSE)
|
|
32
|
+
|
|
33
|
+
The scientific visualization corpus is packaged at `.grok/vendor/scientific-visualization/`; the numeric `045_scientific-visualization` label remains only in license and provenance filenames.
|
|
34
|
+
|
|
35
|
+
> [!NOTE]
|
|
36
|
+
> Install the scoped package with the registry command below. An absolute local package path is available for an isolated trial. Landing covers and badges ship in the package so they render on npmjs.
|
|
37
|
+
|
|
38
|
+
## Start with one lit task
|
|
39
|
+
|
|
40
|
+
Grok Build uses the explicit `/litwork` route for a bounded task. It owns model execution; LitGrok leaves skills, rules, and checked next steps in the project.
|
|
41
|
+
|
|
42
|
+
| Prompt or route | Effect |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `/litwork` | Start the shipped work checklist in Grok Build. |
|
|
45
|
+
| `handoff` or `/lit-handoff` | Carry the checked result and next step into another session. |
|
|
46
|
+
| `/lit-plan` | Write a plan with concrete checks. |
|
|
47
|
+
| `/start-work <approved-plan>` | Execute an approved plan. |
|
|
48
|
+
| `/review-work` | Review a change and its evidence. |
|
|
49
|
+
| `/litresearch` | Run bounded, source-traceable research without overstating evidence. |
|
|
50
|
+
|
|
51
|
+
## Practical routes and visual cues
|
|
52
|
+
|
|
53
|
+
In Grok Build, `/litwork` starts the bounded work checklist; `handoff` or `/lit-handoff` carries the checked result and next step; `/lit-plan` records a plan with checks; `/start-work <approved-plan>` executes that plan; `/review-work` inspects the change and its evidence; and `/litresearch` runs bounded, source-traceable research. The expected effect is a resumable, checked project record. The host limit is explicit: Grok Build owns execution and model selection, while LitGrok installs the `.grok` payload; hooks require a trusted Git root and a plain folder may load skills and rules without hooks. These images are static route cues, not proof of live host behavior.
|
|
54
|
+
|
|
55
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/litgrok-ignition-1600.webp" width="48%" alt="LitGrok ignition apparatus" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litgrok@1.0.0/docs/assets/litgrok-continuity-1600.webp" width="48%" alt="LitGrok continuity apparatus" /></p>
|
|
56
|
+
|
|
57
|
+
<p align="center"><a href="./docs/assets/readme/ignition-film.mp4"><img src="./docs/assets/readme/ignition-poster.png" width="720" alt="Ignition motion poster" /></a></p>
|
|
58
|
+
|
|
59
|
+
The poster opens the optional film; this README keeps motion opt-in.
|
|
60
|
+
|
|
61
|
+
The retained `docs/assets/cover.svg` is the editable, low-bandwidth fallback; the WebP above is the product emphasis export.
|
|
62
|
+
|
|
63
|
+
## Install in 30 seconds
|
|
64
|
+
|
|
65
|
+
With Node.js and Grok Build available, use an open interactive terminal in the project you want to try. The primary install uses the scoped package:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm exec --yes --package @litfamily/litgrok@latest -- litgrok install
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
For an optional isolated trial, set the actual absolute path of the supplied local package, then run these two lines separately:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
LITGROK_PACK='/absolute/path/to/the-provided-package.tgz'
|
|
75
|
+
npm exec --yes --package "$LITGROK_PACK" -- litgrok install
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The default destination is `<project>/.grok/`. Use `--package @litfamily/litgrok@1.0.0` for a pinned install, or add `--user` to install under `~/.grok/`. [Install and upgrade details](./docs/reference.md#install).
|
|
79
|
+
|
|
80
|
+
Project hooks need a trusted Git project root in Grok Build. A plain folder can still load the installed skills and rules while hooks remain unavailable. For a new disposable project, run `git init` yourself before trusting it; for an existing repository, open Grok Build from its actual root. The installer never runs `git init` or changes trust. In the observed Grok Build 1.0.13 host, `grok --trust inspect --json` accepted the trust-and-inspect route even though `--trust` was omitted from `grok --help`; this is version-specific behavior.
|
|
81
|
+
|
|
82
|
+
If `CI` or `NO_COLOR` is set, even to an empty value, installation is a no-write preview. So are `--no-color` and non-interactive runs. Check that the installer reports actual writes before continuing.
|
|
83
|
+
|
|
84
|
+
## First lit use
|
|
85
|
+
|
|
86
|
+
Open or restart Grok Build at the installed project’s Git root. Review and trust its project hooks with `/hooks-trust`, or, on the observed Grok Build 1.0.13 host, use `grok --trust inspect --json`. A plain folder can still load skills and rules while hooks remain unavailable. Check `/skills` for the installed catalog and `/hooks` for hook registrations. LitGrok does not create a Git root or change trust.
|
|
87
|
+
|
|
88
|
+
Start with a small task that needs no external service or existing test suite. Send this in Grok Build:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
/litwork Build a to-do list in one index.html with no external dependencies. Implement add, complete, and delete. Leave the checks performed and the next step. Do not open a browser automatically; give me the steps to check it myself.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Open the generated `index.html` yourself and try adding, completing, and deleting an item. Creating a file and checking its behavior are separate steps. Leave any unrun checks marked unverified; report actual errors back to the session.
|
|
95
|
+
|
|
96
|
+
### Carry the spark into the next session
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
Plan → Build → Verify → Hand off
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
For a larger change, start with `/lit-plan`, review the saved plan, then invoke `/start-work <plan path>`. Before stopping, ask:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
/lit-handoff Record what we built, what we checked, and what remains. Tell me where you saved the handoff.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
In the next session, supply that returned path and ask Grok Build to read it and check the current files before continuing. The default is `.handoff/HANDOFF.md` in a new Git project or `HANDOFF.md` in a non-Git workspace. An existing root handoff is reused. [Destination and handoff guidance](./.grok/skills/lit-handoff/SKILL.md).
|
|
109
|
+
|
|
110
|
+
**Keeping the spark means leaving work another session can pick up.** These are skill-guided steps in your session; LitGrok does not schedule background work or continue after the session ends.
|
|
111
|
+
|
|
112
|
+
## How it fits inside Grok Build
|
|
113
|
+
|
|
114
|
+
The installer puts files in the project's `.grok/` directory. `/litwork` provides a checklist for the current session; Grok Build owns execution and model selection. These are the main connections.
|
|
115
|
+
|
|
116
|
+
```mermaid
|
|
117
|
+
flowchart TD
|
|
118
|
+
I["litgrok install"] --> P["Project .grok/ files"]
|
|
119
|
+
P --> S["skills · /litwork"]
|
|
120
|
+
P --> R["rules · project guidance"]
|
|
121
|
+
P --> H["hooks · /hooks-trust required"]
|
|
122
|
+
S --> G["Grok Build session"]
|
|
123
|
+
R --> G
|
|
124
|
+
G -->|Trusted hook events| H
|
|
125
|
+
H --> L["session-ledger · event chronology"]
|
|
126
|
+
G -->|Check work · /lit-handoff| N["Project working notes and handoff"]
|
|
127
|
+
N -.->|User supplies the path| G
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The hooks' `.grok/litgrok/session-ledger/` records event order. Judge success from the artifact and its checks. The user supplies the handoff path in the next session; having a record does not automatically resume work.
|
|
131
|
+
|
|
132
|
+
[Checklist and hook boundaries](./.grok/skills/litwork/SKILL.md) · [Handoff destinations](./.grok/skills/lit-handoff/SKILL.md) · [Install details](./docs/reference.md#install)
|
|
133
|
+
|
|
134
|
+
## Core routes
|
|
135
|
+
|
|
136
|
+
| Need | Skill |
|
|
137
|
+
|---|---|
|
|
138
|
+
| Clarify a vague request | [`/deep-interview`](./.grok/skills/deep-interview/SKILL.md) |
|
|
139
|
+
| Write a plan with concrete checks | [`/lit-plan`](./.grok/skills/lit-plan/SKILL.md) |
|
|
140
|
+
| Execute an approved plan | [`/start-work`](./.grok/skills/start-work/SKILL.md) |
|
|
141
|
+
| Keep one task bounded and verifiable | [`/litwork`](./.grok/skills/litwork/SKILL.md) |
|
|
142
|
+
| Review a change and its evidence | [`/review-work`](./.grok/skills/review-work/SKILL.md) |
|
|
143
|
+
| Leave a resumable handoff | [`/lit-handoff`](./.grok/skills/lit-handoff/SKILL.md) |
|
|
144
|
+
|
|
145
|
+
Use `/skills` for all 34 skills. [Rename compatibility](./docs/reference.md#skill-rename-compatibility) covers the one-release aliases; old slash routes are not guaranteed.
|
|
146
|
+
|
|
147
|
+
## Safety and uninstall
|
|
148
|
+
|
|
149
|
+
Preview the exact destinations before writing:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npm exec --yes --package "$LITGROK_PACK" -- litgrok install --dry-run
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The installer verifies file ownership before upgrades or removal. Modified, foreign, or unsafe destination files cause the operation to refuse rather than overwrite them. `CI`, `NO_COLOR` (even empty), `--no-color`, and non-interactive runs are no-write previews, including with `--yes`.
|
|
156
|
+
|
|
157
|
+
For a local-package install, remove it with the same package in the same project. Add `--user` only to remove an installation made with `--user`.
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npm exec --yes --package "$LITGROK_PACK" -- litgrok uninstall
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Registry uninstall commands:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
npm exec --yes --package @litfamily/litgrok@latest -- litgrok uninstall
|
|
167
|
+
npm exec --yes --package @litfamily/litgrok@latest -- litgrok uninstall --user
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Match the scope used for installation. Re-run `install` to update. The installer does not grant hook trust, create a Git root, write login state or API keys, or choose a model. The hedge guard is fail-open on host errors; a passing package test does not prove live Grok behavior. Check `/hooks` and `grok inspect --json` from the repository root in your own session. [Host boundaries and verification](./docs/reference.md#verify).
|
|
171
|
+
|
|
172
|
+
## Documentation
|
|
173
|
+
|
|
174
|
+
- [Operational reference](./docs/reference.md): installation, hooks, terminal output, payload checks, and source provenance.
|
|
175
|
+
- [Skill learning loop](./docs/reference.md#skill-learning-loop): proposal review, explicit apply, rollback, and macOS/Linux support. Windows learning-loop commands are unsupported.
|
|
176
|
+
- [Project rule](./.grok/rules/00-litgrok.md) and [skill catalog](./.grok/skills/).
|
|
177
|
+
- [Changelog](./CHANGELOG.md) and [license](./LICENSE).
|
|
178
|
+
|
|
179
|
+
- [Contributing](./CONTRIBUTING.md), [security](./SECURITY.md), [conduct](./CODE_OF_CONDUCT.md), and [support](./SUPPORT.md).
|
|
180
|
+
- [Privacy and local data](./docs/privacy.md); [migration from the old npm name](./docs/reference.md#npm-package-migration).
|
|
181
|
+
|
|
182
|
+
## LITFAMILY
|
|
183
|
+
|
|
184
|
+

|
|
185
|
+
|
|
186
|
+
An editorial illustration of five armored machines representing the products. Each works independently in its own host; they do not need to be installed together or connected to one another.
|
|
187
|
+
|
|
188
|
+
## LIT mark
|
|
189
|
+
|
|
190
|
+
<p align="center"><img src="./docs/assets/readme/ascii-readme.svg" width="480" alt="LIT ASCII B mark — Grok" /></p>
|
|
191
|
+
|
|
192
|
+
<details>
|
|
193
|
+
<summary>Copy ASCII logo</summary>
|
|
194
|
+
|
|
195
|
+
```text
|
|
196
|
+
▄▄▄▄
|
|
197
|
+
▗███▌ ▗██████▖
|
|
198
|
+
▗▄▄▄▄▄ ▗▟████▌ ▝██████▘
|
|
199
|
+
▐█████ ▗▟██████▌ ▝▀▜█▀▘
|
|
200
|
+
▐█████ ▗▟███████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
|
201
|
+
▐█████ ▗▟█████████████████████████ ▐█▀
|
|
202
|
+
▐█████ ████████████████████████████▀
|
|
203
|
+
▐█████ ██▛▘ ▄ ▄▄▄▄▖▄▄▄▄▄▄▄▄▄▄▄▄▄▖
|
|
204
|
+
▐█████ ▀ ▄██ ████▌█████████████▌
|
|
205
|
+
▐█████ ▄████ ████▌█████████████▌
|
|
206
|
+
▐█████ ▄█████▛
|
|
207
|
+
▐█████ ▗▟█████▀▘ ▄▄▄▄▄ ▗▖
|
|
208
|
+
▐█████ ▐█████▀ █████ ▐▛▀
|
|
209
|
+
▐█████ ▐███▀ █████
|
|
210
|
+
▐█████ ▐█▀ █████
|
|
211
|
+
▐█████ ▝ █████
|
|
212
|
+
▐█████▄▄▄▄▄▄▄▖ █████
|
|
213
|
+
▐███████████▛ █████
|
|
214
|
+
▐██████████▀ █████
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
grok
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
</details>
|
|
221
|
+
|
|
222
|
+
## Ignition motion
|
|
223
|
+
|
|
224
|
+
Brand motion, not a recording of a Grok task execution.
|
|
225
|
+
|
|
226
|
+
[](./docs/assets/readme/ignition-film.mp4)
|
|
227
|
+
|
|
228
|
+
[10-second film · MP4](./docs/assets/readme/ignition-film.mp4) · [Animated version · GIF](./docs/assets/readme/ignition-readme.gif)
|