Skip to content

Commit d180e03

Browse files
Merge origin/main with vision feature integration
- Resolved all merge conflicts - Added vision feature with optional dependencies - Regenerated Cargo.lock cleanly - Ready for cloud cross-platform testing
2 parents 231427b + 17353e0 commit d180e03

17 files changed

Lines changed: 451 additions & 1454 deletions

.gitignore

Lines changed: 3 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Rust build artifacts
22
**/target/
3-
target*/
4-
target-*
53
/alt_target/
64
/target-minimal/
75
**/*.rs.bk
@@ -37,97 +35,22 @@ Thumbs.db
3735

3836
# Internal development documents (NEVER commit)
3937
docs-internal/
40-
.internal/
41-
42-
# Cloudflare Worker local state / secrets
43-
cloudflare-worker/.wrangler/
44-
.dev.vars
45-
cloudflare-worker/.dev.vars
4638

47-
# Internal licensing notes (contains secrets)
48-
memory/VISION_STRIPE_KEYGEN_ARCHITECTURE.md
39+
# Internal workspace docs (NEVER commit)
40+
.internal/
4941

5042
# Copilot instructions (internal only)
5143
.github/copilot-instructions.md
5244

5345
# Local configuration
5446
.env
5547
.env.local
48+
.env.test
5649

5750
# Test artifacts
5851
*.log
5952
*.db
6053
*.db-*
61-
test-screenshots/
62-
test_image.b64
63-
64-
# Build outputs
65-
out/
66-
output.md
67-
68-
# Internal development
69-
docs/internal/
70-
memory/
71-
secret-scan/
72-
73-
# Vision libraries (build artifacts)
74-
libs/vision/
75-
76-
# Third-party repos
77-
llama-cpp-minicpm/
78-
79-
# AI instructions
80-
.github/instructions/
81-
82-
# Screenshots and diagnostics
83-
00-diagnostic-startup.png
84-
*-diagnostic-*.png
85-
86-
# Workspace files
87-
*.code-workspace
88-
89-
# Python cache
90-
__pycache__/
91-
*.pyc
92-
93-
# Chat logs and session recovery
94-
scripts/chat.md
95-
scripts/chat2.md
96-
97-
# Internal docs
98-
docs/GATEWARDEN_ARCHITECTURE_PROMPT.md
99-
100-
# Test screenshots (large binary files)
101-
test-screenshots/
102-
103-
# Local vendor/build dirs (not part of shimmy repo)
104-
llama-cpp-minicpm/
105-
target-gpu/
106-
target-gpu-*/
107-
108-
# Vision development output and testing artifacts
109-
out/
110-
assets/vision-samples/preprocessed-*/
111-
nul
112-
113-
# Python cache
114-
__pycache__/
115-
*.pyc
116-
117-
# Development-only binaries (not for distribution)
118-
src/bin/vision_preprocess_dump.rs
119-
scripts/vision_samples_run.sh
120-
121-
# Windows/Git artifacts
122-
%s
123-
124-
# Local logs and scratch files
125-
output.md
126-
test_image.b64
127-
*.b64
128-
00-diagnostic-startup.png
129-
docs/shimmy-workspace.code-workspace
130-
docs/internal/SHIMMY_VISION_PRICING_STRATEGY.md
13154

13255
# Package manager artifacts
13356
node_modules/

CHANGELOG.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
### 🔒 **SECURITY** - Critical Security Update
11-
12-
**🚨 STRIPE LIVE KEY EXPOSURE MITIGATED**
13-
- **REMOVED**: Compromised internal chat logs containing live Stripe secret key from git history
14-
- **ROTATED**: All Stripe API keys (test and live) have been cycled
15-
- **YANKED**: crates.io version 1.8.2 yanked due to potential key exposure
16-
- **SCANNED**: Repository scanned for additional secrets, TruffleHog security scanning implemented
17-
- **VERIFIED**: No sensitive data remains in public repository
18-
19-
### 📦 **VERSION BUMP**
20-
- Bumped to v1.8.3 to replace compromised v1.8.2
21-
2210
## [1.8.1] - 2025-12-08
2311

