sekretone / hack-n-slack Goto Github PK
View Code? Open in Web Editor NEWText focused RPG on Discord
Text focused RPG on Discord
Add initial test suites.
๐ญ Test Now not Later
It is a misconception that tests slow down development. Contrary, they accelerate it. Incremental development should pair with incremental testing. Even a simple proof of concept should be able to have simple tests (to avoid simple bugs).
Enable branch protection of master, even for admins.
Change control and ensure quality gates are met through a Pull Request. Enforce intent scoping of pull requests. A pull request template adds a norm for consistency for writing / reading, and expectations.
One should enforce such measures even on a solo project of any reasonable scale. Pushing scattered commits onto master.
I want to create a simple map for 'player party' to navigate.
ye start
initializes map (or reinitialize)
create a party entity to represent the players
map of 10 rooms
rooms are Cartesian (north south east west) connected.
bot responds with a crude text map. An exposed section will show viable transitions
โโ โโ
โ
โโโโโ
map navigates by commands ye go forward/back/left/right
Configure issue templates to choose from.
Norm for describing intents so relevant details are captured. Expedites formatting. Pattern set for future automatically created issues.
The best tools are also teaching tools. Formally creating issues for even 'basic' config setup can help future developers, as personal norms may differ. Can also be used by the self to quickly audit and compare tooling.
Establish terms so similar issue elements are described the same way.
ย | enhancement | component | technical | workflow | bug |
---|---|---|---|---|---|
Purpose | โ๏ธ | โ๏ธ | โ๏ธ | ย | |
Design | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | ย |
Expected | ย | ย | ย | ย | โ๏ธ |
Actual | ย | ย | ย | ย | โ๏ธ |
Do | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | ย |
Don't | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | ย |
Purpose
Design
Expected
Actual
Do
Don't
enhancement
templatecomponent
templatetechnical
templateworkflow
templatebug
templateConfigure Pull request template
Normalize pull request format. Could make compiling release notes systematic.
consider the default format: #10 (comment)
Should be a simple enough process.
release
?Setup automatic analysis to cloudsonar.io for coverage and quality.
Systematically catch and resolve quality, bugs and security issues. Preemptive measures to reduce tech debt and enforce consistent behaviors.
Systematic quality gates establish a stable base. Testing and quality is a habit formed at the beginning, and not an afterthought.
Add an interpreter to use synonym detection on the commands.
?
to note as a valid token@ye()
ye ?go ?forward
ye ?attack (entity)
Add a simple room class to store the context of the scene.
{
entities: [
{ type: "creature" },
{ type: "prop" },
]
}
Add a persistence mechanism
Games should save and serialize. If the bot is stopped the game should not be lost.
This would also be necessary to save and switch the active game being hosted by the bot in a channel.
Considering a short term solution using node's fs
to just save and write json.
Game data I think needs to be keyed off of server.id
, while the active game is tracked under server.channel
. I think the bot should maintain a single session at a time, but if a game is saved and stopped you can then switch which channel it's started back up in.
ye quit
ye start
Party contains the player information.
class Party{
name: 'string'
characters: [
{
name: 'string'
}
]
get players();
}
Create projects to track progress and group elements.
โ I am unsure if Milestones are better than projects for certain feature trackings.
Organize work in a searchable way. Establish scope of effort and its significance.
Often elements like workflow management, tech debt cleanup, etc do not get the attention they need, nor recognition when accomplished despite how essential it is.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.