| Project | Description | Status |
|---|---|---|
| pike-language-server | Tier-3 LSP — syntax highlighting, diagnostics, completions, hover | Active |
| pike-ast | AST library — tokenization, parsing, querying, pattern matching | Active |
| tree-sitter-pike | Tree-sitter grammar for Pike 8.0.1116 | Active |
| pike-lsp | Legacy LSP — superseded by pike-language-server | Maintenance |
| Project | Description | Status |
|---|---|---|
| pvm | Pike Version Manager — install and switch between Pike versions | Active |
| pmp | Package manager — install, version, and resolve dependencies | Active |
| pmp-example-module | Minimal example of a pmp-installable Pike module | Active |
| Project | Description | Status |
|---|---|---|
| punit-tests | JUnit-inspired testing framework for Pike | Active |
| pike-introspect | Runtime introspection — symbol inspection and LLM agent skill | Active |
| pike-cookbook | Complete Pike 8.0 programming cookbook with recipes and examples | Active |
| Project | Description | Status |
|---|---|---|
| pike-ai-kb | Curated, runtime-verified knowledge base — 130+ stdlib modules, MCP server | Active |
graph TD
subgraph "Pike Language"
P([Pike 8.0])
end
subgraph "Package & Version Management"
PVM[pvm]
PMP[pmp]
EX[pmp-example-module]
end
subgraph "Language Tooling"
PLS[pike-language-server]
LSP[pike-lsp]
TSP[tree-sitter-pike]
AST[pike-ast]
end
subgraph "Developer Experience"
INT[pike-introspect]
PUNIT[punit-tests]
CB[pike-cookbook]
end
subgraph "AI Support"
KB[pike-ai-kb]
end
P --> PVM
P --> PMP
P --> LSP
P --> PLS
P --> AST
PMP --> EX
TSP --> PLS
AST --> PLS
INT --> PLS
PUNIT --> P
INT --> P
LSP -.->|"deprecated"| PLS
PLS -.->|"supersedes"| LSP
git clone --recurse-submodules https://github.com/TheSmuks/pike-dev.git
cd pike-devMore clone options
Or initialize submodules after cloning:
git clone https://github.com/TheSmuks/pike-dev.git
cd pike-dev
git submodule update --init --recursiveUpdate all submodules to their latest versions:
git submodule update --remote1. Install Pike → pvm (Pike Version Manager)
2. Manage deps → pmp (Pike Module Package Manager)
3. Develop → pike-language-server (LSP for IDE support)
4. Test → punit-tests (JUnit-style testing framework)
5. Debug → pike-introspect (runtime introspection)
6. AI Assist → pike-ai-kb (knowledge base + MCP tools)
Contributing & Development
Contributions are welcome. Please see CONTRIBUTING.md for guidelines.
Each submodule is an independent repository. After cloning with submodules:
# Verify all submodules are present
ls -la repos/
# Update a specific submodule
cd repos/pike-language-server
git pull origin main
cd ../..
git add repos/pike-language-server
git commit -m "Update pike-language-server"# Run tests in a specific submodule
cd repos/pike-language-server
make test
# Run tests in all submodules
for repo in repos/*; do
(cd "$repo" && make test 2>/dev/null) || echo "No test target: $repo"
doneAdding New Submodules
-
Create the repository under TheSmuks
-
Add as a submodule inside
repos/:git submodule add https://github.com/TheSmuks/new-project.git repos/new-project
-
Configure the submodule (optional):
cd repos/new-project git checkout main cd ..
-
Commit the submodule reference:
git add repos/new-project git commit -m "Add new-project as a submodule" git push origin main -
Update this README:
- Add the project to the appropriate category under Projects
- Update the ecosystem diagram
- Update the toolchain flow if applicable
# Deinitialize the submodule
git submodule deinit -f repos/old-project
# Remove from index
git rm repos/old-project
# Remove the directory
rm -rf repos/old-project
# Commit
git commit -m "Remove old-project submodule"- Each submodule maintains its own git history, CI/CD, and release cycle
- The hub repo only tracks commit references via
.gitmodules - Always fetch and merge in the submodule before updating the hub reference
- Use annotated tags for releases; hub repo should track those tags
See docs/architecture.md for the full ecosystem overview, dependency graph, and inter-project relationships.
This project is licensed under the MIT License.