2412
### 🐳 **DOCKER PUBLISHING INFRASTRUCTURE** - Container Registry Publishing Fixed

CONTRIBUTING.md

Lines changed: 106 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,121 @@
11
# Contributing to Shimmy
22

3-
Thank you for your interest in Shimmy! ���
3+
Thanks for your interest in contributing to Shimmy!
44

5-
## Open Source, Not Open Contribution
5+
## 🚨 IMPORTANT: Maintainer-Only Pull Requests
66

7-
Shimmy is **open source** but **not open contribution**.
7+
**Pull requests are restricted to approved maintainers only.** Unsolicited PRs will be declined. To contribute code, you must first apply for maintainer status by emailing michaelallenkuykendall@gmail.com.
88

9-
- The code is freely available under the MIT license
10-
- You can fork, modify, use, and learn from it without restriction
11-
- **Pull requests are not accepted by default**
12-
- All architectural, roadmap, and merge decisions are made by the project maintainer
13-
14-
This model keeps the project coherent, maintains clear ownership, and ensures consistent quality. It's the same approach used by SQLite and many infrastructure projects.
9+
**Non-maintainers can contribute by:**
10+
- Opening issues for bugs or feature requests
11+
- Participating in GitHub Discussions
12+
- Providing feedback and testing
1513

1614
## How to Contribute
17-
18-
If you believe you can contribute meaningfully to Shimmy:
19-
20-
1. **Email the maintainer first**: [michaelallenkuykendall@gmail.com](mailto:michaelallenkuykendall@gmail.com)
21-
2. Describe your background and proposed contribution
22-
3. If there is alignment, a scoped collaboration may be discussed privately
23-
4. Only after discussion will PRs be considered
24-
25-
**Unsolicited PRs will be closed without merge.** This isn't personal — it's how this project operates.
26-
27-
## What We Welcome (via email first)
28-
29-
- Bug reports with detailed reproduction steps (Issues are fine)
30-
- Security vulnerability reports (please email directly)
31-
- Documentation improvements (discuss first)
32-
- Platform-specific bug fixes (discuss first)
33-
34-
## What We Handle Internally
35-
36-
- New features and architectural changes
37-
- API design decisions
38-
- Dependency updates
39-
- Performance optimizations
40-
- Cross-platform compatibility work
41-
42-
## Bug Reports
43-
44-
Bug reports via GitHub Issues are welcome! Please include:
45-
- Platform (Windows/macOS/Linux) and version
46-
- Rust version and Shimmy version
47-
- Minimal reproduction case
48-
- Expected vs actual behavior
49-
- Backend details if relevant (llama.cpp version, model info)
50-
51-
## Code Style (for reference)
52-
53-
If a contribution is discussed and approved:
54-
- Rust 2021 edition with `cargo fmt` and `cargo clippy -- -D warnings`
55-
- Comprehensive error handling using proper Result types
56-
- All public APIs must have documentation with examples
57-
- Tests for new functionality
58-
59-
## Shimmy Philosophy
60-
61-
Any accepted work must align with:
15+
1. Fork the repo and create a branch (`git checkout -b feature/foo`)
16+
2. Make your changes with clear commits and tests if applicable
17+
3. **Sign off your commits** (required): `git commit -s -m "Your message"`
18+
4. Run existing tests to ensure nothing breaks (`cargo test`)
19+
5. Ensure code quality (`cargo fmt && cargo clippy`)
20+
6. Open a Pull Request against `main`
21+
22+
### Developer Certificate of Origin (DCO)
23+
All contributions must be signed off with the Developer Certificate of Origin. This certifies that you have the right to contribute your code. See [DCO.md](DCO.md) for details.
24+
25+
**Quick setup:**
26+
```bash
27+
git config format.signoff true # Auto sign-off all commits
28+
```
29+
30+
## Code Style
31+
- Rust 2021 edition
32+
- Use `cargo fmt` and `cargo clippy` before submitting
33+
- Keep PRs small and focused - large refactors may be rejected
34+
- Add tests for new functionality
35+
- Document public APIs with rustdoc comments
36+
37+
## Contribution Scope
38+
Features should align with the **Shimmy philosophy**:
6239
- **Lightweight**: ~5MB binary target
6340
- **Zero-config**: No setup, just works
6441
- **OpenAI API compatibility**: Drop-in replacement
6542
- **Invisible infrastructure**: Minimal surface area
66-
- **Free forever**: Core features remain free, premium features licensed separately
6743

