@turri-dev/cli 0.0.0-stage → 0.1.2-next.48dacfc
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/.pi/themes/turri-dark.json +80 -0
- package/.pi/themes/turri-light.json +82 -0
- package/LICENSE +21 -0
- package/README.md +272 -2
- package/assets/jellyfish/dark-00.png +0 -0
- package/assets/jellyfish/dark-01.png +0 -0
- package/assets/jellyfish/dark-02.png +0 -0
- package/assets/jellyfish/dark-03.png +0 -0
- package/assets/jellyfish/dark-04.png +0 -0
- package/assets/jellyfish/dark-05.png +0 -0
- package/assets/jellyfish/dark-06.png +0 -0
- package/assets/jellyfish/dark-07.png +0 -0
- package/assets/jellyfish/dark-08.png +0 -0
- package/assets/jellyfish/dark-09.png +0 -0
- package/assets/jellyfish/dark-10.png +0 -0
- package/assets/jellyfish/dark-11.png +0 -0
- package/assets/jellyfish/dark-12.png +0 -0
- package/assets/jellyfish/dark-13.png +0 -0
- package/assets/jellyfish/dark-14.png +0 -0
- package/assets/jellyfish/fallback.txt +252 -0
- package/assets/jellyfish/light-00.png +0 -0
- package/assets/jellyfish/light-01.png +0 -0
- package/assets/jellyfish/light-02.png +0 -0
- package/assets/jellyfish/light-03.png +0 -0
- package/assets/jellyfish/light-04.png +0 -0
- package/assets/jellyfish/light-05.png +0 -0
- package/assets/jellyfish/light-06.png +0 -0
- package/assets/jellyfish/light-07.png +0 -0
- package/assets/jellyfish/light-08.png +0 -0
- package/assets/jellyfish/light-09.png +0 -0
- package/assets/jellyfish/light-10.png +0 -0
- package/assets/jellyfish/light-11.png +0 -0
- package/assets/jellyfish/light-12.png +0 -0
- package/assets/jellyfish/light-13.png +0 -0
- package/assets/jellyfish/light-14.png +0 -0
- package/bin/turri.mjs +29 -0
- package/dist/ask.js +149 -0
- package/dist/brand.js +50 -0
- package/dist/btw.js +174 -0
- package/dist/chat-models.js +37 -0
- package/dist/chat-skills.js +18 -0
- package/dist/cli.js +178 -0
- package/dist/config-command.js +197 -0
- package/dist/config-edit.js +367 -0
- package/dist/config.js +489 -0
- package/dist/conform-cli.js +29 -0
- package/dist/cultivate-cli.js +110 -0
- package/dist/drift-cli.js +25 -0
- package/dist/environment.js +70 -0
- package/dist/extension.js +2372 -0
- package/dist/genome.js +301 -0
- package/dist/graph.js +246 -0
- package/dist/identity.js +35 -0
- package/dist/init-config.js +511 -0
- package/dist/judge.js +62 -0
- package/dist/lineage-cli.js +13 -0
- package/dist/loop-cli.js +132 -0
- package/dist/loop-tools.js +225 -0
- package/dist/mature-tools.js +193 -0
- package/dist/model-check.js +117 -0
- package/dist/module-report.js +9 -0
- package/dist/pi-launch.js +31 -0
- package/dist/pi.js +813 -0
- package/dist/plain/check.js +76 -0
- package/dist/plain/concepts.js +213 -0
- package/dist/plain/errors.js +43 -0
- package/dist/plain/files.js +57 -0
- package/dist/plain/highlight.js +195 -0
- package/dist/plain/index.js +15 -0
- package/dist/plain/liquid.js +129 -0
- package/dist/plain/markdown.js +208 -0
- package/dist/plain/parser.js +752 -0
- package/dist/plain/plain.tmLanguage.json +124 -0
- package/dist/plain/spec.js +291 -0
- package/dist/plain/stdlib.js +44 -0
- package/dist/question-dialog.js +125 -0
- package/dist/questioning.js +109 -0
- package/dist/quiet.js +125 -0
- package/dist/regenerate/activity.js +187 -0
- package/dist/regenerate/agent-env.js +190 -0
- package/dist/regenerate/agent-shell.js +114 -0
- package/dist/regenerate/arbiter.js +133 -0
- package/dist/regenerate/audit.js +203 -0
- package/dist/regenerate/cases.js +83 -0
- package/dist/regenerate/change-view.js +102 -0
- package/dist/regenerate/choose-conformance.js +117 -0
- package/dist/regenerate/chunk-plan.js +625 -0
- package/dist/regenerate/codebase.js +75 -0
- package/dist/regenerate/command-check.js +312 -0
- package/dist/regenerate/compaction.js +20 -0
- package/dist/regenerate/confine.js +310 -0
- package/dist/regenerate/conform.js +133 -0
- package/dist/regenerate/conformance-agents.js +955 -0
- package/dist/regenerate/conformance.js +936 -0
- package/dist/regenerate/conversation-writes.js +100 -0
- package/dist/regenerate/credentials.js +88 -0
- package/dist/regenerate/debug-log.js +228 -0
- package/dist/regenerate/debugger.js +90 -0
- package/dist/regenerate/delivery.js +19 -0
- package/dist/regenerate/diagnose-job.js +40 -0
- package/dist/regenerate/diagnose.js +81 -0
- package/dist/regenerate/diff-view.js +240 -0
- package/dist/regenerate/drift.js +194 -0
- package/dist/regenerate/engine.js +118 -0
- package/dist/regenerate/environment-error.js +220 -0
- package/dist/regenerate/job-log.js +102 -0
- package/dist/regenerate/job-panel.js +336 -0
- package/dist/regenerate/jobs-tree.js +300 -0
- package/dist/regenerate/jobs.js +427 -0
- package/dist/regenerate/lanes.js +32 -0
- package/dist/regenerate/lineage.js +384 -0
- package/dist/regenerate/loop.js +1435 -0
- package/dist/regenerate/masking.js +95 -0
- package/dist/regenerate/notes.js +397 -0
- package/dist/regenerate/os-sandbox.js +243 -0
- package/dist/regenerate/paths.js +165 -0
- package/dist/regenerate/plain-palette.js +83 -0
- package/dist/regenerate/prompt.js +704 -0
- package/dist/regenerate/records.js +294 -0
- package/dist/regenerate/regenerate.js +598 -0
- package/dist/regenerate/regression.js +181 -0
- package/dist/regenerate/release.js +262 -0
- package/dist/regenerate/requires.js +241 -0
- package/dist/regenerate/resources.js +164 -0
- package/dist/regenerate/self-check.js +111 -0
- package/dist/regenerate/services.js +155 -0
- package/dist/regenerate/shell.js +320 -0
- package/dist/regenerate/side-panel.js +278 -0
- package/dist/regenerate/spec-map-view.js +574 -0
- package/dist/regenerate/spec-map.js +561 -0
- package/dist/regenerate/spec-steps.js +527 -0
- package/dist/regenerate/state.js +10 -0
- package/dist/regenerate/steer.js +91 -0
- package/dist/regenerate/steering.js +119 -0
- package/dist/regenerate/stop-report.js +161 -0
- package/dist/regenerate/submit-work.js +71 -0
- package/dist/regenerate/test-kinds.js +124 -0
- package/dist/regenerate/test-scripts.js +695 -0
- package/dist/regenerate/testing.js +406 -0
- package/dist/regenerate/transcript-view.js +1 -0
- package/dist/regenerate/unit-gate.js +20 -0
- package/dist/regenerate/unit-review.js +347 -0
- package/dist/regenerate/web.js +256 -0
- package/dist/regenerate/workspace.js +99 -0
- package/dist/regenerate-cli.js +68 -0
- package/dist/release-agent.js +114 -0
- package/dist/release-cli.js +131 -0
- package/dist/release-tools.js +148 -0
- package/dist/review/live.js +165 -0
- package/dist/rules.js +47 -0
- package/dist/self-invocation.js +110 -0
- package/dist/setup.js +245 -0
- package/dist/skill-progress.js +78 -0
- package/dist/skill.js +149 -0
- package/dist/skills.js +74 -0
- package/dist/spec-diff-cli.js +37 -0
- package/dist/spec-tools.js +155 -0
- package/dist/stack.js +158 -0
- package/dist/stacks.js +97 -0
- package/dist/stdlib.js +100 -0
- package/dist/terminal-images.js +46 -0
- package/dist/tools.js +242 -0
- package/dist/validate-cli.js +52 -0
- package/docs/README.md +58 -0
- package/docs/authoring-plain.md +245 -0
- package/docs/config.md +353 -0
- package/docs/deploy.md +109 -0
- package/docs/development.md +88 -0
- package/docs/headless.md +148 -0
- package/docs/images/how-turri-works.svg +50 -0
- package/docs/images/turri-banner.png +0 -0
- package/docs/installation.md +119 -0
- package/docs/parser.md +108 -0
- package/docs/regenerating.md +1116 -0
- package/docs/sandbox.md +233 -0
- package/docs/skills-and-gates.md +254 -0
- package/docs/theming.md +76 -0
- package/docs/using.md +454 -0
- package/genome/rules/bullet-continuation.md +69 -0
- package/genome/rules/concise-specs-examples.md +431 -0
- package/genome/rules/concise-specs-integration-examples.md +270 -0
- package/genome/rules/concise-specs.md +80 -0
- package/genome/rules/definitions.md +107 -0
- package/genome/rules/examples/integration-embedded-testing/run_conformance_tests_java.sh +163 -0
- package/genome/rules/examples/integration-embedded-testing/run_unittests_java.sh +51 -0
- package/genome/rules/exported-concepts.md +39 -0
- package/genome/rules/func-specs.md +129 -0
- package/genome/rules/impl-reqs.md +68 -0
- package/genome/rules/import-modules.md +48 -0
- package/genome/rules/integration-embedded-testing.md +276 -0
- package/genome/rules/integration-embedded.md +171 -0
- package/genome/rules/integration-standalone.md +135 -0
- package/genome/rules/integrations.md +137 -0
- package/genome/rules/linked-resources.md +69 -0
- package/genome/rules/module-structure.md +105 -0
- package/genome/rules/project-model.md +88 -0
- package/genome/rules/required-concepts.md +44 -0
- package/genome/rules/requires-modules.md +80 -0
- package/genome/rules/stdlib.md +73 -0
- package/genome/rules/test-reqs.md +57 -0
- package/genome/skills/add-acceptance-test/SKILL.md +100 -0
- package/genome/skills/add-concept/SKILL.md +71 -0
- package/genome/skills/add-functional-spec/SKILL.md +84 -0
- package/genome/skills/add-functional-specs/SKILL.md +118 -0
- package/genome/skills/add-implementation-requirement/SKILL.md +86 -0
- package/genome/skills/add-resource/SKILL.md +105 -0
- package/genome/skills/add-template/SKILL.md +64 -0
- package/genome/skills/add-test-requirement/SKILL.md +73 -0
- package/genome/skills/analyze-2-func-specs/SKILL.md +101 -0
- package/genome/skills/analyze-func-specs/SKILL.md +123 -0
- package/genome/skills/analyze-if-func-spec-too-complex/SKILL.md +211 -0
- package/genome/skills/break-down-func-spec/SKILL.md +205 -0
- package/genome/skills/brood/SKILL.md +229 -0
- package/genome/skills/brood/references/intent.md +35 -0
- package/genome/skills/brood/references/product.md +101 -0
- package/genome/skills/brood/references/stack.md +61 -0
- package/genome/skills/brood/references/testing.md +56 -0
- package/genome/skills/bud/SKILL.md +148 -0
- package/genome/skills/bud/references/checklist.md +44 -0
- package/genome/skills/bud/references/intent.md +30 -0
- package/genome/skills/check-plain-env/SKILL.md +285 -0
- package/genome/skills/consolidate-concepts/SKILL.md +192 -0
- package/genome/skills/create-import-module/SKILL.md +104 -0
- package/genome/skills/create-requires-module/SKILL.md +109 -0
- package/genome/skills/debug-specs/SKILL.md +188 -0
- package/genome/skills/implement-conformance-testing-script/SKILL.md +238 -0
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_cypress.ps1 +337 -0
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_golang.ps1 +111 -0
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_java.sh +136 -0
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_python.ps1 +103 -0
- package/genome/skills/implement-conformance-testing-script/assets/run_conformance_tests_python.sh +150 -0
- package/genome/skills/implement-unit-testing-script/SKILL.md +160 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_flutter.ps1 +87 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_golang.ps1 +73 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_java.sh +72 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_python.ps1 +81 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_python.sh +98 -0
- package/genome/skills/implement-unit-testing-script/assets/run_unittests_react.ps1 +87 -0
- package/genome/skills/init-plain-project/SKILL.md +117 -0
- package/genome/skills/init-plain-project/references/checklist.md +30 -0
- package/genome/skills/mature/SKILL.md +126 -0
- package/genome/skills/refactor-module/SKILL.md +196 -0
- package/genome/skills/resolve-section-ownership/SKILL.md +64 -0
- package/genome/skills/resolve-spec-conflict/SKILL.md +96 -0
- package/genome/skills/spawn/SKILL.md +163 -0
- package/package.json +68 -4
- package/stdlib/backend/common.plain +25 -0
- package/stdlib/backend/conformance/common.plain +12 -0
- package/stdlib/backend/conformance/go-gin.plain +9 -0
- package/stdlib/backend/conformance/go-nethttp.plain +9 -0
- package/stdlib/backend/conformance/java-springboot.plain +9 -0
- package/stdlib/backend/conformance/python-django.plain +9 -0
- package/stdlib/backend/conformance/python-fastapi.plain +9 -0
- package/stdlib/backend/conformance/python-flask.plain +9 -0
- package/stdlib/backend/conformance/rust-axum.plain +9 -0
- package/stdlib/backend/conformance/typescript-express.plain +9 -0
- package/stdlib/backend/conformance/typescript-fastify.plain +9 -0
- package/stdlib/backend/conformance/typescript-nestjs.plain +9 -0
- package/stdlib/backend/go-gin.plain +18 -0
- package/stdlib/backend/go-nethttp.plain +18 -0
- package/stdlib/backend/java-springboot.plain +19 -0
- package/stdlib/backend/python-django.plain +19 -0
- package/stdlib/backend/python-fastapi.plain +23 -0
- package/stdlib/backend/python-flask.plain +23 -0
- package/stdlib/backend/rust-axum.plain +17 -0
- package/stdlib/backend/typescript-express.plain +19 -0
- package/stdlib/backend/typescript-fastify.plain +19 -0
- package/stdlib/backend/typescript-nestjs.plain +19 -0
- package/stdlib/cli/common.plain +17 -0
- package/stdlib/cli/conformance/common.plain +11 -0
- package/stdlib/cli/conformance/go-cobra.plain +9 -0
- package/stdlib/cli/conformance/go-flag.plain +9 -0
- package/stdlib/cli/conformance/java-picocli.plain +9 -0
- package/stdlib/cli/conformance/python-argparse.plain +9 -0
- package/stdlib/cli/conformance/python-click.plain +9 -0
- package/stdlib/cli/conformance/python-typer.plain +9 -0
- package/stdlib/cli/conformance/rust-clap.plain +9 -0
- package/stdlib/cli/conformance/typescript-commander.plain +9 -0
- package/stdlib/cli/go-cobra.plain +14 -0
- package/stdlib/cli/go-flag.plain +14 -0
- package/stdlib/cli/java-picocli.plain +15 -0
- package/stdlib/cli/python-argparse.plain +18 -0
- package/stdlib/cli/python-click.plain +16 -0
- package/stdlib/cli/python-typer.plain +16 -0
- package/stdlib/cli/rust-clap.plain +14 -0
- package/stdlib/cli/typescript-commander.plain +17 -0
- package/stdlib/frontend/angular.plain +17 -0
- package/stdlib/frontend/common.plain +17 -0
- package/stdlib/frontend/conformance/angular.plain +5 -0
- package/stdlib/frontend/conformance/common.plain +11 -0
- package/stdlib/frontend/conformance/react-vite.plain +5 -0
- package/stdlib/frontend/conformance/sveltekit-spa.plain +5 -0
- package/stdlib/frontend/conformance/vue-vite.plain +5 -0
- package/stdlib/frontend/react-vite.plain +16 -0
- package/stdlib/frontend/sveltekit-spa.plain +16 -0
- package/stdlib/frontend/vue-vite.plain +16 -0
- package/stdlib/lang/go.plain +13 -0
- package/stdlib/lang/java.plain +12 -0
- package/stdlib/lang/python.plain +18 -0
- package/stdlib/lang/rust.plain +12 -0
- package/stdlib/lang/typescript.plain +13 -0
- package/stdlib/library/common.plain +15 -0
- package/stdlib/library/conformance/common.plain +9 -0
- package/stdlib/library/conformance/go.plain +9 -0
- package/stdlib/library/conformance/java-gradle.plain +9 -0
- package/stdlib/library/conformance/java-maven.plain +9 -0
- package/stdlib/library/conformance/python.plain +9 -0
- package/stdlib/library/conformance/rust.plain +9 -0
- package/stdlib/library/conformance/typescript.plain +9 -0
- package/stdlib/library/go.plain +12 -0
- package/stdlib/library/java-gradle.plain +13 -0
- package/stdlib/library/java-maven.plain +13 -0
- package/stdlib/library/python.plain +13 -0
- package/stdlib/library/rust.plain +12 -0
- package/stdlib/library/typescript.plain +15 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: What every stdlib library shares - one public API, its errors and its logs.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
***implementation reqs***
|
|
6
|
+
|
|
7
|
+
- :Implementation: is a library: other code uses it through its public API, and it has no command line and no service of its own.
|
|
8
|
+
- :Implementation: exports its public API from one entry point, and keeps everything else internal.
|
|
9
|
+
- :Implementation: documents every public function and type in the language's doc comments.
|
|
10
|
+
- :Implementation: reports every failure as one of its own error types, all under one base error a caller can catch.
|
|
11
|
+
- An error from a dependency is wrapped in one of its own, with the original as its cause.
|
|
12
|
+
- :Implementation: logs only through the language's standard logging, under its own name, and sets up no output for it: the application using it decides.
|
|
13
|
+
- :Implementation: reads no environment variables, writes nothing to standard output, and keeps no global state a caller cannot reset.
|
|
14
|
+
- :Implementation: has its version in its package manifest, starting at 0.1.0.
|
|
15
|
+
- :UnitTests: cover the internal code as well as the public API.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: How every stdlib library's conformance tests run - through its public entry point only.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
***test reqs***
|
|
6
|
+
|
|
7
|
+
- :ConformanceTests: use the library through its public entry point only, as its users do.
|
|
8
|
+
- :ConformanceTests: check a failure by its error type, never by its message.
|
|
9
|
+
- :ConformanceTests: pass the formatter, the linter and the type checker of their language as the conformance testing script runs them, and are typed throughout where their language allows it.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/go as a Go module importing it.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: are a Go module of their own that imports the library through a `replace` directive to the built code, run with `go test ./...`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/java-gradle as a Gradle project depending on its jar.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: are a Gradle project of their own that depends on the library's jar, using JUnit 5 and AssertJ, run with `gradle test`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/java-maven as a Maven project depending on its jar.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: are a Maven project of their own that depends on the library's jar, using JUnit 5 and AssertJ, run with `mvn test`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/python in pytest against the installed package.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: use pytest, with the library installed from the built code, and run with `pytest`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/rust as a Cargo package depending on it by path.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: are a Cargo package of their own that depends on the library by path, run with `cargo test`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/library/conformance/common
|
|
4
|
+
description: Conformance tests for stdlib/library/typescript in Vitest against the built package.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
***test reqs***
|
|
8
|
+
|
|
9
|
+
- :ConformanceTests: use Vitest, import the library from its built `dist/index.js`, and run with `npx vitest run`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/go
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in Go 1.25, as one Go module.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: is one Go module whose root package is its public API, documented in `doc.go`, with everything else in packages under `internal/`.
|
|
11
|
+
- :Implementation: declares its errors as sentinel values and error types in `errors.go`.
|
|
12
|
+
- :Implementation: logs only through a `*slog.Logger` the caller passes in, and nothing when none is given.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/java
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in Java 21, built with Gradle's Kotlin DSL into one jar.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: builds with Gradle through the Gradle wrapper, from `build.gradle.kts` with the `java-library` plugin, into one jar, and depends only on `slf4j-api` for logging.
|
|
11
|
+
- :Implementation: keeps its public API in one package, and everything else in an `internal` package under it.
|
|
12
|
+
- :Implementation: defines its exceptions under one base class `<Library>Exception`.
|
|
13
|
+
- :UnitTests: run with `./gradlew test`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/java
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in Java 21, built with Maven into one jar.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: builds with Maven through the Maven wrapper, from `pom.xml`, into one jar, and depends only on `slf4j-api` for logging.
|
|
11
|
+
- :Implementation: keeps its public API in one package, and everything else in an `internal` package under it.
|
|
12
|
+
- :Implementation: defines its exceptions under one base class `<Library>Exception`.
|
|
13
|
+
- :UnitTests: run with `./mvnw test`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/python
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in Python 3.12, packaged with uv.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: is one package in `src/<package>/`, whose `__init__.py` is its public API with `__all__`, and marks itself as typed with `py.typed`.
|
|
11
|
+
- :Implementation: builds with `uv build`, and declares only its run-time dependencies in `[project] dependencies`.
|
|
12
|
+
- :Implementation: defines its errors in `src/<package>/errors.py`, under one base class `<Package>Error`.
|
|
13
|
+
- :Implementation: logs with `logging.getLogger("<package>")` and its children, with a `NullHandler` added to that logger.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/rust
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in Rust, as one Cargo library package.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: is one Cargo library package with its public API in `src/lib.rs`, and `#![deny(missing_docs)]` on.
|
|
11
|
+
- :Implementation: defines its error type in `src/error.rs`, with a `Result<T>` alias over its `Error`, and never panics on a caller's input.
|
|
12
|
+
- :Implementation: emits `tracing` events under its crate name, and installs no subscriber.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
import:
|
|
3
|
+
- stdlib/lang/typescript
|
|
4
|
+
- stdlib/library/common
|
|
5
|
+
description: A library in TypeScript for Node.js 24, packaged with npm.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
***implementation reqs***
|
|
9
|
+
|
|
10
|
+
- :Implementation: runs on Node.js 24 and later, with its public API exported from `src/index.ts` as named exports only.
|
|
11
|
+
- :Implementation: is an ES module package: `"type": "module"` in `package.json`, `module` and `moduleResolution` `NodeNext` in `tsconfig.json`, and every relative import ending in `.js` - `import { x } from "./x.js"` - as Node.js needs to run what `tsc` emits.
|
|
12
|
+
- :Implementation: builds with `npm run build` - `tsc` into `dist/` with type declarations - and publishes `dist/` through the `exports` field of `package.json`.
|
|
13
|
+
- :Implementation: defines its errors in `src/errors.ts`, under one base class `<Library>Error`.
|
|
14
|
+
- :Implementation: logs only through a logger the caller passes in, and nothing when none is given.
|
|
15
|
+
- :UnitTests: use Vitest, next to the code as `<file>.test.ts`, and run with `npx vitest run`.
|