Skip to content

Commit 3bd7061

Browse files
committed
Version Bump, Contributors update
1 parent 128b8e2 commit 3bd7061

File tree

3 files changed

+96
-42
lines changed

3 files changed

+96
-42
lines changed

contributors.md

Lines changed: 78 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,101 @@
11
## Contributions ##
22

3-
There's a lot of work that can be done.
3+
If you want to contribute, you are more than welcome to do so.
44

5-
From most important to least important:
5+
Here are a list of some of the things that would be really nice to see
6+
contributions for, though you may also contribute in other ways.
67

78
### Message Extensions ###
89

9-
There's a lot of numerics and commands. Please add extensions, even partially complete
10-
extensions, for any numerics you deal with.
10+
There's a lot of numerics and commands. Please add extensions, even partially
11+
complete extensions, for any numerics you want to deal with. Pull requests for
12+
these can even be taken without an accompanying test, though those with
13+
tests are even better.
1114

1215
### IrcOutputSocket Commands ###
1316

14-
Tennu is missing most of the commands from IRC. If you want to add them, please
17+
Tennu is missing many commands from IRC. If you want to add them, please
1518
do so. Just make sure to also add the method wrapper to the client class.
1619

17-
### Tests ###
20+
Another feature that is missing is the returning of a Promise when doing
21+
things. For instance, Client.join(chan) should return a Promise that
22+
succeeds when the channel is joined with the topic, names list, and
23+
channel name in the success object with an error case with the numeric
24+
that gives the reason for failure.
1825

19-
Either help port tests to Mocha, or add new tests.
26+
### Tests ###
2027

21-
(If you do port tests to Mocha, add Mocha to the devDependencies and place them in /test)
28+
Not everything is tested. If you add a feature, or change something, please
29+
attach to your pull request some tests that show your code is working. Or
30+
if you find a bug, a test case that shows the bug in action would be great.
2231

2332
### Built In Modules ###
2433

