Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.2%) to scientific vocabulary
Repository
Kotlin multiplatform command runner
Basic Info
Statistics
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
kmd
Kotlin multiplatform shell command runner.
kotlin
execKmd("git checkout .")
Status ⚠️
[!Warning] This project is being actively developed but is in an early experimental state. Use the library cautiously and report back any issues. mooncloak is not responsible for any issues faced when using the library.
Getting Started 🏁
Checkout the releases page to get the latest version.
Repository
kotlin
repositories {
maven("https://repo.repsy.io/mvn/mooncloak/public")
}
Dependencies
kotlin
implementation("com.mooncloak.kodetools.kmd:kmd-core:VERSION")
Usage
Executing a command
```kotlin val result = execKmd("git checkout .")
if (result.exitCode.isSuccessful()) { // Do something } ```
Listening to the process outputs
kotlin
execKmd(
command = "run some command",
onStandardOut = { output ->
println(output.diffLines.joinToString(separator = "\n"))
},
onStandardError = { error ->
println("ERROR: ${error.diffLines.joinToString(separator = "\n")}")
})
Handle commands asynchronously
```kotlin // Deferring the processing of the result val deferred = kmd( command = "git checkout .", coroutineScope = myScope ).async() val result = deferred.await()
// Suspend until the command is finished processing val result = kmd("git checkout .") .await()
// Using a Flow to process the command result kmd("git checkout .") .flow() .onEach { result -> println(result.exitCode.value) } .launchIn(coroutineScope) ```
Building commands in fluent manner
kotlin
kmdBuilder("git checkout .")
.onStandardOut {}
.onStandardError {}
.build()
Combining multiple commands to be processed synchronously
```kotlin val checkout = kmdBuilder("git checkout .") .onStandardOut {} .onStandardError {} .build()
val status = kmdBuilder("git status") .onStandardOut {} .onStandardError {} .build()
checkout.then(status) .build() .await() ```
Documentation 📃
More detailed documentation is available in the docs folder. The entry point to the documentation can be found here.
Security 🛡️
For security vulnerabilities, concerns, or issues, please refer to the security policy for more information on appropriate approaches for disclosure.
Contributing ✍️
Outside contributions are welcome for this project. Please follow the code of conduct and coding conventions when contributing. If contributing code, please add thorough documents and tests. Thank you!
License ⚖️
``` Copyright 2025 mooncloak
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```
Owner
- Name: mooncloak
- Login: mooncloak
- Kind: organization
- Email: support@mooncloak.com
- Website: https://mooncloak.com
- Repositories: 1
- Profile: https://github.com/mooncloak
Privacy focused apps
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- alias: "kodetools@mooncloak.com"
website: "https://kodetools.mooncloak.codes"
contact:
- alias: "kodetools@mooncloak.com"
website: "https://kodetools.mooncloak.codes"
title: "kmd"
type: "software"
abstract: "Kotlin multi-platform shell command runner."
license: "Apache-2.0"
keywords:
- "kotlin"
- "multiplatform"
- "command"
- "shell"
- "terminal"
- "cmd"
- "command runner"
- "kotlin multiplatform"
repository-code: "https://github.com/mooncloak/kmd"
url: "https://github.com/mooncloak/kmd"
GitHub Events
Total
- Watch event: 2
- Public event: 1
- Push event: 17
- Create event: 3
Last Year
- Watch event: 2
- Public event: 1
- Push event: 17
- Create event: 3
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- gradle/wrapper-validation-action v1 composite
- actions/checkout v3 composite
- actions/setup-java v3 composite
- EndBug/add-and-commit v9 composite
- actions/checkout v3 composite
- actions/setup-java v3 composite
- gradle/gradle-build-action v2 composite
- peterjgrainger/action-create-branch v2.2.0 composite
- repo-sync/pull-request v2 composite
- com.mooncloak.kodetools.kenv:kenv-core _ implementation
- org.jetbrains.kotlinx:kotlinx-io-core _ implementation
- buffer-from 1.1.2
- source-map 0.6.1
- source-map-support 0.5.21
- typescript 5.5.4