froggy-docs 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MILESTONE.md +145 -0
- package/package.json +2 -2
package/MILESTONE.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# 🐸 FroggyDocs Milestone
|
|
2
|
+
|
|
3
|
+
## Date: April 28, 2026
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🎯 Project Overview
|
|
8
|
+
|
|
9
|
+
**FroggyDocs** - Auto-generate API documentation from code annotations. Works with any programming language.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## ✅ Completed Features
|
|
14
|
+
|
|
15
|
+
### Core Parser Engine
|
|
16
|
+
- [x] Parse `@api` annotation for endpoint definitions
|
|
17
|
+
- [x] Parse `@desc` for descriptions
|
|
18
|
+
- [x] Parse `@tag` for grouping/categories
|
|
19
|
+
- [x] Parse `@body` for request body fields
|
|
20
|
+
- [x] Parse `@body-json` for inline JSON
|
|
21
|
+
- [x] Parse `@body-file` for external JSON files
|
|
22
|
+
- [x] Parse `@auth` for authentication requirements
|
|
23
|
+
|
|
24
|
+
### Language Support
|
|
25
|
+
- [x] JavaScript/TypeScript (.js, .ts, .jsx, .tsx)
|
|
26
|
+
- [x] Python (.py)
|
|
27
|
+
- [x] Ruby (.rb)
|
|
28
|
+
- [x] Go (.go)
|
|
29
|
+
- [x] Rust (.rs)
|
|
30
|
+
- [x] Dart (.dart)
|
|
31
|
+
- [x] Java/Kotlin (.java, .kt)
|
|
32
|
+
- [x] PHP (.php)
|
|
33
|
+
- [x] C# (.cs)
|
|
34
|
+
- [x] C/C++ (.c, .cpp, .h)
|
|
35
|
+
|
|
36
|
+
### Web Server
|
|
37
|
+
- [x] Built-in HTTP server with Shelf
|
|
38
|
+
- [x] Live documentation at `/`
|
|
39
|
+
- [x] Serves froggy_docs.json at `/froggy_docs.json`
|
|
40
|
+
- [x] Static file serving (CSS, JS)
|
|
41
|
+
- [x] Mock API endpoints for Try It Out testing
|
|
42
|
+
|
|
43
|
+
### Frontend UI
|
|
44
|
+
- [x] Sidebar with tag groups (collapsible)
|
|
45
|
+
- [x] Search bar (search by tag name or endpoint path)
|
|
46
|
+
- [x] Theme toggle (light/dark mode)
|
|
47
|
+
- [x] Authorization header input
|
|
48
|
+
- [x] Request body form with input fields
|
|
49
|
+
- [x] "Try It Out" button with live API calls
|
|
50
|
+
- [x] Response display on page
|
|
51
|
+
- [x] Method badges (color-coded GET/POST/PUT/DELETE)
|
|
52
|
+
|
|
53
|
+
### Deployment
|
|
54
|
+
- [x] Standalone executable (dart compile exe)
|
|
55
|
+
- [x] package.json for npm publishing
|
|
56
|
+
- [x] install.sh script
|
|
57
|
+
- [x] Dockerfile
|
|
58
|
+
- [x] .froggyrc.example config
|
|
59
|
+
- [x] GitHub Actions CI workflow
|
|
60
|
+
- [x] Published to npm
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 📂 Project Structure
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
froggy_docs/
|
|
68
|
+
├── bin/froggy_docs.dart # CLI entrypoint
|
|
69
|
+
├── lib/
|
|
70
|
+
│ └── src/
|
|
71
|
+
│ ├── parser_engine.dart # Annotation parser
|
|
72
|
+
│ ├── watcher_engine.dart # File watcher
|
|
73
|
+
│ └── web_server.dart # HTTP server + mock API
|
|
74
|
+
├── frontend/
|
|
75
|
+
│ ├── lib/app.dart # Jaspr UI
|
|
76
|
+
│ └── web/styles.css # Styling
|
|
77
|
+
├── docs/
|
|
78
|
+
│ └── annotations.md # Full annotation guide
|
|
79
|
+
├── package.json # npm package config
|
|
80
|
+
├── package.js # npm wrapper
|
|
81
|
+
├── install.sh # Shell installer
|
|
82
|
+
├── Dockerfile # Docker image
|
|
83
|
+
├── .froggyrc.example # Config example
|
|
84
|
+
└── README.md # Documentation
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 🚀 Usage
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Via npm
|
|
93
|
+
npm install -g froggy-docs
|
|
94
|
+
froggy-docs serve
|
|
95
|
+
|
|
96
|
+
# Via Docker
|
|
97
|
+
docker run -p 8080:8080 froggy-docs
|
|
98
|
+
|
|
99
|
+
# Via binary
|
|
100
|
+
./froggy-docs serve -p 8080
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 📝 Annotation Syntax
|
|
106
|
+
|
|
107
|
+
```javascript
|
|
108
|
+
// @api POST /api/users
|
|
109
|
+
// @tag Users
|
|
110
|
+
// @tag Auth
|
|
111
|
+
// @desc Create a new user
|
|
112
|
+
// @body name string User's full name
|
|
113
|
+
// @body email string User's email
|
|
114
|
+
// @auth
|
|
115
|
+
app.post('/api/users', handler);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 🔄 What's Next (Future Ideas)
|
|
121
|
+
|
|
122
|
+
- [ ] VS Code Extension
|
|
123
|
+
- [ ] GitHub Template repository
|
|
124
|
+
- [ ] Support for response examples
|
|
125
|
+
- [ ] Rate limiting documentation
|
|
126
|
+
- [ ] Multi-language search
|
|
127
|
+
- [ ] Custom themes
|
|
128
|
+
- [ ] Export to Markdown/HTML static files
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 🙏 Acknowledgments
|
|
133
|
+
|
|
134
|
+
Built with:
|
|
135
|
+
- [Shelf](https://pub.dev/packages/shelf) - HTTP server
|
|
136
|
+
- [Watcher](https://pub.dev/packages/watcher) - File watching
|
|
137
|
+
- [Jaspr](https://pub.dev/packages/jaspr) - Web framework
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
**Status: ✅ Ready for Production Use**
|
|
142
|
+
|
|
143
|
+
npm: `npm install -g froggy-docs`
|
|
144
|
+
Docker: `docker run -p 8080:8080 froggy-docs`
|
|
145
|
+
GitHub: [Releases](https://github.com/yourusername/froggy-docs/releases)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "froggy-docs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Auto-generate API documentation from code annotations. Works with any programming language.",
|
|
5
5
|
"author": "Kaung Mrat Thu <kaungmyatthuu.dev@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/Kaung-Myat/froggydocs",
|
|
@@ -37,6 +37,6 @@
|
|
|
37
37
|
"registry": "https://registry.npmjs.org"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"
|
|
40
|
+
"froggy-docs": "^1.0.0"
|
|
41
41
|
}
|
|
42
42
|
}
|