25-
Please feel free to write the Server, User, and/or Channel modules.
34+
Please feel free to write and extend the Server, User, and/or Channel modules.
35+
36+
They should really be the meat of the "IRC" framework, but like most
37+
parts of this framework that are IRC specific, they have been neglected. :(
38+
39+
## Building ##
40+
41+
Tennu is compiled from Sweet.js to ECMAScript. Sweet.js is a superset of
42+
ECMAScript 5 that adds macros. If you don't want to use macros, just write
43+
vanilla JavaScript.
44+
45+
All the source files are located under `/src`.
46+
47+
Just write `npm run build` and the project will be built, usually within
48+
five seconds.
49+
50+
Note that `npm test` will first rebuild the project before running the
51+
tests, so if you are testing, there's no need to run build.
52+
53+
## On Versioning ##
54+
55+
Tennu follows SemVer like all npm packages should.
56+
57+
While the version is greater than 1.0.0, I, Havvy, don't actually consider
58+
this feature complete, but I'm not working on it as much, and it is stable.
59+
60+
The version number shouldn't really matter that much. Documentation, other
61+
than the changelog, will always focus on the latest version. Should a
62+
major rewrite of Tennu happen, it'll most probably be in another language
63+
(such as Elixir).
64+
65+
Thus, when making a backards incompatible change, if it's possible to
66+
deprecate, deprecate the functionality instead, and then it can be removed
67+
two major releases later. If it's not possible to deprecate, the change
68+
may be put on hold.
69+
70+
That said, do *not* change the version number yourself. Just give a
71+
heads up as to what you are doing so the version can be changed properly.
72+
73+
## Format & Style ##
74+
75+
Indent with four spaces. Not two spaces. Not tabs.
2676

27-
### 1.0.0 Release Checklist ###
77+
Define functions (both expressions and statements) like this:
2878

29-
Getting closer to 1.0.0 would be nice.
79+
```javascript
80+
function fnName (arg, list) {
81+
// body
82+
}
83+
```
3084

31-
### ChunkedIrcMessageHandler ###
85+
Spaces go before and afer binary operators. For example: `2 + 2`, `(4 + 3) * 2`
3286

33-
Listens to the IrcMessageHandler, it chunks together list-like replies such
34-
as whois and isupport numerics. For messages that aren't chunked, just pass
35-
them through normally.
87+
Do not use `++` and `--` operators. Use `+= 1` and `-= 1` instead. If
88+
this means adding another statement, so be it.
3689

37-
Not a goal for 1.0.0 though.
90+
Tennu is built using Sweet.js, so we have access to macros. Where appropriate,
91+
you may add your own inline macros at the top of a file. You may also use
92+
macro packages for ES6 syntactic sugar, just one hasn't been added yet.
93+
Likewise, you can add in a macro package to remove parenthesis around block
94+
predicates. That just hasn't been added yet.
3895

39-
## Format ##
96+
## Documentation ##
4097

41-
* Four space indents
42-
* Favor factories over constuctors. Where you do use a constructor, make
43-
sure it works without being called in a `new` context.
44-
* `function fnName (arg, list) {`
45-
* Spaces around binary operators. Ex: `2 + 2`, `(4 + 3) * 2`.
46-
* No harmony features.
98+
[https://tennu.github.io](Tennu's documentation) should be updated as
99+
necessary. Send a PR to the documentation repo, and it'll be accepted
100+
without question most of the time. There's also no real need to be clean
101+
about your commits to the documentation repo.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tennu",
3-
"version": "0.9.7",
3+
"version": "1.0.0",
44
"description": "Tennu - Modular IRC Bot Framework for Node.js",
55
"maintainers": [
66
{

readme.md

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ myClient.use(['admin', 'last-seen']);
4040
myClient.connect();
4141
```
4242

43+
See [https://tennu.github.io/](tennu.github.io) for the full documentation.
44+
4345
----------
4446

4547
## Configuration ##
@@ -84,7 +86,7 @@ These functions will always be called as constructors (with `new`).
8486

8587
### Logging ###
8688

87-
Of these, the only one you will probably care about is Logger. The object
89+
The only one you will probably care about is Logger. The object
8890
returned by the Logger function must implement the following methods:
8991

9092
`debug, info, notice, warn, error, crit, alert, emerg`
@@ -94,11 +96,19 @@ emitters may use crit through emerg.
9496

9597
-------------
9698

99+
## Version ##
100+
101+
Tennu follows SemVer. Tennu will have breaking changes in the future, and
102+
many updates will be breaking updates, so expect to see the major version
103+
go up to pretty high numbers. The alternative was to have verisons 0.16.x
104+
at some point, and that's just silly. Tennu is usable today, might as well
105+
call it post-1.0, even if it's not 'feature complete'.
106+
97107
## Event Handling ##
98108

99-
Note: Tennu uses a custom event handler. Listeners are placed at the end of the event queue,
100-
insead of happening right away. Errors are currently logged to console, but otherwise
101-
swallowed.
109+
Note: Tennu uses a custom event handler. Listeners are placed at the end of the
110+
node event queue (with setImmediate), insead of happening in the same turn.
111+
Errors are currently logged to console, but otherwise swallowed.
102112

103113
### Respond Functionality ###
104114

@@ -266,15 +276,13 @@ If you find yourself using raw(), please file an issue.
266276

267277
### rawf(format, args...) ###
268278

269-
[0.7.1]
270-
271279
As raw(message), but the arguments are passed through util.format() first.
272280

273281
--------
274282

275283
## Plugin System ##
276284

277-
Tennu has its own plugin system.
285+
Tennu has its own (optional to use) plugin system.
278286
You can read about it at https://github.com/havvy/tennu-plugins/.
279287

280288
You may access the plugin system's methods via the Client.plugins property
@@ -299,39 +307,30 @@ Only the help plugin is currently fully implemented.
299307

300308
#### help ####
301309

302-
[0.6.0+]
303-
304-
Sets the command `!help`.
310+
Handles the two commands "!commands" and "!help".
305311

306312
See [Help Module Documentation](https://tennu.github.io/plugins/help).
307313

308-
[0.8.2+]
309-
310314
If you don't want this functionality, set `disable-help` to `true` in your configuration object.
311315

312316
#### channels ####
313317

314-
Unimplemented.
318+
Unimplemented. Currently being worked on by Dan_Ugore.
315319

316320
#### users ####
317321

318-
[0.7.3+]
319-
320322
This plugin has a single method exported: isIdentifedAs(nickname, nickname_identified, callback)
321323

322324
See [User Module Documentation](https://tennu.github.io/plugins/user).
323325

324326
#### server ####
325327

326-
[0.9.x+]
327-
328328
Information about the server. For now, the only thing this plugin offers is a
329329
capabilities map listing the information from the 005 raw numeric.
330330

331331
See [Server Plugin Documentation](https://tennu.github.io/plugins/server).
332332

333333
```javascript
334-
335334
var server = tennu.use("server");
336335
console.log(util.inspect(server.capabilities));
337336
```

0 commit comments

Comments
 (0)