Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .claude/skills/tools-speckit-init/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: tools-speckit-init
description: Initialize a new directory with spec-kit (specify) and install the spec-kit-sync extension
argument-hint: <directory-name> (e.g. my-new-component)
---

This skill creates a new directory, initializes it with `specify init . --ai claude`, and installs the `spec-kit-sync` extension.

## Input

The user must provide a directory name as an argument (e.g. `/tools-speckit-init my-new-component`).

If no argument is provided, show the hint and stop.

## Prerequisites

- `specify` must be installed and available on PATH (`which specify` should succeed)
- If not installed, inform the user that `specify` is required and stop

## Steps

1. Verify that `specify` is installed by running `which specify`. If it fails, tell the user to install specify first and stop.

2. Check that the target directory does not already exist. If it does, inform the user and stop.

3. Create the new directory:
```bash
mkdir -p <directory-name>
```

4. Initialize spec-kit in the new directory:
```bash
cd <directory-name> && specify init . --ai claude
```

5. Install the spec-kit-sync extension:
```bash
cd <directory-name> && specify extension add spec-kit-sync --from https://github.com/bgervin/spec-kit-sync/archive/refs/heads/master.zip
```

6. Report success and tell the user:
- The directory has been created and initialized
- spec-kit-sync extension has been installed
- They can now use specify commands in the new directory (e.g. `/speckit-specify`, `/speckit-clarify`)
- The path to the new directory

## Notes

- The directory is created relative to the current working directory
- If `specify init` or the extension install fails, report the error to the user with the command output
3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ members = [
"apps/gpu-bb-vs-p2p",
"certus-connector",
"components/example-helloworld-dylib",
"apps/dynamic-loading-example"
"apps/dynamic-loading-example",
"apps/certus-server-yaml"
]

# SPDK crates require pre-built native libraries at deps/spdk-build/.
Expand Down
29 changes: 29 additions & 0 deletions apps/certus-server-yaml/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
name = "certus-server-yaml"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
publish = false

[dependencies]
interfaces = { workspace = true, features = ["spdk"] }
component-framework.workspace = true
component-core.workspace = true
dispatcher.workspace = true
dispatch-map.workspace = true
memory-tier.workspace = true
block-device-spdk-nvme.workspace = true
extent-manager.workspace = true
spdk-env.workspace = true
gpu-services = { workspace = true, features = ["gpu"] }
logger.workspace = true

tonic = { version = "0.12", features = ["tls"] }
prost = "0.13"
tokio = { version = "1", features = ["full"] }
clap = { version = "4", features = ["derive"] }

[build-dependencies]
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
tonic-build = "0.12"
Loading