Skip to content

Commit 24e4464

Browse files
committed
buttplug-mcp is born |=> - - (__(__)
Signed-off-by: Evan Wies <[email protected]>
0 parents  commit 24e4464

File tree

18 files changed

+1205
-0
lines changed

18 files changed

+1205
-0
lines changed

.github/workflows/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# CHANGELOG
2+
3+
## v0.0.1 (2025-04-01)
4+
5+
* buttplug-mcp is born! `LLM|=> - - (__(__)`

.github/workflows/go.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This workflow will build a golang project
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
3+
4+
name: Go
5+
6+
on:
7+
push:
8+
branches: [ "*" ]
9+
pull_request:
10+
branches: [ "*" ]
11+
12+
jobs:
13+
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up Go
20+
uses: actions/setup-go@v5
21+
with:
22+
go-version: '1.24'
23+
24+
- name: Build
25+
run: go build -v ./...

.github/workflows/release.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: goreleaser
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
goreleaser:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Set up Go
20+
uses: actions/setup-go@v5
21+
with:
22+
go-version: '>=1.24.0'
23+
24+
- name: Build with GoReleaser on main
25+
uses: goreleaser/goreleaser-action@v6
26+
if: github.ref == 'refs/heads/main'
27+
with:
28+
# either 'goreleaser' (default) or 'goreleaser-pro'
29+
distribution: goreleaser
30+
version: latest
31+
args: build --clean --snapshot
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
35+
36+
- name: Publish with GoReleaser on tags
37+
uses: goreleaser/goreleaser-action@v6
38+
if: startsWith(github.ref, 'refs/tags/')
39+
with:
40+
distribution: goreleaser
41+
version: '~> v2'
42+
args: release --clean
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# buttplug-mcp .gitignore
2+
3+
.task
4+
.DS_Store
5+
bin/
6+
dist/

.goreleaser.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# .goreleaser.yml file
2+
# buttplug-mcp - another ConAcademy joint
3+
# Copyright (c) 2025 Neomantra BV
4+
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
5+
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
6+
7+
version: 2
8+
9+
project_name: buttplug-mcp
10+
11+
before:
12+
hooks:
13+
- go mod tidy
14+
15+
builds:
16+
- main: cmd/buttplug-mcp/main.go
17+
id: buttplug-mcp
18+
binary: buttplug-mcp
19+
env:
20+
- CGO_ENABLED=0
21+
goos:
22+
- linux
23+
- windows
24+
- darwin
25+
26+
archives:
27+
- format: tar.gz
28+
name_template: >-
29+
{{ .ProjectName }}_
30+
{{- title .Os }}_
31+
{{- if eq .Arch "amd64" }}x86_64
32+
{{- else if eq .Arch "386" }}i386
33+
{{- else }}{{ .Arch }}{{ end }}
34+
{{- if .Arm }}v{{ .Arm }}{{ end }}
35+
format_overrides:
36+
- goos: windows
37+
format: zip
38+
39+
checksum:
40+
name_template: 'checksums.txt'
41+
42+
snapshot:
43+
name_template: "{{ incpatch .Version }}-next"
44+
45+
changelog:
46+
sort: asc
47+
filters:
48+
exclude:
49+
- "^docs:"
50+
- "^test:"
51+
52+
universal_binaries:
53+
- replace: true
54+
55+
release:
56+
github:
57+
owner: conacademy
58+
name: buttplug-mcp
59+
60+
brews:
61+
- homepage: https://github.com/conacademy/buttplug-mcp
62+
description: "Buttplug MCP Server"
63+
repository:
64+
owner: conacademy
65+
name: homebrew-tap
66+
branch: main
67+
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
68+
commit_author:
69+
name: goreleaserbot
70+
71+
install: |
72+
bin.install "buttplug-mcp"

.vscode/launch.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Launch buttplug-mcp SSE server",
9+
"type": "go",
10+
"request": "launch",
11+
"mode": "debug",
12+
"program": "${workspaceFolder}/cmd/buttplug-mcp/main.go",
13+
"env": {
14+
},
15+
"args": [
16+
"--sse", "--sse-host", "localhost:12346",
17+
"--ws-port", "12345",
18+
]
19+
},
20+
{
21+
"name": "Attach buttplug-mcp SSE server",
22+
"type": "go",
23+
"request": "attach",
24+
"mode": "local",
25+
"processId": 0,
26+
// "program": "/opt/homebrew/bin/buttplug-mcp",
27+
// "env": {
28+
// },
29+
// "args": [
30+
// "--sse", "--sse-host", "localhost:12346",
31+
// "--ws-port", "12345",
32+
// ]
33+
},
34+
]
35+
}

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# ConAcademy Code Of Conduct
2+
3+
The following Code of Conduct applies to all digital spaces managed by the ConAcademy participants, including GitHub, mailing lists, and any other spaces which the development community uses for communication.
4+
5+
---
6+
7+
## Our Pledge
8+
9+
We as members, contributors, and leaders pledge to make participation in our
10+
community a harassment-free experience for everyone, regardless of age, body
11+
size, visible or invisible disability, ethnicity, sex characteristics, gender
12+
identity and expression, level of experience, education, socio-economic status,
13+
nationality, personal appearance, race, caste, color, religion, or sexual
14+
identity and orientation.
15+
16+
We pledge to act and interact in ways that contribute to an open, welcoming,
17+
diverse, inclusive, and healthy community.
18+
19+
## Our Standards
20+
21+
Examples of behavior that contributes to a positive environment for our
22+
community include:
23+
24+
* Demonstrating empathy and kindness toward other people
25+
* Being respectful of differing opinions, viewpoints, and experiences
26+
* Giving and gracefully accepting constructive feedback
27+
* Accepting responsibility and apologizing to those affected by our mistakes,
28+
and learning from the experience
29+
* Focusing on what is best not just for us as individuals, but for the overall
30+
community
31+
32+
Examples of unacceptable behavior include:
33+
34+
* The use of sexualized language or imagery, and sexual attention or advances of
35+
any kind
36+
* Trolling, insulting or derogatory comments, and personal or political attacks
37+
* Public or private harassment
38+
* Publishing others' private information, such as a physical or email address,
39+
without their explicit permission
40+
* Other conduct which could reasonably be considered inappropriate in a
41+
professional setting
42+
43+
## Enforcement Responsibilities
44+
45+
Community leaders are responsible for clarifying and enforcing our standards of
46+
acceptable behavior and will take appropriate and fair corrective action in
47+
response to any behavior that they deem inappropriate, threatening, offensive,
48+
or harmful.
49+
50+
Community leaders have the right and responsibility to remove, edit, or reject
51+
comments, commits, code, wiki edits, issues, and other contributions that are
52+
not aligned to this Code of Conduct, and will communicate reasons for moderation
53+
decisions when appropriate.
54+
55+
## Scope
56+
57+
This Code of Conduct applies within all community spaces, and also applies when
58+
an individual is officially representing the community in public spaces.
59+
Examples of representing our community include using an official e-mail address,
60+
posting via an official social media account, or acting as an appointed
61+
representative at an online or offline event.
62+
63+
## Enforcement
64+
65+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
66+
reported to the community leaders responsible for enforcement at
67+
68+
All complaints will be reviewed and investigated promptly and fairly.
69+
70+
All community leaders are obligated to respect the privacy and security of the
71+
reporter of any incident.
72+
73+
74+
## Attribution
75+
76+
This Code of Conduct is adapted from the [GitHub repo file](https://github.com/creativecommons/creativecommons.github.io-source/blob/930cf77317f274e380f283bd0e3cd9698ff2a45c/content/community/code-of-conduct/contents.lr) for the [Creative Commons Open Source Code of Conduct, revision 2022-05-11](https://opensource.creativecommons.org/community/code-of-conduct/), itself adapted from the [Contributor Covenant version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).

LICENSE.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Neomantra BV
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.

0 commit comments

Comments
 (0)