68-
## Why This Model?
69-
70-
Building reliable LLM infrastructure requires tight architectural control. This ensures:
71-
- Consistent API design and backwards compatibility
72-
- No ownership disputes or governance overhead
73-
- Quality control without committee delays
74-
- Clear direction for the project's future
75-
76-
The code is open. The governance is centralized. This is intentional.
44+
## What We Welcome
45+
- Bug fixes with test cases
46+
- Performance improvements
47+
- API compatibility enhancements
48+
- Documentation improvements
49+
- Platform-specific fixes
50+
- Test coverage improvements
51+
52+
## What We Generally Reject
53+
- Features that bloat binary size significantly
54+
- Complex configuration systems
55+
- UI/dashboard components (use external tools)
56+
- Breaking changes to established APIs
57+
- Features not aligned with OpenAI compatibility
58+
59+
## Review Process
60+
61+
**IMPORTANT: Pull Request Access is Restricted**
62+
- Only approved maintainers may submit pull requests
63+
- All contributions from non-maintainers will be declined
64+
- Code contributions require pre-approval via maintainer application process
65+
66+
**For Approved Maintainers:**
67+
- All PRs require review and approval from the lead maintainer
68+
- Merge authority is reserved to maintain project direction
69+
- We aim to review PRs within 1-2 business days
70+
- Constructive feedback will be provided for rejected PRs
71+
72+
## Development Setup
73+
```bash
74+
# Clone and setup
75+
git clone https://github.com/Michael-A-Kuykendall/shimmy
76+
cd shimmy
77+
cargo build
78+
79+
# Run tests
80+
cargo test
81+
82+
# Check formatting and linting
83+
cargo fmt --check
84+
cargo clippy -- -D warnings
85+
```
86+
87+
## Maintainer Process
88+
89+
### Current Maintainer Structure
90+
- **Lead Maintainer**: Michael A. Kuykendall (@Michael-A-Kuykendall)
91+
- **Additional Maintainers**: Currently none (solo-maintained project)
92+
93+
### Becoming a Maintainer
94+
Currently, Shimmy is maintained by a single maintainer to ensure consistent vision and rapid iteration. **Code contributions require pre-approved maintainer status.**
95+
96+
**To apply for maintainer status:**
97+
98+
1. **Private Application**: Email michaelallenkuykendall@gmail.com with:
99+
- Your GitHub username and relevant experience
100+
- Area of expertise (e.g., performance, platform support, API design)
101+
- Time commitment you can provide
102+
- Why you'd like to help maintain Shimmy
103+
104+
2. **Evaluation Process**: Applications are reviewed when additional maintainers are needed
105+
3. **No Unsolicited PRs**: Code contributions without prior approval will be declined
106+
107+
### Maintainer Responsibilities
108+
When additional maintainers are added, they will:
109+
- Review and approve pull requests
110+
- Triage and respond to issues
111+
- Maintain code quality standards
112+
- Participate in release planning
113+
- Uphold the Shimmy philosophy and project direction
114+
115+
*Note: The project may remain solo-maintained until contribution volume requires additional help.*
77116

78117
## Recognition
118+
Contributors are acknowledged in `AUTHORS.md` after a merged PR.
79119

80-
Helpful bug reports and community members are acknowledged in release notes.
81-
If email collaboration leads to merged work, attribution will be given appropriately.
82-
83-
---
84-
85-
**Maintainer**: Michael A. Kuykendall
120+
## Questions?
121+
Open a GitHub Discussion or ping @Michael-A-Kuykendall in your PR.

0 commit comments

Comments
 (0)